1

嗨,我是 Drupal 新手,我真的在为这个 CMS 的最佳实践而苦苦挣扎。现在我正在尝试使用 Panels 3 Module 来创建我的网站页面,其中包含我创建的自定义布局。我似乎无法理解的是来自面板以及 drupal 安装中的每个单独模板(node.tpl、字段函数、region.tpl 等)的大量过度标记。我需要创建一些非常精细的网站设计,而从 Drupal 模板和字段函数生成的 html 确实让我的工作变得不可能。我习惯了 wordpress,我可以简单地创建一个数据库查询示例(wp_query()),获取我需要的值并将它们显示在我想要的任何标记中。我在 Drupal 中缺少什么?我真的应该在 Drupal 中一直覆盖 7 个模板文件到字段级别以获得一些干净的标记吗?我在这里想念什么?

4

1 回答 1

0

在您自己的主题template.php中,您可以实现theme_field()挂钩以设置每个字段的输出样式。区域、块、节点、页面也存在类似的钩子。只需复制默认代码并进行修改即可。

这是一个示例,我通常如何简化例如内容滑块的输出:

function yourtheme_field__field_slidertext(&$variables) {
  $output = '';
  foreach ($variables['items'] as $delta => $item) {
    $output .= '<li class="slide">' . drupal_render($item) . '</li>';
  }
  $output = '<ul class="slider">' . $output . '</ul>';
  return $output;
}

如果您想要一种更简单的方法来去除标记并为字段选择一些常见的输出选项,请查看Drupal Fences模块。

于 2013-07-02T23:28:26.787 回答