我想在管理员的“目录 - >管理产品 - >产品信息”页面中添加新标签。在“图片”标签下方,我想为视频添加一个新标签,其中包含一个简单的文字输入,用于添加视频网址,然后我可以抓取该视频网址。
任何有关我需要编辑的文件的想法?我一直在寻找最后几个小时没有快乐。我在Mage_Catalog_Model_Resource_Eav_Mysql4_Setup中找到了当前选项列表,但无法弄清楚如何添加它们......
似乎从Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs获得了一些。如果我复制其中一个标签部分并将标题更改为视频,我可以将其显示在左侧的标签中。但是,我该如何为它添加选项呢?
答案 0 :(得分:3)
根据声音,您要做的是创建自定义字段并将其添加到目录数据中。好消息是你不需要在PHP中捣乱。
前往目录 - >属性 - >管理属性并为自己创建一个名为“视频URL”的新属性(或类似的东西)。这可能是一个文本字段,您可能希望将其隐藏在网站前端的比较中(对于表单底部的所有框,选择“否”)。
创建属性后,您需要将其添加到属性集中。如果您的所有产品都是一个“类型”,并且您没有创建任何其他属性集,那么这应该只是一步。前往目录 - >属性 - >管理属性集并创建一个名为“视频”的“新组”,并将新的视频网址属性拖入其中。保存属性集,您现在应该有新选项卡。
我在帖子中阅读的唯一复杂功能可能是将其放置在图片标签下方。 Magento静态添加了几个选项卡(很长一段时间,在PHP中)并且通常不遵循选项卡组的顺序。考虑时间权衡。
希望有所帮助。谢谢,
乔
答案 1 :(得分:1)
根据您的其他评论,对于URL,简单属性可以工作,但文件往往更难。要添加自定义标签,如您所说,您可以编辑(或在插件的情况下,覆盖)Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs::_prepareLayout
并添加标签。您需要添加块或模板才能显示标签内容。
之后,您需要将数据存储在某处。查看Adminhtml/controllers/ProductController
,您应该能够挂钩catalog_product_prepare_save
事件以从$event->getRequest()
获取数据并将其推送到产品或根据需要保存其他实体。
我不确定文件保存语义在产品上的效果如何,因此您可能希望在扩展中执行自己的数据存储,然后提供类似getVideoForProduct
方法的方法来检索它。
然后剩下要做的就是修改catalog/product/view.phtml
模板文件以包含你的拇指,并在你的扩展中创建一个控制器,以提供视频模式(或用JS做)。
我知道这是一个普遍的答案,但这是你需要选择标签的粗略路径。如果有任何具体部分不清楚,请告诉我。
谢谢, 乔