如何获取当前的CMS页面名称

时间:2016-08-11 13:44:11

标签: magento observers

我正在通过观察者来获取我创建的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) {

}

4 个答案:

答案 0 :(得分:3)

您可以像这样获得CMS页面标题

<?php    
     echo Mage::getSingleton('cms/page')->getTitle();    
?>

答案 1 :(得分:0)

要获取Magento中任何CMS页面的URL密钥/标识符,请使用以下代码。

<?php

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

?>

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

<?php

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

?>

答案 2 :(得分:0)

我认为您正在寻找CMS页面标题。如果您在CMS页面上,请使用:

<?php
$current_title = Mage::getSingleton(‘cms/page’)->getTitle();
?>

如果您有标识符,请使用:

<?php
    Mage::getModel(’cms/page’)->getResource()->getCmsPageTitleByIdentifier(’YOUR_IDE‌​NTIFIER’);
?>

(来自https://magento.stackexchange.com/questions/102302/get-cms-page-description

答案 3 :(得分: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();

     }     
?>