Magento 1.5 переопределить блок каталога - PullRequest
0 голосов
/ 16 июня 2011

Я пытаюсь переопределить Маг / Каталог / Блок / Продукт / Abstract.php.

Предположим, что мой модуль с именем Abc.

Вот мое приложение / etc / modules / Abc_Catalog.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Abc_Catalog>
            <active>true</active>
            <codePool>local</codePool>
        </Abc_Catalog>
    </modules>
</config>

Вот мой код / ​​local / abc / Catalog / etc / config.xml

<?xml version="1.0"?>
<config>
    <global>
        <blocks>
            <catalog>
                <rewrite><product_abstract>Abc_Catalog_Block_Product_Abstract</product_abstract></rewrite>
             </catalog>
        </blocks>
    </global>
</config>

Вот мой код / ​​local / abc / Каталог / Product / Abstract.php

include_once "Mage/Catalog/Block/Product/Abstract.php";

class Abc_Catalog_Block_Product_Abstract extends Mage_Catalog_Block_Product_Abstract
{
  public function getAddToCartUrl($product, $additional = array())
    {
       echo 'here'; exit;

       /*if ($product->getTypeInstance(true)->hasRequiredOptions($product)) {
            if (!isset($additional['_escape'])) {
                $additional['_escape'] = true;
            }
            if (!isset($additional['_query'])) {
                $additional['_query'] = array();
            }
            $additional['_query']['options'] = 'cart';

            return $this->getProductUrl($product, $additional);
        }*/
        return $this->helper('checkout/cart')->getAddUrl($product, $additional);
    } 
}

Но это не работает. Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 16 июня 2011

В Magento невозможно переписать абстрактный блок традиционным способом.Не можете ли вы переписать класс, расширяющий абстрактный класс?

0 голосов
/ 21 ноября 2011

Вы можете создать ту же структуру папок / файлов для того абстрактного класса, который вы хотите переопределить.т.е.: /local/Mage/Customer/Model/Address/Abstract.php и напишите, что весь класс точно равен исходному (со всеми методами), и измените то, что вам нужно.

Никаких дополнительных .xml не требуется, только файл в указанной папке.Но помните: при обновлении Magento может потребоваться просмотреть этот файл.

...