2013-05-07 32 views
0

我需要將「檢出」和「我的購物車」頂部鏈接隱藏給未登錄且不屬於客戶羣組的用戶。我在源代碼中查看,但似乎所有鏈接都從XML中提取。如果有人知道我可以如何解決這個問題,我將不勝感激。針對不同客戶羣的不同頂部鏈接

回答

0

這應該刪除從頂部鏈接結帳和購物車鏈接,未註冊用戶:

<customer_logged_out> 
    <reference name="top.links"> 
     <remove name="checkout_cart_link" /> 
    </reference> 
</customer_logged_out> 

我不知道如何爲不屬於選定客戶的一部分客戶做同樣的組。

+0

我放進了checkout.xml吧? – Luca 2013-05-07 14:48:51

+0

你不應該編輯核心文件,更好地在你的主題的local.xml中添加這個 – zitix 2013-05-07 14:59:10

+0

謝謝,添加到local.xml – Luca 2013-05-07 15:15:37

0

我有類似的問題。雖然如果客戶登錄或註銷,您可以通過XML顯示和隱藏頂部鏈接,但我發現一個解決方案可以根據客戶羣顯示或隱藏某些頂部鏈接。

繼承人我做了什麼

  1. 複製基地/模板/網頁/模板/ links.phtml到我的主題目錄

  2. ,如果他們有「我的車」是有條件的刪除頂部鏈接或「結賬」,如果客戶組ID 2(或任何標識的組)

我的繼承人links.phtml文件是如何結束

<?php 
 
$session = Mage::getSingleton('customer/session'); // var $session Mage_Customer_Model_Session 
 
$customer = $session->getCustomer(); // var $customer Mage_Customer_Model_Customer 
 
$userinfo = $customer->_origData; // fetch users info 
 
// get user's customer group id number 
 
$customer_group = $userinfo['group_id']; 
 
?> 
 
<?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 // check to see if customer group id 2 is not in list to show default top links 
 
\t \t elseif ($customer_group != 2): ?> 
 
      <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 // check to see if my cart or checkout are in links and remove from top links for customer group id 2 
 
\t \t elseif ($_link->getTitle() != 'My Cart' && $_link->getTitle() != 'Checkout'): ?> 
 
      <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; ?>

相關問題