Magento中的条件布局块取决于是否已登录?

时间:2014-05-16 14:28:19

标签: magento magento-1.7

根据用户是否记录,有哪些条件布局逻辑最简单/最推荐的方法是什么?

例如..在伪代码中

if (customer logged in)
  display this custom onepage checkout layout block
otherwise
  display this other custom layout block (for guests)

2 个答案:

答案 0 :(得分:10)

在xml文件中使用条件(local.xml,page.xml等)。例如。如果客户已登录,则添加cms块:

<customer_logged_in> <reference name="name_of_reference_block"> <block type="cms/block" name="block_name"> <action method="setBlockId"> <block_id>block_id</block_id> </action> </block> </reference> </customer_logged_in>

与退出客户的逻辑相同,例如删除一个块:

<customer_logged_out> <reference name="name_of_reference_block"> <remove name="name_of_block_to_remove"></remove> </reference> </customer_logged_out>

答案 1 :(得分:5)

您还可以在模板中使用Magento客户帮助程序:

if($this->helper('customer')->isLoggedIn()){

//Show block to logged in customers

}else{

// Show different block to guest users

}

或者使用:

Mage::helper('customer')->isLoggedIn()