Как создать нового наблюдателя в продукте каталога событий, сохраненном до
Я хочу автоматически генерировать мета-описание для своих продуктов, создав нового наблюдателя в каталоге событий_product_save_before с помощью этого кода:
public function autoMetaDescription($observer) {
$product = $observer->getEvent()->getProduct();
$metaDescription = "Buy ". $product->getName()." for Rs ".number_format($product->getFinalPrice(), 2)." at sitename.com | New Book | Authorised seller for ". $product->getAttributeText('publisher');
$product->setMetaDescription($metaDescription);
}
В какой папке/файлах я должен написать код?
25
1 answers
Вам необходимо создать новый модуль.
Давайте назовем это Easylife_Meta
.app/etc/modules/Easylife_Meta.xml
- файл декларации
<?xml version="1.0"?>
<config>
<modules>
<Easylife_Meta>
<codePool>local</codePool>
<active>true</active>
<depends>
<Mage_Catalog />
</depends>
</Easylife_Meta>
</modules>
</config>
app/code/local/Easylife/Meta/etc/config.xml
- файл конфигурации
<?xml version="1.0"?>
<config>
<modules>
<Easylife_Meta>
<version>0.0.1</version>
</Easylife_Meta>
</modules>
<global>
<models>
<easylife_meta>
<class>Easylife_Meta_Model</class>
</easylife_meta>
</models>
</global>
<adminhtml>
<events>
<catalog_product_save_before><!-- observe the event -->
<observers>
<easylife_meta>
<class>easylife_meta/observer</class>
<method>autoMetaDescription</method>
</easylife_meta>
</observers>
</catalog_product_save_before>
</events>
</adminhtml>
</config>
app/code/local/Easylife/Meta/Model/Observer.php
- класс наблюдения
<?php
class Easylife_Meta_Model_Observer {
public function autoMetaDescription($observer) {
$product = $observer->getEvent()->getProduct();
$metaDescription = "Buy ". $product->getName()." for Rs ".number_format($product->getFinalPrice(), 2)." at sitename.com | New Book | Authorised seller for ". $product->getAttributeText('publisher');
$product->setMetaDescription($metaDescription);
}
}
Очистите кэш, когда закончите.
52
Author: Marius, 2014-10-24 10:35:54