我需要从相关字段中生成Slug作为后缀,但我只能作为前缀。我配置了SlugHandler,如下所示。
/**
* @ORM\Column(type="string", length=90, unique=true)
* @Gedmo\Slug(handlers={
* @Gedmo\SlugHandler(class="Gedmo\Sluggable\Handler\RelativeSlugHandler", options={
* @Gedmo\SlugHandlerOption(name="relationField", value="category"),
* @Gedmo\SlugHandlerOption(name="relationSlugField", value="name"),
* @Gedmo\SlugHandlerOption(name="separator", value="-"),
* @Gedmo\SlugHandlerOption(name="urilize", value="true"),
* })
* }, fields={"title"})
*/
private $slug;
这段代码创建了如下的Slug:"category-name-title",但我需要它作为 "title-category-name"。
这可以实现吗?
我不认为用现有的处理程序可以做到这一点。但你总是可以创建和使用你自己的自定义的 RelativeSlugHandler
class MyRelativeSlugHandler extends RelativeSlugHandler {
public function transliterate($text, $separator, $object) {
// change this method implementation as you like
}
}
在注释中替换为 class
与您的自定义路径 MyRelativeSlugHandler