Magento 2에서 위젯을 개인화할 수 있습니다.

상황에 맞는



어떤 위젯이 있습니까?



Widgets são utilizados para adicionar conteúdos dinâmicos ou estáticos às páginas da loja 또는 blocos de conteúdo do CMS. 구성 요소를 재사용할 수 있는 위젯은 Magento 2의 CMS 페이지에서 사용할 수 있습니다.
  • CMS 페이지 링크;
  • Bloco estático CMS;
  • Link da Categoria do Catálogo;
  • Lista de Novos Produtos do Catálogo;
  • Link do produto do catálogo;
  • Lista de produtos do catálogo;
  • Pedidos e Devoluções;
  • 최신 비교 제품;
  • 최신 제품입니다.



  • Código para criação do 위젯



    필요한 추가 모듈 ao 의존 의존 모듈Magento_Widget 아르키보 없음\{Vendor}\{Module}\etc\module.xml .

    <?xml version="1.0"?>
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
        <module name="{Vendor}_{Module}">
            <sequence>
                ...
                <module name="Magento_Widget" />
            </sequence>
        </module>
    </config>
    


    위젯.xml



    Este arquivo deve estar localizado na 파스타\{Vendor}\{Module}\etc\widget.xml는 관리자가 할 수 있는 문제가 없는 등록 모델을 모델로 선언했습니다.

    O nó <widget> declara um novo widget e deve ser filho do nó <widgets> , e pode ter um ou mais nós <parameter> , que는 위젯을 사용할 필요가 없다는 점을 나타냅니다.

    <?xml version="1.0"?>
    <widgets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Widget:etc/widget.xsd">
        <widget class="{Vendor}\{Module}\Block\Widget\{WidgetClassName}" id="{widget_name}">
            <label>{Widget Label}</label>
            <description>{Widget Desrcription}</description>
            <parameters>
                <parameter name="{parameter_name}" xsi:type="text" required="{true/false}" visible="{true/false}" sort_order="{integer}">
                    <label>{Parameter Label}</label>
                </parameter>
    
                <parameter name="{parameter_name}" xsi:type="select" required="{true/false}" visible="{true/false}" sort_order="{integer}">
                    <label>{Parameter Label}</label>
                    <options>
                        <option name="{option_name}" value="{option_value}">
                            <label>{Option Label}</label>
                        </option>
                    </options>
                </parameter>
    
                <parameter name="{parameter_name}" xsi:type="multiselect" required="{true/false}" visible="{true/false}" sort_order="{integer}">
                    <label>{Parameter Label}</label>
                    <options>
                        <option name="{option_name}" value="{option_value}">
                            <label>{Option Label}</label>
                        </option>
                    </options>
                </parameter>
    
                <parameter name="{parameter_name}" xsi:type="multiselect" source_model="{Vendor}\{Module}\Model\{Directory}\{ClassName}" required="{true/false}" visible="{true/false}" sort_order="{integer}">
                    <label>{Parameter Label}</label>
                </parameter>
    
                <parameter name="{parameter_name}" xsi:type="block" required="{true/false}" visible="{true/false}" sort_order="{integer}">
                    <label>{Parameter Label}</label>
                    <block class="{Vendor}\{Module}\Block\{Directory}\Widget\{ClassName}">
                        <data>
                            <item name="button" xsi:type="array">
                                <item name="open" xsi:type="string">Select Product...</item>
                            </item>
                        </data>
                    </block>
                    <depends>
                        <parameter name="display_mode" value="fixed" />
                    </depends>
                </parameter>
            </parameters>
    
            <containers>
                ...
            </containers>
        </widget>
    </widgets>
    



    노스
    설명
    티포


    상표
    Legenda para identificar o nome do widget (Obrigatório).


    설명
    Contém uma explicação concisa da finalidade do widget (Obrigatório).


    매개변수
    Lista de opções do widget.
    물체

    컨테이너
    Lista de contêineres de layout, onde o widget pode ser injetado.
    물체


    블로코 도 위젯



    Um arquivo Block deve conter toda a logica de visualização necessária, é altamente recomendável não ter conter conter nenhum tipo de HTML ou CSS. Cada Bloco는 클래스 확장기\Magento\Framework\View\Element\Template와 인터페이스\Magento\Widget\Block\BlockInterface를 구현하는 위젯 개발을 수행합니다.

    Nesta classe é obrigatório a definição da variável $_template para indicar qual o template que será renderizado pelo frontend.

    <?php
    
    namespace {Vendor}\{Module}\Block\Widget;
    
    use Magento\Framework\View\Element\Template;
    use Magento\Widget\Block\BlockInterface;
    
    class {WidgetClassName} extends Template implements BlockInterface
    {
        protected $_template = "widget/{file_name}.phtml";
    
        public function {methodName}() {
            // Widget code here
        }
    }
    


    Para saber mais sobre Blocos e como funciona a exibição deles basta acessar o post "".

    주형



    Arquivos de template devem seguir a estrutura de 파스타\{Vendor}\{Module}\view\{area}\templates\{paths}\{file_name}.phtml . No arquivo de template podemos usar a variável $block para acessar os métodos públicos que a classe Block disponibiliza.

    확장된 phtml은 확장된 HTML로 확장된 문서 형식으로, HTML(자격 없는 템플릿에 대한 설명)에는 PHP(클래식 블록 생성)가 포함되어 있습니다.

    Para acessar o valor de algum parâmetro específico basta passar o nome do paraâmetro dentro do métodogetData() através da variável$block .

    <?php
    /**
     * @var \{Vendor}\{Module}\Block\Widget\{WidgetClassName} $block 
    **/
    
    $block->{methodName}();
    
    $parameterValue = $block->getData('{parameter_name}');
    ?>
    



    피날리잔도



    Valores entre chaves ({test}) devem ser alterados na implementação do código.



    대안으로서의 하빌리탄도



    o comando PHP para limpar todos os caches de armazenamento em cache do processos를 실행합니다.

    php bin/magento cache:clean
    php bin/magento flush
    


    Diretórios e Arquivos



    Segue a lista de diretórios e arquivos que devem ser criados.

    좋은 웹페이지 즐겨찾기