Magento Модель переписать не работает - PullRequest
1 голос
/ 02 августа 2011

У меня проблема с переписыванием модели в Magento. Есть два пользовательских модуля, в первом файле config.xml я переписал модель ядра

<models>
    <callforprice>
        <class>Atwix_CallForPrice_Model</class>
    </callforprice>
    <catalog>
        <rewrite>
            <product>Atwix_CallForPrice_Model_Saleable</product>
        </rewrite>
    </catalog>
</models>

также переписал основной блок

<blocks>
    <callforprice>
       <class>Atwix_CallForPrice_Block</class>
    </callforprice>
    <catalog>
       <rewrite>
            <product_list>Atwix_CallForPrice_Block_Product_List</product_list>
       </rewrite>
    </catalog>
</blocks>

getAddToCartUrl - функция, которая была переписана, эта функция изменяет URL-адрес кнопки «добавить в корзину». В этом модуле все работает нормально. Но когда я создал новый пользовательский модуль и вызвал функцию

$collection = Mage::getModel('catalog/product')->getCollection();

Я не получил URL нужной кнопки. Кажется, переписать не получается. Кнопка все еще имеет URL ядра. Я знаю это, потому что я сделал синтаксический анализ ошибки в Atwix_CallForPrice_Block_Product_List, чтобы убедиться, и в случае первого модуля я получил ошибку, в другом случае все работает нормально.

Извините за мой английский, ребята.

1 Ответ

0 голосов
/ 02 августа 2011

Я не уверен, но, возможно, вам также нужно переписать класс коллекции продуктов.

...