有没有办法在 Silverstripe 表单中的标签字段或任何其他类型的表单字段周围添加包装器? 以这种方式设计表单样式会更容易。
FieldList::create(
LabelField::create('label','Label'),
EmailField::create('Email',''),
TextareaField::create('Comment','')
)
最佳答案
是的,根据文档,您可以为每个表单或每个字段设置模板,see docs.
$field = TextField::create(..);
$field->setTemplate('MyCustomTextField');
如果模板位于主题 /templates/
目录的子文件夹中,则需要设置模板的完整路径。
如果您需要全局更改模板,您可以在主题中覆盖它们。 LabelField的模板位于templates/SilverStripe/Forms/LabelField.ss
。
在主题中放置一个具有相同路径的文件(例如
主题/mytheme/templates/SilverStripe/Forms/LabelField.ss
),刷新您的 Silverstripe 缓存(例如,通过在 URL 中添加
?flush
来运行刷新),以便 Silverstripe 可以找到新的 模板文件,并开始尝试您的自定义标记。
仅当您添加新模板文件时才需要刷新,系统会自动检测现有文件的更新。
关于php - 有没有办法在 silverstripe 表单字段周围添加包装 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60349328/