php - 有没有办法在 silverstripe 表单字段周围添加包装 div

标签 php html forms silverstripe silverstripe-4

有没有办法在 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

  1. 在主题中放置一个具有相同路径的文件(例如 主题/mytheme/templates/SilverStripe/Forms/LabelField.ss),

  2. 刷新您的 Silverstripe 缓存(例如,通过在 URL 中添加 ?flush 来运行刷新),以便 Silverstripe 可以找到新的 模板文件,

  3. 并开始尝试您的自定义标记。

仅当您添加新模板文件时才需要刷新,系统会自动检测现有文件的更新。

关于php - 有没有办法在 silverstripe 表单字段周围添加包装 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60349328/

相关文章:

javascript - HTML5 : Playing live Opus audio frames without browser plug-in

html - 将元素添加到导航栏

javascript - 如何在 select 表单中使用 if else 语句?

php - 将日期发布到我的数据库中

php - 更改页面时保持 session (用户 ID)相同

php - NicEdit上传到你自己的服务器上

php - 从 PHP 脚本执行包含 FFmpeg 的 shell 脚本

php - 在终端中运行 php 脚本,直到按下一个键

javascript - 获取文本框的背景颜色

javascript - 如何根据多个框中的选择启用/禁用复选框