【问题标题】:How to implement a grid like Related Products in Magento?如何在 Magento 中实现类似相关产品的网格?
【发布时间】:2016-03-30 13:06:51
【问题描述】:

过去很多天我一直在努力完成这项工作。不太明白逻辑。这就是我正在做的事情。

我想创建一个 Magento 1.9.x 扩展程序,用于将视频分配给产品。我已经完成了视频部分。我坚持如何将它们分配给特定的产品。我想在产品编辑页面中显示网格,就像相关、追加销售、交叉销售产品一样。此网格应填充来自我的自定义模型的视频信息。

我进行了很多研究,并且可以找到解释如何将其他产品分配给特定产品的文章。我还阅读了有关 Grid Serializer 工作的文章。但没有文章谈到将我的自定义模型(表格)实体分配给特定产品。我也尝试过相关产品的逻辑,但我不是很了解。

我已经做到了。我正在网格中显示我的视频。

但我无法拯救他们。当我尝试编辑现有产品时,它们也不起作用。这是因为我不清楚逻辑。有人可以分享一下吗?将不胜感激任何形式的帮助。谢谢!

【问题讨论】:

    标签: php magento magento-1.9


    【解决方案1】:

    在您的网格序列化程序中,您为所选视频选择了参数名称,例如:

    <action method="initSerializerBlock">
                        <grid_block_name>[[videos grid class]]</grid_block_name>
                        <data_callback>getSelectedProducts</data_callback>
                        <hidden_input_name>selected_videos</hidden_input_name>
                        <reload_param_name>selected</reload_param_name>
                    </action>
    

    如果没有,请添加它。 现在您应该创建一个观察者来将所选视频与保存时的当前产品相关联,您可以将其添加到 adminhtml 中的事件 catalog_product_prepare_save 中。 被调用的方法应该像这样:

    $selectedVideos = Mage::app()->getRequest()->getPost('selected_videos', []);
    $product->setData('custom_attribute_for_videos',
                        Mage::helper('adminhtml/js')->decodeGridSerializedInput($selectedVideos)
                    );
    

    custom_attribute_for_videos 是您将用于将视频与产品相关联的产品属性(数组类型)的代码。否则,如果需要,您可以创建联合表 (products_videos) 并通过将观察者中的数据(视频和产品 ID)设置为关系模型并保存来保存关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多