我想在Magento中获取网页的网址密钥。
例如,我有一个名为“What's New”的CMS页面,其标识符(或URL密钥)为“whats_new”。因此,正确的网址为http://mysite.com/whats_new
目前我使用此代码来回显其位置:
<?php echo Mage::getBaseUrl();?>whats_new
我认为这是不好的做法,因为它的标识符(或URL密钥)是可管理的;如果其URL密钥或标识符发生更改,则链接将中断。回显其动态URL密钥的正确方法是什么?也许类似于Wordpress的get_permalink('10')
?
答案 0 :(得分:40)
我认为这会做你想做的事情:
<?php echo Mage::helper('cms/page')->getPageUrl( $pageId ) ?>
将$pageId
替换为您要链接的页面的正确ID,它应该有效。
答案 1 :(得分:19)
试试这个
<?php echo $this->getUrl('whats_new');?>
如果您需要动态添加网址密钥,那么
<?php echo $this->getUrl($yourDynamicVariable);?>
当然,如果更改了url键,你必须实现填充变量所需的功能
答案 2 :(得分:8)
您应该使用<?php echo Mage::getUrl('page-url.html); ?>
答案 3 :(得分:4)
在CMS页面
{{store _direct="url_key"}}
如果你想要.phtml文件,那么
<?php echo Mage::helper('cms/page')->getPageUrl('url_key') ?>
答案 4 :(得分:2)
Mage::getUrl(null, array('_direct' => $page->getIdentifier()));
答案 5 :(得分:1)
也可以使用页面标识符
来检索CMS页面URL<?php echo Mage::helper('cms/page')->getPageUrl('cms_page_identifier') ?>
答案 6 :(得分:0)
你应该使用
{{store direct_url =&#34; whats_new /&#34;}}
<?php echo $this->getUrl('whats_new');?>