2012-07-17 7 views
5

मैं अपने local.xml फ़ाइल का उपयोग कर मेरी top.links से इच्छा-सूची लिंक हटा दिया है?Magento अलग-अलग ब्लॉक में wishlist_link जोड़ें?</p> <pre><code><remove name="wishlist_link"/> </code></pre> <p>मैं कैसे इसे कहीं और मेरी minibasket में जोड़ सकता हूँ, उदाहरण के लिए:

उत्तर

12

ब्लॉक व्यू स्क्रिप्ट में मैंने निम्नलिखित जोड़े जो /wishlist/ पर एक लिंक जोड़ा।

<a href="<?php echo $this->getUrl('wishlist') ?>">Wishlist</a> 
0

आप कक्षा 'Mage_Page_Block_Template_Links' पर एक नज़र रखना चाहते हैं। इस वर्ग आप निम्न विधि देख सकते हैं:

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; 
} 

इस संरक्षित चर $ _link के लिए एक लिंक जोड़ने के लिए समारोह है, बाद में यह लिंक आपके टेम्पलेट द्वारा फ़ोरैच लूप के साथ लिखा जाएगा।

आप के साथ इस चर का मान प्राप्त कर सकते हैं:

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; ?> 

उसके बाद, आप एक नया कार्य बना सकते हैं अपने कस्टम ब्लॉक के लिए, या आप इस ब्लॉक को बढ़ा सकते हैं और कार्यों को हटा सकते हैं LinkByUrl और addLink।

+0

मैंने पहले से ही विशलिस्ट सूची हटा दी है। मैं इसे किसी अन्य ब्लॉक में जोड़ना चाहता हूं –