У меня есть навык сущности и есть полевая ошибка из полевого навыка, и когда я создаю навык и пишу C++, slug = c ИЛИ если create C. - have slug = c ИЛИ, когда создается C#, все еще есть пробковый = с. Я думаю, что в Гедмо есть что-то регулярное выражение. Может быть, кто знает, как переписать Gedmo slug или hot, чтобы исправить эту проблему?Symfony генерировать slug для объекта, если конкретный символ
use Gedmo\Mapping\Annotation as Gedmo;
/**
* Skills.
*
* @ORM\Table(name="code_directory_skills")
*/
class Skill
{
use Timestampable;
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @Expose()
* @Groups({"for_skill_by_id", "for_all_skills", "for_all_skills_extended"})
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="skill", type="string", length=255)
* @Expose()
* @Groups({"for_skill_by_id", "for_all_skills", "for_all_skills_extended"})
*/
private $skill;
/**
* @Gedmo\Slug(fields={"skill"}, updatable=true)
* @ORM\Column(name="slug", type="string", nullable=false)
* @Groups({"for_skill_by_id", "for_all_skills", "for_all_skills_extended"})
* @Expose()
*/
protected $slug;
Я создаю слушателя
namespace Artel\ProfileBundle\Listener;
use Gedmo\Sluggable\SluggableListener as BaseSluggableListener;
class SluggableListener extends BaseSluggableListener
{
public function __construct()
{
$this->setTransliterator(array('\Artel\ProfileBundle\Util\Transliterator', 'transliterate'));
}
}
и создать переводчик в $ текста У меня есть C++, то в
Urlizer::urlize($text, $separator) //have have C
класс:
use Gedmo\Sluggable\Util\Urlizer;
class Transliterator
{
public static function transliterate($text, $separator = '-')
{
$text = Urlizer::unaccent($text);
return Urlizer::urlize($text, $separator);
}
}
меняю
class Transliterator
{
public static function transliterate($text, $separator = '-')
{
$text = Urlizer::unaccent($text);
return $text; //have C++
}
}
но в БД по-прежнему имеют только пробкового = с
и конфиг это расширение:
stof_doctrine_extensions:
class:
sluggable: Artel\ProfileBundle\Listener\SluggableListener
default_locale: "%locale%"
orm:
default:
timestampable: true
sluggable: true
softdeleteable: true
Как в Транслитератор включить конкретный символ для Sluggable? Кто знает ? Когда отладка дважды входит в число скепсителей Transliterator
Обновить мой вопрос. Как в Transliterator включить определенный символ для sluggable? –