0

我根据该字段的内容向该字段添加一个类,因此我可以根据内容对每个字段进行不同的样式设置。想象一下汉堡评分从 1 到 10...我想用一张图片替换评分,另外一张图片表示两个...等等。

为此,我需要每个字段类来反映字段内容。这是我正在使用的代码:

Drupal.behaviors.burgerRating = {
attach: function (context, settings) {
    var burgerRating = $('.field-name-field-rating2').text();
    $('.field-name-field-rating2').addClass(burgerRating);
    }
}

这会将字段的内容输出为我可以设置样式的类。然而,在一个博客视图中,例如页面上的三个帖子,当我想要每个字段实例的每个特定字段内容时,此代码将所有三个类添加到所有三个字段。

我得到的是:

<div class="field-name-field-rating2 rating-1 rating-5 rating-8">
<div class="field-name-field-rating2 rating-1 rating-5 rating-8">
<div class="field-name-field-rating2 rating-1 rating-5 rating-8">

代替:

<div class="field-name-field-rating2 rating-1">
<div class="field-name-field-rating2 rating-5">
<div class="field-name-field-rating2 rating-8">

我想我需要让它与 .this() 或 .each() 一起工作,但我无法让它工作。

有什么帮助吗?谢谢。

4

1 回答 1

0

为什么要在 Javascript 中这样做?你可以 :

格式化程序是显示字段的方式。这取决于字段的类型(textnumbertaxonomy_reference,...)。如果您的评分字段是文本字段,则必须为文本字段创建格式化程序。创建后,所有文本字段都可以使用此格式化程序。

您必须将此格式化程序与内容类型的显示选项卡上的字段相关联。

在此处输入图像描述

这是一个了不起的系统,您也可以为您的格式化程序添加设置表单(hook_field_formatter_settings_form

于 2014-10-03T12:55:09.277 回答