Я новичок в Magento. Я пытаюсь создать простой способ применить специальную маржу по стоимости, а затем получить ее цену продажи. Я хочу поставить только стоимость, а затем некоторую функцию, чтобы вычислить 20% НДС (TAX) и маржу пользовательских атрибутов, которые предположили, что я установил 15%.Как применить значение пользовательского атрибута по стоимости
Пример:
У меня есть три поля при добавлении или редактировании продукта:
Cost = 100
Price = 0
margin_percentage: 15 (means 15%)
После того, как пользователь добавить 100 и рентабельности процент 15, система сначала рассчитать 20% НДС затем полученную сумму добавляют 15% запас так что я получаю этот случай
стоимость + ндс + маржа = 138 после сохранения
Cost = 100
Price = 138
margin_percentage: 15
меня написать модуль и пытался добиться этого с помощью Event наблюдателя - catalog_product_save_before и catalog_product_save_after здесь является функцией. Если этот код работает, я могу применить формулу, но я пытаюсь обновить таблицы db, ничего не произошло. Я не знаю, что происходит. Я пытаюсь обновить эту таблицу catalog_product_flat_1
class SmashingMagazine_LogProductUpdate_Model_Observer
{
/**
* Magento passes a Varien_Event_Observer object as
* the first parameter of dispatched events.
*/
public function logUpdate(Varien_Event_Observer $observer)
{
$product = $observer->getEvent()->getProduct();
$cost = $product->getCost();
$_product = Mage::getModel('catalog/product')->load($product->getId());
$_product->setPrice($cost); // or an other price field
$_product->save();
Mage::log(
"cost {$cost} Price {$price} ",
null,
'product-updates.log'
);
}
}
Я этого учебного курса для создания этого модуля http://coding.smashingmagazine.com/2012/03/01/basics-creating-magento-module/ ... теперь, что случилось с выше код? Также дайте мне ошибку времени выполнения. Мой сервер текущее время выполнения 300000
Надежда кто-то направлять меня в правильном направлении
С наилучшими пожеланиями
'функция productUpdate общественности (Varien_Event_Observer $ наблюдатель) { $ продукта = $ наблюдатель> GetEvent () -> getProduct(); \t \t $ cost = $ product-> getCost(); $ price = $ product-> getprice(); \t \t $ id = $ product-> getEntityId(); \t \t $ _product = Mage :: getModel ('catalog/product') -> load ($ product-> getId()); $ _product-> setPrice ($ cost); // или другое поле цены $ _product-> save(); } 'спасибо Roy .. я тестирую это, но цена не обновляется до сих пор пустым полем. Я также отключил кеш – lordman
См. Этот пример [pastebin example] (http://pastebin.com/znEip1Uy), которые имеют некоторые протоколирования. Не могли бы вы посмотреть, что показывает вам журнал? –
Я пытаюсь, но ... Неустранимая ошибка: максимальное время выполнения 30 секунд превышено в /home3/rahman12/public_html/magento/app/code/core/Mage/Catalog/Model/Resource/Eav/Attribute.php в строке 255 – lordman