主页的条件基础上的magento


Home page on condition basis in magento

我已将分类页面设置为默认主页。但现在我想显示CMS (Home page)未登录用户,而登录我想显示类别页面。意味着我如何设置可以加载两个cms页面的逻辑。我怎么能做到呢?谢谢你的帮助

<?php if(!Mage::getSingleton('customer/session')->isLoggedIn()): ?>
load->category page
 <?php else: ?>//If user is NOT logged in
    Load home page default one
<?php endif; ?>

如果你只想在主页上检查条件,你可以这样做。

class Mage_Cms_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction($coreRoute = null)
    {
       if(Mage::getSingleton('customer/session')->isLoggedIn())
{
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('catalog/category/view/id/3'));
}else{
        $pageId = Mage::getStoreConfig(Mage_Cms_Helper_Page::XML_PATH_HOME_PAGE);
        if (!Mage::helper('cms/page')->renderPage($this, $pageId)) {
            $this->_forward('defaultIndex');
        }
    }
    }
试着告诉我结果。希望这将解决您的问题

这可能适用于您的情况:

//条件取决于用户的登录状态

if(!$this->helper('customer')->isLoggedIn())
{
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getBaseUrl());
die();
}
else
{
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('YOUR_CATEGORY_URL'));
die();
}
IF above doesn't work, try this :
$sessionCustomer = Mage::getSingleton("customer/session");
if($sessionCustomer->isLoggedIn()) {
  Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('YOUR_CATEGORY_URL'));
} else {
   Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getBaseUrl());
}