gpt4 book ai didi

Drupal View 2 : Output using custom markup

转载 作者:行者123 更新时间:2023-12-01 13:03:30 24 4
gpt4 key购买 nike

我有一个抓取 4 个字段的简单 View ,基本上它抓取了特定内容类型的字段。字段如下:
CSS类(纯文本)
图片(图片)
标题
正文

很简单的东西。我已经创建了 View ,但我需要以专门的方式输出内容,我无法确定这些内容如何与我的构建中的自定义标记一起分解。我需要将每一行包装在一个容器中,每一行分解成它自己的容器,看看下面的代码。

   <div id="homepage-folio-portlets">
<div class="homepage-folio-portlet [CSS class]">
<div class="homepage-folio-portlet-image"><img src="[Image]" width="450" height="330" alt="" class="[CSS class]-image" /></div>
<div class="homepage-folio-portlet-text">
<strong>[Title]</strong>
<p>[Body]</p>
</div>
</div> <!-- /homepage-folio-portlet -->
</div> <!-- /homepage-folio-portlets -->

所以我有一个容器,homepage-folio-portlets,我想在其中迭代 View ,使用 homepage-folio-portlet< 类创建一个新容器/em> 对于返回的每一行,包括该行的 CSS 类。

我最大的障碍是弄清楚如何在 template.php 中构建我的 .tpl 文件或主题函数。我了解命名约定,但一旦进入内部,我真的不知道该怎么做。我有一种感觉,无论哪种方式,我都需要在 template.php 中做一些魔术,以确保我的行输出知道内容中的 CSS 类,但谁知道呢。感谢任何帮助和指导。

最佳答案

看完上述video如何完成我打算做的事情变得更加清楚了。最大的“啊哈”是“行样式输出”模板的默认代码因为 foreach 循环而让我感到困惑。我没有意识到我可以在没有循环的情况下以我认为适合此文件的任何方式简单地输出每个字段。该视频展示了如何使用以下速记 $fields['ID-of-field']->content 单独引用您的字段。要获取“ID-of-field”,它就像在特定 View 的“主题信息”选项 Pane 中滚动经过“显示输出”、“样式输出”和“行样式输出”链接一样。

我使用在 View 的编辑屏幕中找到的“主题信息”来确定“行样式输出”的最具体的 .tpl 来创建并创建它,在本例中为 view-view-fields--my-view -name--default.tpl.php.

view-view-fields--my-view-name--default.tpl.php - 行输出 .tpl 文件
(不再使用默认的 foreach,因为我知道我想要的字段,而不是遍历字段,我可以简单地输出它们,我认为合适)

   <div id="homepage-folio-portlets">
<div class="homepage-folio-portlet <?php print $fields['CSS_class']->content ?>">
<div class="homepage-folio-portlet-image"><img src="<?php print $fields['Image']->content ?>" width="450" height="330" alt="" class="<?php print $fields['CSS_class']->content ?>-image" /></div>
<div class="homepage-folio-portlet-text">
<strong><?php print $fields['Title']->content ?></strong>
<p><?php print $fields['Body']->content ?></p>
</div>
</div> <!-- /homepage-folio-portlet -->
</div> <!-- /homepage-folio-portlets -->

之后,我对“样式输出”和“显示输出”.tpl 文件进行了一些递归,以去除 Drupal 添加的所有额外标记。请注意,我真正关心的是打印出样式为 .tpl 的 $row(使用它的 foreach 循环)和显示 tpl 中的 $rows。它输出的正是我想要的,我再高兴不过了。最后,它是有道理的。希望这对其他人有帮助。

仅供引用...

views-view-unformatted--my-view-name--default.tpl.php - 样式 .tpl 文件
(想在这里保留 foreach 循环以便输出每一行)

<?php foreach ($rows as $id => $row): ?>
<?php print $row; ?>
<?php endforeach; ?>

views-view--my-view-name--default.tpl.php - 显示 .tpl 文件

<?php print $rows; ?>

通过删除所有额外的标记,我丢失了特定于 View 的重要内容,例如管理链接等,但就我的目的而言,这很好。

关于Drupal View 2 : Output using custom markup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4370525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com