Как переопределить ссылки блокировки проверки Mage
Как правильно переопределить метод, например, метод Mage_Checkout_Block_Links::addCartLink()
.
Моя цель - добавить немного HTML перед методом Mage_Checkout_Block_Links::addCartLink()
. Однако я не знаю, с чего начать или какой файл скопировать и отредактировать в моей пользовательской теме.
Я думаю о чем-то подобном:
public function addLink($beforeText='<i class="icon-shopping-cart"></i>')
1 answers
Вот небольшой учебник о том, как переопределить блок модели или помощника: http://magedev.com/2009/06/03/magento-overriding-model-block-or-helper /
Сохраните эту ссылку...вам это понадобится в будущем.
Теперь о вашей проблеме... следуя руководству по ссылке выше
Создайте свое собственное расширение. Давайте назовем это "easylife_checkout". Вам понадобятся следующие файлы:
app/etc/modules/Easylife_Checkout.xml
<?xml version="1.0"?>
<config>
<modules>
<Easylife_Checkout>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Checkout />
</depends>
</Easylife_Checkout>
</modules>
</config>
app/code/local/Easylife/Checkout/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<Easylife_Checkout>
<version>0.0.1</version>
</Easylife_Checkout>
</modules>
<global>
<blocks>
<checkout>
<rewrite>
<links>Easylife_Checkout_Block_Links</links>
</rewrite>
</checkout>
</blocks>
</global>
</config>
И app/code/local/Easylife/Checkout/Block/Links.php
<?php
class Easylife_Checkout_Block_Links extends Mage_Checkout_Block_Links{
public function addCartLink()
{
$parentBlock = $this->getParentBlock();
if ($parentBlock && Mage::helper('core')->isModuleOutputEnabled('Mage_Checkout')) {
$count = $this->getSummaryQty() ? $this->getSummaryQty()
: $this->helper('checkout/cart')->getSummaryCount();
if ($count == 1) {
$text = $this->__('My Cart (%s item)', $count);
} elseif ($count > 0) {
$text = $this->__('My Cart (%s items)', $count);
} else {
$text = $this->__('My Cart');
}
$parentBlock->removeLinkByUrl($this->getUrl('checkout/cart'));
$parentBlock->addLink($text, 'checkout/cart', $text, true, array(), 50, null, 'class="top-link-cart"', '<i class="icon-shopping-cart"></i>');//this will add the link. The last parameter is the 'before text'. You can add an other parameter after that that means $afterText
}
return $this;
}
}
Очистите кэш, и вы должны быть сделано.