Magento Расширяющий Маг - PullRequest
0 голосов
/ 10 мая 2011

Я несколько дней пытался расширить абстрактный класс

Mage_Catalog_Block_Layer_Filter_Abstract

Я попробовал способы, которыми я успешно расширил неабстрактные классы, но безуспешно. Мне нужно сделать это, потому что я изменил файл filter.phtml, и именно здесь установлен шаблон. Поэтому мне просто нужен способ изменить следующую функцию без изменения каких-либо основных файлов, чтобы она была совместима при обновлении:

public function __construct()
{
    parent::__construct();
    $this->setTemplate('catalog/layer/filter.phtml');
}

Я не хочу просто изменять основной шаблон, потому что он будет удален при обновлении. Любая помощь или любые другие идеи о том, как это сделать, будет принята с благодарностью. Я обычно просто редактирую файлы XML, но этот шаблон не вызывается в файле XML, и это единственное место, где я нашел ссылку на него.

Заранее спасибо!

1 Ответ

1 голос
/ 02 ноября 2012

Для этого нам нужно использовать функцию setPageSize.

Mage_Catalog_Block_Layer_Filter_Abstract класс отвечает за настройку шаблона фильтра

Вы переопределите этот класс Block с помощью класса вашего модуля YourNamespace_YourModule_Block_Layer_Filter_Abstract. Итак, путь к классу YourNamespace_YourModule_Block_Layer_Filter_Abstract равен YourNamespace / YourModule / Block / Layer / Filter / Abstract.php

Итак, ваш новый файл - Abstract.php будет выглядеть как

<?php
class YourNamespace_YourModule_Block_Layer_Filter_Abstract extends  Mage_Catalog_Block_Layer_Filter_Abstract
    {
        /**

         */

    public function __construct()
    {
        parent::__construct();
        $this->setTemplate('YourFolder/catalog/layer/filter.phtml');
    }

    }

Вот код xml, который должен быть записан в etc / config.xml для вашего пользовательского модуля.

<global>
    <blocks>
        <catalog>
            <rewrite>
                <layer_filter_abstract>YourNamespace_YourModule_Block_Layer_Filter_Abstract</layer_filter_abstract>
            </rewrite>
        </catalog>
    </blocks>
<global>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...