Php 如何通过observer模块在产品名称和简短描述之间插入html代码
我写了一些价格操纵模块。但现在我需要在产品视图和目录列表中的产品名称和简短描述之间插入div块。我可以在我的模块中执行此操作吗?如何通过修改我的模块来实现这一点?我基于此编写的模块 Shusha_Clockdown.xmlPhp 如何通过observer模块在产品名称和简短描述之间插入html代码,php,xml,magento,module,block,Php,Xml,Magento,Module,Block,我写了一些价格操纵模块。但现在我需要在产品视图和目录列表中的产品名称和简短描述之间插入div块。我可以在我的模块中执行此操作吗?如何通过修改我的模块来实现这一点?我基于此编写的模块 Shusha_Clockdown.xml ,添加到xml,将my.phtml存储在文件夹-/app/design/frontend/theme/default/template/catalog/product中,但没有结果。如果需要在观察者中添加块(一个接一个),可以使用以下方法: 在扩展的config.xml中创
,添加到xml,将my.phtml存储在文件夹-/app/design/frontend/theme/default/template/catalog/product中,但没有结果。如果需要在观察者中添加块(一个接一个),可以使用以下方法:
在扩展的config.xml中创建观察者:
在观察者中添加一个方法:
接下来,在块及其模板中,添加所需内容(我在那里只有一个文本标记)。
结果将是:
至于缺点,可能最大的缺点是难以找到添加此代码的位置。还要注意,价格块在布局中没有自己的名称,因此,此方法将在每个价格块之后添加自己的自定义块
因此,只有在没有其他选项来更改模板和布局时,才应使用方法。如果可以编辑产品模板,只需将块插入其中,并通过扩展布局添加它即可
<?xml version="1.0"?> <config>
<modules>
<Shusha_Clockdown> <active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Catalog />
</depends>
</Shusha_Clockdown>
</modules> </config>
<?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;
}
}