私はlocal.xmlファイルを使用して、私のtop.linksからのウィッシュリストのリンクを削除した:Magentoは別のブロックにウィッシュリストリンクを追加しますか?
<remove name="wishlist_link"/>
私は私のminibasket、例えば、別の場所に追加するにはどうすればよいですか?
私はlocal.xmlファイルを使用して、私のtop.linksからのウィッシュリストのリンクを削除した:Magentoは別のブロックにウィッシュリストリンクを追加しますか?
<remove name="wishlist_link"/>
私は私のminibasket、例えば、別の場所に追加するにはどうすればよいですか?
ブロックビュースクリプトでは、/wishlist/
へのリンクを追加した次を追加しました。
<a href="<?php echo $this->getUrl('wishlist') ?>">Wishlist</a>
クラス 'Mage_Page_Block_Template_Links'を見てみるとよいでしょう。 このクラスでは、次の方法で確認できます。これは、保護された変数$ _linkへのリンクを追加する機能です
public function addLink($label, $url='', $title='', $prepare=false, $urlParams=array(),
$position=null, $liParams=null, $aParams=null, $beforeText='', $afterText='')
{
if (is_null($label) || false===$label) {
return $this;
}
$link = new Varien_Object(array(
'label' => $label,
'url' => ($prepare ? $this->getUrl($url, (is_array($urlParams) ? $urlParams : array())) : $url),
'title' => $title,
'li_params' => $this->_prepareParams($liParams),
'a_params' => $this->_prepareParams($aParams),
'before_text' => $beforeText,
'after_text' => $afterText,
));
$this->_links[$this->_getNewPosition($position)] = $link;
if (intval($position) > 0) {
ksort($this->_links);
}
return $this;
}
を。後でこのリンクはテンプレートによってforeachループで書き込まれます。あなたがして、この変数の値を取得することができます
:ファイル 、例えば
public function getLinks()
{
return $this->_links;
}
;ページ/テンプレート/ links.phtml
<?php $_links = $this->getLinks(); ?>
<?php if(count($_links)>0): ?>
<ul class="links"<?php if($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif;?>>
<?php foreach($_links as $_link): ?>
<?php if ($_link instanceof Mage_Core_Block_Abstract):?>
<?php echo $_link->toHtml() ?>
<?php else: ?>
<li<?php if($_link->getIsFirst()||$_link->getIsLast()): ?> class="<?php if($_link->getIsFirst()): ?>first<?php endif; ?><?php if($_link->getIsLast()): ?> last<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
<?php endif;?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
その後、あなたは新しい関数を作成することができますこのブロックを拡張して、関数removeLinkByUrlとaddLinkを使用することができます。
私はすでにウィッシュリストリンクを削除しています。別のブロックに追加したい –