在我的Symfony2.6.6项目中,我有一个category
实体。我不知道如何正确地说,但是使用doctrine树扩展来创建一个category
实体的树,如:
现在,在创建用于创建新类别的表单类型时,我想自定义parent
字段的数组。
我使用的代码
$builder->add('parent', 'entity', array('class' => 'AcmeBlogBundle:Category', 'property' => 'title'));
只生成一个包含所有标题的数组。但我希望数组值附加一个' - '对于树的每个级别。例如,类别1将是' - 类别1'和儿童类别1将是' - 儿童类别1'。我怎么能这样做?
很抱歉,如果之前有人询问,我也不知道如何搜索。
答案 0 :(得分:1)
好吧,假设您拥有属性 getLevel(),它将返回您当前项目的级别。然后在您的类别实体文件中,创建一个简单的方法,例如 getIndentedTitle thar将根据其级别返回您的预定义类别。
public function getIndentedTitle() {
return sprintf(
'%s %s',
str_repeat('-', $this->getLevel()),
$this->getTitle()
);
}
以下代码将添加与当前类别级别一样多的“ - ”符号,并在其旁边附加其标题。
然后在表单构建器中,您必须指定使用该方法:
$builder->add('parent', 'entity', array('class' => 'AcmeBlogBundle:Category', 'property' => 'indentedTitle'));
的更多信息
希望你明白了。