将自定义类添加到愿望清单顶部链接

Posted

技术标签:

【中文标题】将自定义类添加到愿望清单顶部链接【英文标题】:Add custom class to wishlist top link 【发布时间】:2015-02-11 08:40:16 【问题描述】:

我想在愿望清单链接中添加一个自定义类以进行样式设置。

我尝试将wishlist.xml 更改为此:

<reference name="top.links">

        <block type="wishlist/links" name="wishlist_link" />
        <action method="addLinkBlock"><blockName>wishlist_link</blockName><prepare/><liParams>class="test"</liParams><position>10</position></action>
    </reference>

但是类没有设置

我还尝试将 code/core/Mage/Wishlist/Block/Links.php 更改为:

protected function _tohtml()

    if ($this->helper('wishlist')->isAllow()) 
        $text = $this->_createLabel($this->_getItemCount());
        $this->_label = $text;
        $this->_title = $text;
        $this->_aParams = 'class="test"';
        $this->_url = $this->getUrl('wishlist');
        return parent::_toHtml();
    
    return '';

但它仍然没有设置类。

这是我的 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 $i=0; ?>
<?php foreach($_links as $_link): ?>
    <?php if ($_link instanceof Mage_Core_Block_Abstract):?>
        <?php echo $_link->toHtml() ;?>
    <?php else: ?>
        <?php $i++; ?>
        <li class="<?php if($_link->getIsFirst()): ?>first<?php elseif($_link->getIsLast()): ?>last<?php else: ?>menu<?=$i?><?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; ?>

结果,wishlist 是唯一没有类的顶部链接。

【问题讨论】:

【参考方案1】:

很有趣,没试过这个,但试一试不会花很多钱;)

在您的布局文件中:

<reference name="wishlist_link">
    <action method="setAParams">
        <param><![CDATA[class="myclass"]]></param>
    </action>
</reference>

【讨论】:

成功了!谢谢。我是 Magento 的新手,我已经和这个小东西战斗了这么久!有没有办法使用相同的逻辑改变位置? 是的,布局的动作标签非常强大。我已经编辑了我的答案,请检查 ;) 如果我的编辑不起作用,恐怕您将不得不在自己的模块中覆盖 Mage_Wishlist_Block_Links 类并更改 $_position 属性 它似乎不会影响 XML 的位置。到时候我会覆盖。感谢您的宝贵时间! 不客气,为您的问题提供了良好的格式;)。奇怪的是 setPosition 不起作用,它也应该起作用,也许仔细检查你的缓存?好吧,在认为这看起来很正常之后,我认为当我们调用块时,块已经在 top.links 块中,所以位置属性已经被 top.links 块“消耗”了

以上是关于将自定义类添加到愿望清单顶部链接的主要内容,如果未能解决你的问题,请参考以下文章

无法将自定义 IBDesignable 类链接到情节提要上的 UIButton

将自定义类添加到 WordPress 导航中的锚标记

将自定义类的集合添加到 Settings.Settings

sh 将自定义标签和部署/测试计划清单添加到Github

将自定义主体类添加到

在 ExtJS 中,如何将自定义 CSS 类添加到数据网格行?