2012-02-10 93 views
3

此问题似乎多次被询问,但未回答。将Magento小工具参数添加到“添加小工具实例”编辑器

我创建了一个将属性值添加到可配置产品的小部件。需要说明的是,如果可配置产品是由多个基于属性大小和颜色的简单产品(相关产品)组成的,那么我希望向客户展示此可配置产品的“可用”尺寸和颜色。而且,我想以编程的方式进行,而不仅仅是在描述中放置尺寸和颜色列表,因为目前并不是所有尺寸和颜色都可用。所以我创建了这个小部件。

现在,我想制作一个更通用的小部件版本,它可以使用任何关联产品的属性。但是,要做到这一点,设置小部件的管理员需要从可用属性列表中选择属性。在将小部件添加到CMS页面时,这实际上可以工作,因为在widget.xml文件中定义的参数允许这样做。

问题是我没有将小部件添加到CMS页面。我将它添加到产品页面。所以我需要在CMS - > Widgets - > Add New Widget Instance editor中使用Widget Instance功能。但是,该编辑器具有前端属性和窗口小部件选项的选项卡。此编辑器的Widget Options选项卡中未显示widget.xml文件中的参数。

那么,有没有一种方法,参数添加到从widget.xml文件中添加窗口小部件实例编辑的Widget的选项标签(如类似:

<widgets> 
    <Widget Options> 
    <parameters> 
     <my_widget_instance_parameter> ... </my_widget_instance_parameter> 
    </parameters> 
    </Widget Options> 
</widget> 

或者是这个东西,需要提高?实际的小部件实例编辑

感谢

回答

4

转到\app\code\core\Mage\Cms\etc\widget.xml,并期待在CMS页面链接窗口小部件的选项:

<cms_page_link type="cms/widget_page_link" translate="name description" module="cms"> 
    <name>CMS Page Link</name> 
    <description>Link to a CMS Page</description> 
    <is_email_compatible>1</is_email_compatible> 
    <parameters> 
     <page_id type="complex" translate="label"> 
      <visible>1</visible> 
      <required>1</required> 
      <label>CMS Page</label> 
      <type>label</type> 
      <helper_block> 
       <type>adminhtml/cms_page_widget_chooser</type> 
       <data> 
        <button translate="open"> 
         <open>Select Page...</open> 
        </button> 
       </data> 
      </helper_block> 
      <sort_order>10</sort_order> 
     </page_id> 
     <anchor_text translate="label description"> 
      <visible>1</visible> 
      <label>Anchor Custom Text</label> 
      <description>If empty, the Page Title will be used</description> 
      <type>text</type> 
     </anchor_text> 
     <title translate="label"> 
      <visible>1</visible> 
      <label>Anchor Custom Title</label> 
      <type>text</type> 
     </title> 
     <template translate="label"> 
      <label>Template</label> 
      <visible>1</visible> 
      <type>select</type> 
      <value>cms/widget/link/link_block.phtml</value> 
      <values> 
       <default translate="label"> 
        <value>cms/widget/link/link_block.phtml</value> 
        <label>CMS Page Link Block Template</label> 
       </default> 
       <link_inline translate="label"> 
        <value>cms/widget/link/link_inline.phtml</value> 
        <label>CMS Page Link Inline Template</label> 
       </link_inline> 
      </values> 
     </template> 
    </parameters> 
</cms_page_link> 

正如你所看到的,参数可以有简单的类型(文本,请选择)和更复杂的类型与助手块:这里

  <helper_block> 
       <type>adminhtml/cms_page_widget_chooser</type> 
       <data> 
        <button translate="open"> 
         <open>Select Page...</open> 
        </button> 
       </data> 
      </helper_block> 

类型是在Magento符号帮手块类名。

+0

嗨Zyava, 这是一个非常好的主意。只需添加到您的解决方案。您也可以通过将类型从cms_page更改为cms_block来插入CMS静态块。 adminhtml/cms_block_widget_chooser <钮翻译= “打开”> 选择CMS静块... Swapna 2013-09-04 00:35:35