簡體   English   中英

如何獲取基於magento中特定主題的cms頁面列表?

[英]How to get list of cms pages based on a particular theme in magento?

我已經為單個商店視圖的兩個主題創建了cms頁面。
我想在前端顯示特定於主題的所有cms頁面鏈接。
即只有那些在特定主題中使用的cms頁面鏈接應該出現。
我已經使用下面的功能來提取所有的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頁面

您可以在此字段上添加主題過濾器custom_theme

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM