Редактировать Я использую Symfony 3.2
Ok Я нашел решение по моей собственной личности. Вот что я сделал.
Сначала прочитайте это из документа symfony. Использование ConvertParamater Это действительно легко осуществить http://symfony.com/doc/current/best_practices/controllers.html#using-the-paramconverter
После реализации она:
Установите StofDoctrineExtensionBundle
в composer.json
"требуют": { «Stof/Доктрина-extensions- bundle ":" ~ 1.1 " }
Не забывайте обновлять файл appKernel.php
<?php
// app/AppKernel.php
public function registerBundles()
{
return array(
// …
new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
// …
);
}
Затем настроить файл config.yml:
# app/config/config.yml
# Stof\DoctrineExtensionsBundle configuration
stof_doctrine_extensions:
orm:
default:
sluggable: true
Затем я добавляю свойство пробкового к моим Новостям Entity:
private $slug;
Затем я обновляю свой News.orm.yml файл пробковые: типа: строка длина: 255 уникально: ложные gedmo: пробковое: разделительные: _ стиль: верблюд поля: - название
Тогда я
doctrine:generate:entites myBundle:News
А также `Доктрина схемы: обновление --force
Это создало поле пробкового в моем Новости.Поскольку это поле не может быть пустым, я вручную введен некоторое значение, так что каждый ряд моих новостей таблицы имеет действительный слизняк
Тогда в моей NewsController Я использую эту строку коды:
$this->generateUrl('myroute_news_show_one_by_id', array('slug' => $news->getSlug()), UrlGeneratorInterface::ABSOLUTE_URL);
return $this->render('MyBundle:News:single_post.html.twig', [
'news' => $news,
'tags' => $arrTagNames
]);`
И в моем шаблон Twig Я создаю ссылку хотел показать одну новость:
<a href="{{ path('myroute_show_one_by_id', {'slug': news.slug}) }}">{{news.title}}</a>
Я надеюсь, что это может помочь кому-то еще