Итак, у меня есть модуль, который отображает статьи. И я попытался сделать действие, которое отображало бы все статьи определенной публикации, когда эта публикация была нажата. Я попытался пойти по этому пути в уроках Symfony Jobeet, но столкнулся с некоторыми новыми головными болями. Поскольку публикации и авторы иногда могут быть недружелюбными, я хочу использовать слагов, и именно здесь я столкнулся с проблемой.
Итак, у меня есть модуль статьи, и я добавил правило маршрутизации, подобное этому
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) ?>
Я получаю эту ошибку:
"/ публикации /: публикация_slug"
Маршрут имеет некоторые пропущенные обязательные
параметры (: публикация_слуга).
Есть идеи? Большое спасибо!