我在模板中使用sonataadmin bundle和twig。 有一个带有文本字段的实体。带有网址的典型html代码可能包含在此文本字段中。 编辑文本的内容管理员不应该担心html结构。
我想制作一个简单的模板,像
这样的短代码[template=button_block]{url=>name} {url2=>name2} ...[/template]
哪个内容管理员可以以textarea格式粘贴,在页面上文本字段将转换为html
<div class="labels">
<div class="button">
<a href="url1>name1</a>
</div>
<div class="button">
<a href="url2>name2</a>
</div>
...
</div>
解决这个问题的方法是什么?
答案 0 :(得分:0)
您可以将模板文本作为实体类中的默认值添加到实体,或者在创建表单的数据选项中设置文本,或者可以在定义时将文本分配给控制器中的实体新对象,然后将其传递给表单。
所有3种方法都会为您提供表单中要编辑的示例文本,但在我看来,它们并不是最佳解决方案。
使用OneToMany或ManyToMany关系正确地设置您的实体到一个为您存储URI和名称的链接实体会更好。然后,您可以纯粹在树枝模板中控制链接列表的格式。您可以在http://symfony.com/doc/current/cookbook/form/form_collections.html找到一个指导您完成整个过程的教程。此选项将花费更长时间,但这是最好的方法,因为它保持视图分离,保持数据更清洁,并使用户不太可能错误地破坏模板。