有没有办法在 silverstripe 表单字段周围添加包装器 div
Is there a way to add a wrapper div around a silverstripe form field
有没有办法在 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
。
在您的主题中放置一个具有相同路径的文件(例如
themes/mytheme/templates/SilverStripe/Forms/LabelField.ss
),
刷新您的 Silverstripe 缓存(例如通过将 ?flush
添加到 URL 来 运行 刷新)以便 Silverstripe 可以找到新的
模板文件,
并开始试验您的自定义标记。
只有在添加新模板文件时才需要刷新,系统会自动检测现有文件的更新。
有没有办法在 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
。
在您的主题中放置一个具有相同路径的文件(例如
themes/mytheme/templates/SilverStripe/Forms/LabelField.ss
),刷新您的 Silverstripe 缓存(例如通过将
?flush
添加到 URL 来 运行 刷新)以便 Silverstripe 可以找到新的 模板文件,并开始试验您的自定义标记。
只有在添加新模板文件时才需要刷新,系统会自动检测现有文件的更新。