Загрузить модуль из определенного места (magento) - PullRequest
0 голосов
/ 13 сентября 2011

Я пытаюсь переопределить основной модуль на платформе Magento.

Это абсолютно не проблема. Я сделал для него простой модуль, и он загружается по умолчанию через файл etc / modules / ... xml. Но я бы хотел:

Вызывать модуль только на страницах категорий.

Кто-нибудь знает, можно ли вызвать (определить, установить) модуль из файла шаблона?

Как я могу заставить его загружаться только в конкретный файл шаблона или только на страницы категорий в этом отношении?


В настоящее время я пытаюсь что-то сделать, но все еще не могу обернуть пальцы вокруг правильного кода. Я думаю, что утверждение if / else подходит для основного модуля currency.php, но, возможно, вы, ребята, можете мне помочь.

* Это то, о чем я думал, смотрите порядок, а не код;) *

<?php
class MyCompany_ConstPrice_Model_Currency extends Mage_Directory_Model_Currency
{
public function __A_NAME_() 
if(Mage::app()->getFrontController()->getRequest()->getRouteName() == 'catalog') :
elseif:
$this->_redirectReferer(Mage::getBase()); 

Rest of code....
?>

1 Ответ

2 голосов
/ 14 сентября 2011

Чтобы обеспечить переопределение, вам сначала нужно переписать псевдоним класса.

<config>
    <global>
        <models>
            <directory>
                <rewrite>
                    <currency>MyCompany_ConstPrice_Model_Currency</currency>
                </rewrite>
            </directory>
        </models>
    </global>
</config>

Теперь вы можете сделать реальное переопределение.

<?php

class MyCompany_ConstPrice_Model_Currency extends Mage_Directory_Model_Currency
{

    public function getCode()
    {
        if ((Mage::app()->getRequest()->getRouteName() == 'catalog')
         && (Mage::app()->getRequest()->getControllerName() == 'category')) {
            // return something here...
        }
        // else not a category page
        return parent::getCode();
    }
}

Примечание: я использую getCode() в качестве примера, потому что это первая объявленная функция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...