如果有更快的方法在.tpl
中获得cms标题,我就会徘徊目前,我使用一种非常简单的方法扩展了Tools类:
public static function getCMSTitle($id_cms,$id_lang){
$cms = new CMS($id_cms, $id_lang);
return $cms->meta_title;
}
这样我就可以这样做了:
<li><a href="{$link->getCMSLink(1)}">{Tools::getCMSTitle(1,$cookie->id_lang)}</a></li>
我认为这很重要因为,如果你只是做{l s =“pagename”},那么你必须翻译两次页面名称。
所以,很好。但由于它非常简单,我无法相信没有办法通过聪明的方式来做到这一点。仅扩展Tools类来完成这个简单的任务是不好的。
有什么想法吗?
答案 0 :(得分:0)
您是否直接在tpl上尝试过{$ meta_title | escape:&#39; html&#39;:&#39; UTF-8&#39;}?我刚刚在cms.tpl上测试过,它可以正常工作。
答案 1 :(得分:0)
简单的馅饼没有任何改写(PS 1.6.1.14)
{$ cms-&gt; meta_title} 获取CMS页面标题
{$ cms-&gt; meta_description} 获取说明
以及基于 ps_cms_lang 表中列名称的许多其他内容。
答案 2 :(得分:0)
如果您像我一样,我知道您想访问该页面的外部页面标题。 如果是这样,以前的答案无济于事。
在此页面中,我找到了以下解决方案:https://toniravsadhu.wordpress.com/2014/02/27/prestashop-how-can-i-get-a-cms-page-title-in-a-tpltemplate-file/
首先:扩展Tools类,添加以下方法
public static function getCMSTitle($id_cms,$id_lang){
$cms = new CMS($id_cms, $id_lang);
return $cms->meta_title;
}
然后,在模板中,您现在可以使用以下内容从CMS页面ID中获取标题:
<a>{Tools::getCMSTitle(1,$cookie->id_lang)}</a>