如何在调用url视图助手时有时切换baseUrl

时间:2011-02-17 10:53:56

标签: url zend-framework base-url viewhelper

我对zend应用程序中URL的最佳实践有疑问。 我的应用程序将在两个不同的上下文中运行(Facebook和独立)。 通常我的baseUrl是空的。但是当在Facebook(作为画布应用程序)中运行时,我将baseUrl设置为“apps.facebook.com/xxx”......但也有例外。大多数情况下,我想要新的baseUrl,但有时我不想。目前我脱掉了baseUrl,当我不需要它时......

提前致谢

2 个答案:

答案 0 :(得分:1)

你可以在例如修改baseUrl您的观点如下:

<?php 
    // save current base
    $oldBase = $this->getHelper('baseUrl')->getBaseUrl();

    // set a new one for a short time
    echo $this->getHelper('baseUrl')->setBaseUrl('new/base/')->baseUrl('link');

    // restore the original base
    $this->getHelper('baseUrl')->setBaseUrl($oldBase);
?>

重要的是要记住保存和恢复baseUrl的原始基础。否则,所有布局可能无法正常工作,因为帮助者“记住”其状态,并且您不希望更改系统范围的基础。希望这会有所帮助。

答案 1 :(得分:0)

最好的选择是继承BaseUrl视图助手,并在需要自定义值时使用扩展名。