Magento 2 创建 Widget

Widget是一个更好的工具,可以将内容插入或编辑到CMS页面块或页面中。

什么是小部件?

小部件是Magento 2配置中的强大功能。作为商店管理员,您可以利用小部件来改善生动界面下的店面。小部件允许显示静态信息或动态内容营销。我想说明一些Magento小部件的实现,例如:

  • 动态产品数据
  • 最近查看的产品的动态列表
  • 促销横幅
  • 交互式导航元素和动作块
  • 插入内容页面的动态Flash元素

如何在Magento 2中创建小部件?

在Magento 2中创建小部件的概述

  • 第1步:声明小部件
  • 第2步:创建窗口小部件模板文件
  • 第3步:创建小部件Block类
  • 第4步:刷新缓存和帖子

第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="Mageplaza\HelloWorld\Block\Widget\Posts" id="mageplaza_helloworld_posts">
        <label>Blog Posts</label>
        <description>Posts</description>
        <parameters>
            <parameter name="posts" sort_order="10" visible="true" xsi:type="text">
                <label>Custom Posts Label</label>
            </parameter>
        </parameters>
    </widget>
</widgets>

第2步:创建窗口小部件模板文件

文件: view/frontend/templates/widget/posts.phtml

<?php if($block->getData(‘posts‘)): ?>
    <h2 class=‘posts‘><?php echo $block->getData(‘posts‘); ?></h2>
    <p>This is sample widget. Perform your code here.</p>
<?php endif; ?>

第3步:创建小部件Block类

创建块文件: Block/Widget/Posts.php

<?php
namespace Mageplaza\HelloWorld\Block\Widget;

use Magento\Framework\View\Element\Template;
use Magento\Widget\Block\BlockInterface; 

class Posts extends Template implements BlockInterface {

    protected $_template = "widget/posts.phtml";

}

第4步:刷新缓存和帖子

去 admin panel > Content > Pages > Home page > Edit

Content选项卡中,单击Insert Widget图标

您将看到Blog posts小部件列表

插入成功。

原文地址:https://www.cnblogs.com/q1104460935/p/9301880.html

时间: 2024-08-05 23:12:05

Magento 2 创建 Widget的相关文章

创建 widget 窗口小组件

随着android的手机屏幕越来越大,为了丰富屏幕内容 app widget(窗口小组件)被越来越多的应用所使用.app widget 有什么好处呢?它可以在不启动应用程序的情况下,让用户在屏幕上有一块交互窗口和程序入口点. 这是我手机自带的天气预报app widget效果. 为了创建一个应用程序的widget我们需要创建三个组件: (1)给widget创建一个布局资源. res/layout/nview.xml <?xml version="1.0" encoding=&quo

Yii2 Day 6: 创建Widget

Yii1的项目中,积累了大量小部件,为了在Yii2中使用,需要做一些必要的修改. Assets管理 在Yii1的时候,Assets的管理是通过文件方式,通常的做法是在Wiget文件夹中建立一个assets的文件夹,把js,css, 图像,字体等放到这个文件夹下,然后通过下面的代码发布到web目录下: $assets = dirname(__FILE__) . '/assets'; $baseUrl = Yii::app()->assetManager->publish($assets); Yi

Android开发之创建App Wiget和更新Widget内容

App WidgetsApp Widgets are miniature application views that can be embedded in other applications (such as the Home screen) and receive periodic updates. These views are referred to as Widgets in the user interface, and you can publish one with an Ap

Android简易实战教程--第十四话《模仿金山助手创建桌面Widget小部件》

打开谷歌api,对widget小部件做如下说明: App Widgets are miniature application views that can be embedded in otherapplications(such as the Home screen) and receive periodic updates. These views arereferred to as Widgets in the user interface,and you can publish one

深入理解Magento - 第六章 - 高级Magento模型

我们讲过Magento有两种模型,简单模型和EAV(Entity Attribute Value)模型.上一章我们讲过所有的Magento模型都是继承自Mage_Core_Model_Abstract / Varien_Object.简单模型和EAV模型的区别在于资源模型(Model Resource).虽然所有的资源模型都最终继承“Mage_Core_Model_Resrouce_Abstract”,但是简单模型是直接继承“Mage_Core_Model_Mysql4_Abstract”,而E

Magento1.9 Images in Magento widgets

参考文章:http://stackoverflow.com/questions/5077755/images-in-magento-widgets 在创建widget时如果上传文件会发现文件无法上传,因为本页面默认的form不带 enctype= "multipart/form-data"; 我的解决办法就是引用magento自带的一个上传图片的编辑器: 1.在myspace/mymodule/etc/widget.xml中添加新的node: <image translate=&

深入理解Magento – 第六章 – 高级Magento模型(转)

深入理解Magento 作者:Alan Storm 翻译:Hailong Zhang 第六章 – 高级Magento模型 我们讲过Magento有两种模型,简单模型和EAV(Entity Attribute Value)模型.上一章我们讲过所有的Magento模型都是继承自Mage_Core_Model_Abstract / Varien_Object.简单模型和EAV模型的区别在于资源模型(Model Resource).虽然所有的资源模型都最终继承“Mage_Core_Model_Resro

OFBiz进阶之HelloWorld(一)创建热部署模块

创建热部署模块 参考文档 https://cwiki.apache.org/confluence/display/OFBIZ/OFBiz+Tutorial+-+A+Beginners+Development+Guide 1 在目录hot-deploy下创建目录practice(即为要创建的模块名称) 2 在目录hot-deploy/practice下创建文件ofbiz-component.xml 1 <?xml version="1.0" encoding="UTF-8

ThinkPHP 3.2.3 Widget 扩展的使用

ThinkPHP3.2.3 手册中 Widget 扩展的地址是: http://www.kancloud.cn/manual/thinkphp/1862 Widget 扩展一般用于页面组件的扩展,和自定义标签具有相同的功能. 例如:在项目首页(位于 Home 应用 ./Application/Home)的某个栏目如[最热新闻],可以通过 Widget 扩展进行数据调用. 首先在 ./Application/Home 下创建 Widget 目录,在该目录中创建 HotWidget.class.ph