【问题标题】:Symfony use_javascript() routing issueSymfony use_javascript() 路由问题
【发布时间】:2011-09-12 22:23:51
【问题描述】:

我正在使用 symfony 1.4.11;使用_helper('Url')。

关于使用 link_to('new',course/course/type/new), 它显示的网址是 ../backend_dev/backend_dev/Course/course/type/new 代替 ../backend_dev/Course/course/type/new. form_tag 也存在同样的问题。

编辑

上述问题已解决。通过在配置中设置 no_script_name: true 并清除缓存。

但是 image_tag(),use_stylesheet() 和 use_javascript() 给出了路径,例如

use_javascript('jquery-1.6.1.min.js') ==>../web/backend_dev/js/jquery-1.6.1.min.js

而不是

use_javascript('jquery-1.6.1.min.js') ==>../web/js/jquery-1.6.1.min.js

任何帮助表示赞赏。

【问题讨论】:

  • 您是否更改了 sf_web_dir 配置?相对路径是怎么回事?

标签: symfony1 routing web-hosting


【解决方案1】:

如果没有完整的 routing.yml 很难说,但我看到的一件事是你的 internal_uri 应该表示为带有查询字符串的 abs url,例如:

link_to('new','/Course/course?type=new');

注意开头的正斜杠。此外,模块名称应该是真正的模块名称,而不是路由名称,因此如果 maodule 是 /apps/backend/modules/Course 那么内部 URI 中的模块应该是 Course 而不是 course 与操作名称相同。

如果路由被命名,那么你应该使用以下之一:

link_to('new','@routename?type=new');

link_to('new','routename', array('type'=>'new'));

【讨论】:

  • +1,感谢您的回复,先生。请考虑问题的编辑部分。
  • 你是如何配置的? backend_dev 不应该是一个文件夹,它应该是web 中的单个 php 文件,即。 backend_dev.php 你的网络服务器(或虚拟主机)应该映射到你的网络文件夹。
  • 先生,web文件夹中没有backend_dev文件夹.backend_dev.php文件。如何映射到服务器中的web文件夹
  • 取决于 Web 服务器。如果您使用的是 apache,那么 create a virtual host。我通常使用自定义主机名而不是不同的端口...但无论您喜欢什么...
  • @Bhanu Krishnan:如果您没有将它映射到 backend_dev/ 文件夹,那么它似乎不会开始。你知道这是开箱即用的 symfony 安装,还是你/某人调整了 symfony 配置 URL?
猜你喜欢
  • 2017-09-10
  • 2011-05-20
  • 1970-01-01
  • 1970-01-01
  • 2013-01-18
  • 2011-04-18
  • 1970-01-01
相关资源
最近更新 更多