【发布时间】:2011-04-16 13:55:46
【问题描述】:
想象一个包含 4 个不同分类术语的博客。
我想显示“所有博客项目”,但每个带有“设计”一词的博客项目都会有不同的外观。所以我想要的是为节点内的行创建一个 CSS 类。我说的对吗?
我可能以一种粗俗、非常老套的方式做到了这一点,但就是这样:
if (isset($fields["tid"]->content)) {
unset($classes);
unset($class);
unset($classarray);
$classarray = explode(",", $fields["tid"]->content);
echo '<div class="';
foreach ($classarray as $class) {
$class = str_replace('<span class="field-content">', "", $class);
$class = str_replace("</span>", "", $class);
$class = str_replace(" ", "", $class);
echo strtolower($class) . " ";
unset($class);
}
echo '">';
}
else {
echo "<div>";
}
然后我在文件末尾有一个</div> 标签。
这确实需要您在定义内容类型时将分类详细信息添加为内容,并使用一些 CSS 将其隐藏。
好吧,我希望这可能对某人有所帮助,即使它的形式很糟糕。
【问题讨论】:
-
感谢您向我们提供最新进展。看起来您可能正在做比您需要做的更多的工作。可能值得研究一下,看看是否有一个元素 $fields['tid']->raw - 这可能会为您节省一些您在这里所做的解析/标签删除。
-
詹姆斯,我也在想同样的事情,但它发出的是一个 ID 而不是实际的单词。可能有一种方法可以通过在“内容类型”配置中将字段设置为“隐藏”来实现,但我无法使用所述“隐藏”设置跟踪结果。混蛋。
-
Kiorrik,这取决于您在视图字段中为分类选择的内容。如果我没记错的话,有分类术语和分类 ID - 无论如何,一个提供 tid(术语 ID),另一个提供实际术语(单词)。您可能还想转储整个相关的 $fields 元素以找到它。这就是 drupal 主题和编码的方式,您总是需要从这些巨大的数组中筛选出如此多的 **** 元素。
-
再次为答案干杯 :) 我仍然是 Drupal 的入门,但有很多乐趣 - 除了您花费数天时间在干草堆中寻找针头的部分。
-
感谢您的回复,Kiorrik,当您得到一些反馈时,提供答案总是更有趣。为您和您的网站带来成功。
标签: drupal drupal-7 drupal-taxonomy