【发布时间】:2012-03-10 13:58:48
【问题描述】:
我正在处理现有项目。我有以下两个网址
http://example.dev/en/course/myUserName/myCourseName/150/myChapterName/1016/page/1/?hcid=147
http://example.dev/en/course/myUserName/myCourseName/150/myChapterName/1016/page/2/?hcid=147
第二个 URL 工作正常,但第一个 URL 给了我以下 错误:
Unable to find a matching route to generate url for params "array ( 'action' => 'showChapter', 'module' => 'course', 'courseowner' => 'myUserName', 'coursename' => 'myCourseName', 'courseid' => '150', 'chaptername' => 'myChapterName',)".,
referer: http://example.dev/en/course/myUserName/myCourseName/150/myChapterName/1016/page/1/?hcid=147
我在 routing.yml 中有以下条目:
course_chapter:
url: /:sf_culture/course/:courseowner/:coursename/:courseid/:chaptername/:chapterid/:page/:pageid/
param: { module: course, action: showChapter }
requirements:
courseid: \d+
url_for():
<?php $headchapter = ($hcid) ? '?hcid='.$hcid : '' ?>
<a href="<?php echo url_for('course/showChapter?courseowner='.$sf_params->get("courseowner").'&coursename='.$sf_params->get("coursename").'&courseid='.$sf_params->get("courseid").'&chaptername='.$chapter->getName().'&chapterid='.$chapter->getId().'&page=page&pageid=1').$headchapter ?>">
我无法理解它对第二个 URL 而不是第一个 URL 的工作原理。我检查了action和view,没有发现任何错误。
任何想法或调试技术??
【问题讨论】:
-
请同时发布你的
url_for函数的代码,它必须生成url -
@osamson:我已将
url_for()代码添加到问题中。这里$hcid=147
标签: php symfony1 routing url-routing