如何获取magento中的特定页面URL

Gow*_*wri 22 magento

我想在Magento中获取页面的URL密钥.

例如,我有一个名为"What's New"的CMS页面,其标识符(或URL密钥)为"whats_new".因此,它的正确URLhttp://mysite.com/whats_new

目前我使用此代码来回显其位置:

<?php echo Mage::getBaseUrl();?>whats_new
Run Code Online (Sandbox Code Playgroud)

我认为这是不好的做法,因为它的标识符(或URL密钥)是可管理的; 如果其URL密钥或标识符发生更改,则链接将中断.回显其动态URL密钥的正确方法是什么?也许类似于Wordpress的东西get_permalink('10')

Jos*_*osh 40

我想这会做你想要的:

<?php echo Mage::helper('cms/page')->getPageUrl( $pageId ) ?>
Run Code Online (Sandbox Code Playgroud)

替换$pageId为您链接的页面的正确ID,它应该工作.

  • @ButtleButkus:谢谢你的暗示 (3认同)

Ant*_*n S 19

试试这个

<?php echo $this->getUrl('whats_new');?>
Run Code Online (Sandbox Code Playgroud)

如果您需要动态添加url密钥

<?php echo $this->getUrl($yourDynamicVariable);?>
Run Code Online (Sandbox Code Playgroud)

当然,如果更改了url键,则必须实现填充变量所需的功能

  • 在这个答案中哪个类是`$ this`? (3认同)

小智 9

你应该使用 <?php echo Mage::getUrl('page-url.html); ?>


小智 5

在 CMS 页面

{{store _direct="url_key"}}
Run Code Online (Sandbox Code Playgroud)

如果你想在 .phtml 文件中,那么

<?php echo Mage::helper('cms/page')->getPageUrl('url_key') ?>
Run Code Online (Sandbox Code Playgroud)