2016-03-07 50 views
1

我已经为单个商店视图的两个主题创建了cms页面。
我想显示特定于主题的前端的所有cms页面链接。
即只有那些在特定主题中使用的cms页面链接应该出现。
我用下面的函数来提取所有CMS页面..如何根据magento中的特定主题获取cms页面列表?

public function getCMSPages(){ 

$storeId = $this->helper('core')->getStoreId(); 
$cms = Mage::getModel('cms/page')->getCollection() 
       ->addFieldToFilter('is_active',1) 
       ->addStoreFilter($storeId); 
$url = Mage::getBaseUrl(); 
$html = ""; 
foreach($cms as $cmspage): 
    $page = $cmspage->getData();  
    if($page['identifier'] == "no-route" || $page['identifier'] == "enable-cookies" || $page['identifier'] == "empty"){ 
     /* do nothing */ 
    } else { 
     if($page['identifier'] == "home"){ 
      $html .= "<li><a href=\"$url\" title=\"".$page['title']."\">".$page['title']."</a></li>\n"; 
     } else { 
      $html .= "<li><a href=\"$url".$page['identifier']."\" title=\"".$page['title']."\">".$page['title']."</a></li>\n"; 
     } 
    } 
endforeach; 

return $html; 
} 

我如何只得到CMS的网页与特定主题

回答

0

你可以在这个领域

$storeId = $this->helper('core')->getStoreId(); 
$cms = Mage::getModel('cms/page')->getCollection() 
       ->addFieldToFilter('is_active',1) 
       ->addFieldToFilter('custom_theme','default/default') 
       ->addStoreFilter($storeId); 
+0

添加主题过滤custom_theme为了使用上面的代码,我必须指定自定义主题在管理面板定制设计部分CMS页面。我对吗 ? @QaisarSatti。 –

+0

是的,你是对的 –

+0

我应该使用条件如果(Mage :: getSingleton('core/design_package') - > getTheme('frontend')==“iphone”){} else {} ..区分页面? –

相关问题