如何在 Drupal 视图块中自定义 HTML 结构

Posted

技术标签:

【中文标题】如何在 Drupal 视图块中自定义 HTML 结构【英文标题】:How to customise HTML structure in Drupal view block 【发布时间】:2014-12-04 12:25:41 【问题描述】:

我目前正在用 Drupal 开发一个网站。我有大量内容类型为“新闻”的新闻文章。我想创建一个小部件以显示在列出最新文章的几个页面的底部。到目前为止,我已经设法通过使用我想要的字段创建视图然后将视图作为块提供来实现。

问题在于文章在视图中列出的格式。理想情况下,我想自定义 html。我知道我可以创建一个自定义模板来定位视图/块,但我还没有完全理解它,并且发现 Drupal 文档非常枯燥,因此很难找到我需要的东西。

任何指针都会有所帮助。

【问题讨论】:

【参考方案1】:

转到您的视图编辑页面并选择“表格”作为您的视图模式。

转到“主题信息”并查找所需的(样式输出)模板名称。

复制此名称并使用此名称在您的主题文件夹中创建一个新文件。即:views-view-table--view-name-block.tpl.php

在此文件中,您可以使用以下结构(作为示例)来获取字段的值:

<?php foreach($rows as $row):?>
<div>
<h2><?php print $row['title'];?></h2>
<p><?php print $row['field_custom'];?></p>
</div>
<?php endforeach;?>

在视图主题部分保存文件后,不要忘记按重新扫描主题文件。

您可以根据需要获得尽可能具体的信息。在默认或页面视图旁边创建一个块视图,您将在“主题信息”部分看到特定的文件名。

【讨论】:

我已经设法创建了 tpl 文件并将其拉入。$rows 变量虽然为 NULL,但我该如何检索它?我的模板有一个相当长的名字:block--views--home-locations-services-block-1.tpl.php 啊我明白了...应该正确阅读您的答案。看着他们的信息给了我知识。干杯老兄。

以上是关于如何在 Drupal 视图块中自定义 HTML 结构的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Drupal 8 中自定义/样式/主题自定义内容类型的输出?

如何在 Drupal 6 的视图中创建自定义样式输出?除了 Grid、Table、HTML 列表?

当自定义模板已应用于节点的内容类型时,如何在 Drupal 6 中自定义特定节点?

Drupal 7 视图中的块中暴露的过滤器

自定义字段的drupal主题化视图:PHP代码

使用drupal 7的视图块中未显示图像