浏览文章

文章信息

Magento2 创建自定义widget部件|create custom widget 13975

部件的作用不言而喻,用处就是多处使用,且特别灵活。

1、创建部件etc/widget.xml

<?xml version="1.0" ?><widgets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:helloworld:Magento_Widget:etc/widget.xsd">
    <widget class="Aiweline\ProductHowToStyle\Block\Widget\TopStyles" id="aiweline_how_to_style_top_styles">
        <label>Aiweline ProductHowToStyle:热门搭配推荐</label>
        <description>热门穿搭推荐,How To Style 中置顶的网红穿搭图片。</description>
        <parameters>
            <parameter name="no_top_rand_select" sort_order="10" required="true" visible="true" xsi:type="select" source_model="Magento\Config\Model\Config\Source\Yesno">
                <label>没有置顶时随机选择四个</label>
            </parameter>
            <parameter name="top_rand_select" sort_order="10" required="true" visible="true" xsi:type="select" source_model="Magento\Config\Model\Config\Source\Yesno">
                <label>从置顶中随机选择图片</label>
            </parameter>
        </parameters>
    </widget>
</widgets>

2、创建Block类: 示例:Aiweline\ProductHowToStyle\Block\Widget\TopStyles

<?php
/**
 * @Author       秋枫雁飞
 * @Email        aiweline@qq.com/1714255949@qq.com
 * @Desc         文件由Aiweline(秋枫雁飞)编写,若有升级需要
 *               建议不要随意修改文件源码。
 **/
namespace Aiweline\ProductHowToStyle\Block\Widget;
use Magento\Framework\View\Element\Template;
use Magento\Widget\Block\BlockInterface;
class TopStyles extends Template implements BlockInterface
{
    protected $_template = 'widget/top-styles.html';
    function getTopStyles()
    {
        return 'TopStyles';
    }
}

3、创建Block指定的模板文件:Aiweline/ProductHowToStyle/view/frontend/templates/widget/top-styles.html

<?php
/**@var \Aiweline\ProductHowToStyle\Block\Widget\TopStyles $block*/
if($block->getData('aiweline_how_to_style_top_styles')): ?>
    <h2 class='posts'><?php echo $block->getTopStyles(); ?></h2
<?php endif; ?>


至此创建完毕!喜欢的注册发帖支持!

原创