php - Zend Framework 布局中的图像

标签 php zend-framework

我在这里有点迷路,解决方案可能潜伏在我的眼皮底下,但我无法得到,想到你们是否有人可以提供帮助。

问题来了: 我有 Zend Framework 标准文件布局:

Project
  -application
     -controllers
     -views 
     -layouts
        -scripts
           -layouts.phtml
  -library
  -public
     -images
     -index.php

现在的问题是,我在 layouts.phtml 中仅通过 images/logo.gif 等引用图像,在 Controller View /images/arrow.gif 中也是如此

如果请求很简单,效果很好 http://servername/project/controller

但是如果请求更深,比如 http://servername/project/controller/index/page/2

图像自行损坏,它们显然无法获取路径,我注意到的是,如果我稍后请求,图像路径将为 http://servername/project/controller/index/page/2/images/logo.gif不存在,图像在 public/images 中

我的理解是(我也用谷歌搜索了一下)框架知道默认的 public 并且总是将图像路由到 public/images 。但是,这是行不通的。我是否必须添加一些重写规则或其他内容?

有人可以帮忙吗?我将不胜感激!

最佳答案

有时候你应该先问问坐在你旁边的人!

解决方法如下:

<?=$this->baseUrl('images/logo.gif')?>

进一步调查后编辑

为了记录和帮助他人:如果您正确配置了 DocumentRoot,您可以像在非 Zend 框架环境中一样访问公共(public)图像文件夹。我只在我的 httpdconf 中创建了一个虚拟目录,而如果你不创建 VirtualHost 并且不给它 DocumentRoot 而你的文件也不在默认的 htdocs 目录中,那么会出现这个问题。请参阅以下 URL 中的创建虚拟主机标题: http://framework.zend.com/manual/en/learning.quickstart.create-project.html这将解决问题!

关于php - Zend Framework 布局中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3414289/

相关文章:

php - 共享主机上未加载 PDO 扩展

php - XDebug 不适用于 xampp

php - 在表中搜索以查找 set_id 是否存在 IP 地址

php - 自定义YouTube BBcode <object>不允许全屏观看

php - 基于 "visible"项目的 sql 项目编号

php - 使用复选框过滤多个类别

zend-framework - Zend_Form_Element 不同操作上的不同渲染

php - 更改 auth_redirect() 页面

php - 创建表时获取语法

database - 如何使用适配器获取 ZF 中的 Row 对象进行查询?