Magento 2에서 위젯을 개인화할 수 있습니다.
12889 단어 magento2phpbraziliandevstutorial
상황에 맞는
어떤 위젯이 있습니까?
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 페이지에서 사용할 수 있습니다.
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étodo
getData()
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.
Reference
이 문제에 관하여(Magento 2에서 위젯을 개인화할 수 있습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/santanaluc94/como-criar-um-widget-personalizavel-no-magento-2-2jk8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)