【问题标题】:How to get current CMS page name如何获取当前 CMS 页面名称
【发布时间】:2016-12-18 07:08:06
【问题描述】:

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


    【解决方案1】:

    你可以得到这样的CMS页面标题

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

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

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 2013-09-02
            • 2011-06-17
            • 1970-01-01
            • 1970-01-01
            • 2019-04-06
            • 2017-03-10
            • 2012-01-06
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多