案例:您正在使用Zend Framework开发一个站点,并且需要相关链接到部署webapp的文件夹.即mysite.com/folder
在线和localhost:8080
正在开发中.
无论部署位置如何,以下在控制器中都很好用:
$this->_helper->redirector->gotoSimple($action, $controller, $module, $params);
以下是一个意见稿,即.index.phtml:
但是,如何在链接到图像或样式表时获得正确的基本路径?(例如,在layout.phtml文件中):
和
$this->headLink()->appendStylesheet( WHAT_TO_TYPE_HERE . 'css/default.css');
WHAT_TO_TYPE_HERE
应该用给出的东西代替
在localhost上
您可以从Front Controller获取基本URL Zend_Controller_Front::getInstance()->getBaseUrl();
.我将它包装在一个视图帮助器中
class My_View_Helper_BaseUrl { /** * Get base url * * @return string */ public function baseUrl() { return rtrim(Zend_Controller_Front::getInstance()->getBaseUrl(),'/'); } }
所以在html标记中你有类似的东西.在帮助程序中删除了尾部斜杠,这样当应用程序没有在子文件夹中运行时(在这种情况下baseUrl是空白的),路径仍然可以工作.
如果有人想知道最好的方式,并且不想浪费2个小时搜索Zend/Google.有一个视图助手来做到这一点.
$this->view->serverUrl();
如果您想在layout
文件中托管名称,请打印此HOST
名称并获取您的姓名:
echo $this->serverUrl().$this->baseUrl()