0
所以我有一个显示文章的模块。我试图做出一个行动,显示出版物被点击时某个出版物的所有文章。我尝试了在symfony工作教程上这样做,但我遇到了一些新的麻烦。由于出版物和作者可以是某个URL不友好的,我想用子弹,而这正是我遇到了这个问题。路径问题的Symfony的
所以我有一篇文章模块和I加一个路由规则这样
publication_articles:
url: /publications/:publication_slug
class: sfDoctrineRoute
param: { module: article, action: publication }
options: { model: Article, type: list }
然后我添加了一个getPublicationSlug()函数来拿出空格和特殊字符文章类 - 没什么特别的。
我加入这个功能,动作类:
public function executePublication(sfWebRequest $request)
{
$this->articles = $this->getRoute()->getObjects();
}
当我尝试添加像这样的链接:
<a href="<?php echo url_for('publications/'.$article->getPublicationSlug()) ?>"><?php echo $article->getPublication() ?></a>
页面返回所有没有经过任何过滤的出版
上的文章如果我添加一个这样的链接:
<?php echo link_to($article->getPublication(), 'publication_articles', $article) ?>
我得到这个错误:
The "/publications/:publication_slug" route has some missing mandatory parameters (:publication_slug).
任何想法?非常感谢!
虽然上面会立即解决的问题,它看起来像你就会有下一个更深层次的问题。进一步查看自定义getter路由后,它看起来完全不受Doctrine支持,只有Propel。 sfDoctrineRoute将只匹配上实际存在的表定义,而sfPropelRoute使用反射来支持自定义的干将列。你需要将你的slug列添加到你的表格定义中才能使它工作。 – nortron 2010-01-11 02:05:42
感谢您的帮助。这是奇怪的BC这个页面说,这是由教条支持。 http://www.symfony-project.org/jobeet/1_2/Doctrine/en/07 – Danny 2010-01-11 02:10:04
我正在使用相同的教程来实现它,但我不能让它工作,因为他们说,所以我深入到实际的sfDoctrinePlugin代码并确认它。我希望我错了,但是我写了一个测试实现,并且无法使它工作。如果你找到一种方法使它工作,请让我知道。 – nortron 2010-01-11 02:53:21