【发布时间】:2011-09-20 20:15:58
【问题描述】:
我在 Google 上搜索了答案,但大多数帖子似乎都在谈论表单中的标签。我在 Drupal 7 的内容块中设置了自定义字段。当我显示这些自定义字段的标题(标签)时,它会在标题后添加一个冒号。有没有办法去除它们?
【问题讨论】:
标签: drupal drupal-7 drupal-theming
我在 Google 上搜索了答案,但大多数帖子似乎都在谈论表单中的标签。我在 Drupal 7 的内容块中设置了自定义字段。当我显示这些自定义字段的标题(标签)时,它会在标题后添加一个冒号。有没有办法去除它们?
【问题讨论】:
标签: drupal drupal-7 drupal-theming
您需要覆盖 field.tpl.php 来执行此操作(冒号被硬编码到该模板文件中)。
在您的主题文件夹中的任意位置创建 field.tpl.php,将上述链接中的代码复制到其中,对其进行调整(删除冒号等),然后清除您的缓存:一切都会好起来的!
【讨论】:
覆盖 field.tpl.php 并在冒号周围添加一个跨度(带有类),然后使用 CSS 隐藏冒号。这使您可以灵活地决定何时隐藏冒号。对于设置为上述的标签,您可能希望隐藏冒号,对于设置为内联的标签,您可能希望保留冒号。
示例:
在您的 Drupal 安装文件夹中,查看 modules/field/theme 并将 field.tpl.php 文件复制到您的主题中。
对于 D7,编辑 field.tpl.php 并将 <?php print $label ?>:&nbsp; 更改为 <?php print $label ?><span class="field-label-colon">:&nbsp;</span>
在您的主题 CSS 样式表中添加 .field-label-colon{display: none;} 或仅隐藏 .field-label-above .field-label-colon{display: none;} 上方的标签标签
【讨论】:
我只是想在这个话题上加点盐。我已经尝试这样做了几次,我通常最终为要删除列的每个字段创建一个自定义模板文件,我认为这不是一个好的解决方案,因为标签的存在取决于设计; 在良好的 MVC 结构中,此功能应由视图 (CSS) 控制,而不是模型(PHP 模板)。
这一次我做了什么:
modules/field/theme/field.tpl.php 复制到您的主题中。在列周围添加一个跨度:
<?php print $label ?><span class="label-suffix">:&nbsp;</span>
添加 CSS 指令以删除您的设计需要删除它的列:
#sidebar-first .label-suffix {
display: none;
}
【讨论】: