【问题标题】:How to Get CMS page title by store in Magento?如何在 Magento 中按商店获取 CMS 页面标题?
【发布时间】:2013-07-13 08:46:03
【问题描述】:

我使用的是 magento 1.7.0.2,我需要在我的商店中显示 CMS 页面的标题。
我有两家商店,一家是英文的,另一家是法文的。 要获取我正在使用以下代码的 CMS 页面的标题

$page = Mage::getModel('cms/page')->load('legal');

这里的“合法”是我的页面标识符。我在管理面板中创建了两个页面,它们具有相同的 url 键,用于具有不同页面标题的英语和法语商店。但是当我尝试使用标题时,

$pageTitle = $page->getTitle();

它总是向我显示英文 CMS 页面的标题。 我也尝试使用,加载页面,

$page = Mage::getModel('cms/page')->setStore(Mage::app()->getStore()->getId())->load('legal');

没有成功。有什么想法吗??

【问题讨论】:

  • 如何在前端切换存储?您页面的其余部分翻译正确吗?
  • 除页面标题外,一切正常。它获取的内容是正确的。

标签: magento magento-1.7


【解决方案1】:

如果您要为两个商店创建两个页面,那么

将页面分配给特定商店时必须小心。

请检查两个页面它必须只分配给一个商店,无论是英语还是法语。

如果您在英文商店中分配两个页面,这些可能是每次获取英文页面的主要问题。

请管理员仔细检查。

希望你能理解我的想法。

【讨论】:

  • 谢谢 liyakat。我已经仔细检查过了。两个页面都分配给不同的商店。一个是法语,一个是英语。
【解决方案2】:

看看Mage_Cms_Helper_Page。它解释了页面是如何呈现的。

不要使用setStore(),试试setStoreId()

Mage::getModel('cms/page')->setStoreId(Mage::app()->getStore()->getId())->load('legal');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2011-04-07
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多