2016-06-30 2 views
0

Я создаю модуль для настройки моей цены на продукты при добавлении его в корзину, но он не работает. Я использую метод checkout_cart_product_add_after.Magento - настраиваемый модуль не работает

шаги, которые я последовал:

1) Создание XML (TrediMarketplace_PriceUpdate) в /app/etc/modules и это уже появляются в интерфейсе Magento (System > Configuration > Advanced > Advanced)

2) Создайте config.xml:

<?xml version="1.0"?> 
<config> 
    <modules> 
     <TrediMarketplace_PriceUpdate> 
      <version>0.0.1</version> 
     </TrediMarketplace_PriceUpdate> 
    </modules> 
    <global> 
     <models> 
      <tredimarketplace_priceupdate> 
       <class>TrediMarketplace_PriceUpdate_Model</class> 
      </tredimarketplace_priceupdate> 
     </models> 
     <events> 
      <checkout_cart_product_add_after> 
       <observers> 
        <tredimarketplace_priceupdate> 
         <class>tredimarketplace_priceupdate/observer</class> 
         <method>priceUpdate</method>       
        </tredimarketplace_priceupdate> 
       </observers> 
      </checkout_cart_product_add_after> 
     </events> 
    </global> 
</config> 

файл размещен на этом пути: /app/code/local/TrediMarketplace/PriceUpdate

3) Создание наблюдателя .php:

<?php 
    class TrediMarketplace_PriceUpdate_Model_Observer{ 
     public function priceUpdate(Varien_Event_Observer $observer){ 
      // Get the quote item 
       $item = $observer->getQuoteItem(); 
      // Ensure we have the parent item, if it has one 
       $item = ($item->getParentItem() ? $item->getParentItem() : $item); 
      // Load the custom price 
       $price = "300.00"; 
      // Set the custom price 
       $item->setCustomPrice($price); 
       $item->setOriginalCustomPrice($price); 
      // Enable super mode on the product. 
       $item->getProduct()->setIsSuperMode(true); 
     } 
    } 
?> 

Файл размещен на этом пути: /app/code/local/TrediMarketplace/PriceUpdate/Model

С этим шаги мои ожидания, что все продукты, добавленные в корзину появляются с $ 300,00 (значение, которое я установил на моем модуле), но это не происходит.

Любое предложение?

+0

Каков полный путь к вашему файлу config.xml? – Prateek

+0

Привет, Prateek. Полный путь к 'config.xml':'/public_html/testes/app/code/local/TrediMarketplace/PriceUpdate/etc/config.xml'. Полный путь 'Observer':'/public_html/testes/app/code/local/TrediMarketplace/PriceUpdate/Model/Observer.php' –

+0

Функция «Добавить в корзину» по умолчанию или вы что-то там что-то изменили? – Prateek

ответ

0

Я создал сжатый модуль и его функциональность. Я использовал фрагменты кода и собрал их в модуль. У вас может быть синтаксическая проблема, но ее работа. Пожалуйста, клон отсюда https://github.com/lapitspublic/TrediMarketplace_PriceUpdate.git

+0

Привет Лакшман, THX для вашего ответа. Я скопировал с вашего GitHub, но он все еще работает = /. [Пример продукта] (http://tredi.com.br/testes/index.php/protecao-eletrica/placa-de-controle-para-altivar-1100-1100.html) на моем тестовом сайте. Когда товар добавляется в корзину, значение не изменяется до «$ 300,00» –

+0

Можете ли вы просто положить 'die (« Stop! Stop! Right here. »);' В начале вашего метода в наблюдателе, чтобы я мог убедитесь, что указатель идет в правильный метод. –

+0

нужна помощь/устранение неполадок, пожалуйста, пинговать мне по скайпу –

Смежные вопросы