我用一些价格操纵编写模块。但是现在我需要在产品视图和目录列表中的产品名称和简短描述之间插入div块。我可以在我的模块中执行此操作吗?如何通过修改模块来做到这一点?我基于此编写的模块
Shusha_Clockdown.xml
<?xml version="1.0"?> <config> <modules> <Shusha_Clockdown> <active>true</active> <codePool>local</codePool> <depends> <Mage_Catalog /> </depends> </Shusha_Clockdown> </modules> </config>
观察者.php
<?php class Shusha_Clockdown_Model_Observer { public function changeprice($observer) { $event = $observer->getEvent(); $_product = $event->getProduct(); // добавляем доллар к простым продуктам if ($_product->getSuperProduct() && $_product->getSuperProduct()->isConfigurable()) { } else { $_product->setFinalPrice(50); } return $observer; } }
为了生成html,我使用module.phtml,我不知道它必须存储在哪里。
我尝试这个解决方案,添加到xml,将我的.phtml存储在文件夹中 -/app/design/frontend/theme/default/template/catalog/product,但没有结果。
如果需要在观察器中添加块(一个接一个(,可以使用以下方法:在扩展的配置.xml中创建观察器:https://gyazo.com/69b8050ce3c7f1f2f11d874895791b68
在观察器中添加一个方法:https://gyazo.com/11db8562a9eb3d874cc0ac8c4d01ba0d
接下来,在您的块及其模板中,您添加所需的内容(我在那里只有一个文本标签(。
https://gyazo.com/b13f7efb93694d77c0c3c2046617529a
结果将是:https://gyazo.com/25356b81fb20891b3da3fc53a1cafd5c
至于缺点,也许最大的缺点是很难找到添加此代码的地方。另请注意,价格块在布局中没有自己的名称,因此,此方法将在每个价格块之后添加自己的自定义块。
因此,仅当没有其他选项来更改模板和布局时,才应使用方法。如果您可以编辑产品模板,只需将块插入其中并通过扩展布局添加即可。