【问题标题】:CSS class assigned to a taxonomy term分配给分类术语的 CSS 类
【发布时间】: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>";
}

然后我在文件末尾有一个&lt;/div&gt; 标签。

这确实需要您在定义内容类型时将分类详细信息添加为内容,并使用一些 CSS 将其隐藏。

好吧,我希望这可能对某人有所帮助,即使它的形式很糟糕。

【问题讨论】:

  • 感谢您向我们提供最新进展。看起来您可能正在做比您需要做的更多的工作。可能值得研究一下,看看是否有一个元素 $fields['tid']->raw - 这可能会为您节省一些您在这里所做的解析/标签删除。
  • 詹姆斯,我也在想同样的事情,但它发出的是一个 ID 而不是实际的单词。可能有一种方法可以通过在“内容类型”配置中将字段设置为“隐藏”来实现,但我无法使用所述“隐藏”设置跟踪结果。混蛋。
  • Kiorrik,这取决于您在视图字段中为分类选择的内容。如果我没记错的话,有分类术语和分类 ID - 无论如何,一个提供 tid(术语 ID),另一个提供实际术语(单词)。您可能还想转储整个相关的 $fields 元素以找到它。这就是 drupal 主题和编码的方式,您总是需要从这些巨大的数组中筛选出如此多的 **** 元素。
  • 再次为答案干杯 :) 我仍然是 Drupal 的入门,但有很多乐趣 - 除了您花费数天时间在干草堆中寻找针头的部分。
  • 感谢您的回复,Kiorrik,当您得到一些反馈时,提供答案总是更有趣。为您和您的网站带来成功。

标签: drupal drupal-7 drupal-taxonomy


【解决方案1】:

要显示“所有博客项目”,您需要创建一个视图。

然后您可以为该视图创建一个自定义模板,对其进行更改以将分类术语作为类名插入 HTML。

【讨论】:

  • 知道这应该是什么模板(dislpay 输出、样式输出、行样式输出),要添加什么变量等?就像我说的,我对 Drupal 的了解很少……所以,我很抱歉,但我需要更多细节:(
  • 看起来你在上面得到了一些。我希望我能发表更多评论,但每当涉及到主题化视图时,我总是必须自己浏览这些文件和变量。必须说,drupal for firebug 模块对这个过程有很大帮​​助 - 它可以为您节省大量时间。祝你的主题和代码好运!
  • 非常感谢,一定会试试的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-16
  • 1970-01-01
  • 1970-01-01
  • 2012-07-27
相关资源
最近更新 更多