2016-08-11 57 views
1

我正在通过观察员来获取我创建的CMS名称。如何获取当前CMS页面名称

config.xml中

<events> 
    <adminhtml_cms_page_edit_tab_content_prepare_form> 
     <observers> 
     <my_module_edit_tab_content> 
      <type>singleton</type> 
      <class>My_Module_Model_Observer</class> 
      <method>changeContent</method> 
     </my_module_edit_tab_content> 
     </observers> 
    </adminhtml_cms_page_edit_tab_content_prepare_form> 
</events> 

observer.php

public function changeContent($observer) { 

} 

回答

0

如何获取当前CMS页面名称

需要使用事件

<cms_page_prepare_save> 
       <observers> 
        <sky_slack_page_edit_tab_content> 
         <type>singleton</type> 
         <class>NameSpace_ModuleName_Model_Observer</class> 
         <method>addCMS</method> 
        </sky_slack_page_edit_tab_content> 
       </observers> 
</cms_page_prepare_save> 

和观察员

<?php 
    public function addCMS($observer) { 

     $cmsName = $observer->getEvent()->getPage()->getTitle(); 

    }  
?> 
0

要得到任何CMS页面的URL键/标识符在Magento,使用下面的代码位。

<?php 

$cmsPageUrlKey = Mage::getSingleton('cms/page')->getIdentifier(); 

?> 

这将返回网站URL后面的路径。例如,关于我们页面的URL标识符可能是关于我们的,而不是像http://www.yourwebsite.com/about-us/这样的完整URL。如果你想要完整的网址,包括你的网站地址,那么你应该使用下面的一段代码。

<?php 

$cmsPageUrl = Mage::getUrl() . Mage::getSingleton('cms/page')->getIdentifier(); 

?> 
2

你可以得到这样

CMS页面标题
<?php  
    echo Mage::getSingleton('cms/page')->getTitle();  
?>