link-in - רשומות קוד

חפש את הקוד שלך >

widget

שימוש:

מאפשר להכניס לאזורים באתר אזורים פונקציונאלים להצגת קוד .
That are used to add dynamic or static content to store’s pages

שימוש בויגטים קיימים:

  • CMS Page Link
  • CMS Static Block
  • Catalog Category Link
  • Catalog New Products List
  • Catalog Product Link
  • Catalog Products List
  • Orders and Returns
  • Recently Compared Products
  • Recently Viewed Products

הכנסת קבצים:

VANDOR/MODULE/Block/Widget/Example.php

<?php
namespace LessonBackend\Widgets\Block\Widget;
class Example extends \Magento\Framework\View\Element\Text implements
    \Magento\Widget\Block\BlockInterface
{
    protected function _beforeToHtml()
    {
        $this->setText(sprintf(
            'example widget: var1=%s, var2=%s',
            $this->getData('var1'),
            $this->getData('var2')
        ));
        return parent::_beforeToHtml();
    }
}

VANDOR/MODULE/etc/widget.xml

<widgets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Widget:etc/widget.xsd">
    <widget id="anagal_widget"
            class="LessonBackend\Widgets\Block\Widget\Example"
            placeholder_image="Magento_Cms::images/widget_block.png">
        <label translate="true">Anagal Widget</label>
        <description translate="true">This is Custom Widget</description>
        <parameters>
            <parameter name="var1" xsi:type="select" visible="true"
                       source_model="Magento\Config\Model\Config\Source\Yesno">
                <label translate="true">Yes/No var1</label>
            </parameter>
            <parameter name="var2" xsi:type="text" required="true"
                       visible="true">
                <label translate="true">Number var2</label>
                <depends>
                    <parameter name="var1" value="1"/>
                </depends>
                <value>5</value>
            </parameter>
        </parameters>
    </widget>
</widgets>

widget id – חייב להיות יחודי

קלאסס מגדיר : חשוב לרשום את הקלאסס הנכון 

 class="LessonBackend\Widgets\Block\Widget\Example"

מדריך : https://devdocs.magento.com/guides/v2.4/ext-best-practices/tutorials/custom-widget.html