如何获取当前 CMS 页面名称

How to get current CMS page name

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

}

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

<?php

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

?>

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

<?php

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

?>

我认为您正在查找 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

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

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

如何获取当前 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();

     }     
?>