如果slug是空的,如何使用sluggable handler?

时间:2017-12-11 16:11:31

标签: php symfony slug doctrine-extensions

我使用Symfony 3框架和可缓慢的学说扩展。我需要用这样的代码生成一个slug:

<?php
/**
 * @Gedmo\Mapping\Annotation\Slug(handlers={
 *      @Gedmo\Mapping\Annotation\SlugHandler(class="Gedmo\Sluggable\Handler\TreeSlugHandler", options={
 *          @Gedmo\Mapping\Annotation\SlugHandlerOption(name="parentRelationField", value="parent"),
 *          @Gedmo\Mapping\Annotation\SlugHandlerOption(name="separator", value="/")
 *      })
 * }, fields={"title", "code"})
 * @Doctrine\ORM\Mapping\Column(length=64, unique=true)
 */
private $slug;

我使用TreeSlugHandler,但是我想使用这个处理程序,只有在没有设置slug时(如果它是空的),因为处理程序重写了slug。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

您需要将updatable设置为false。 The documentation is here

相关的一行是:

  

updatable(可选,默认= true) - 如果更新了slug,则为true   可缓慢的字段变化,错误 - 否则

前:

/**
 * @Gedmo\Slug(fields={"meta_title"}, updatable=false)
 * @ORM\Column(length=128, unique=true)
 */
private $slug = "";