您在這裡

用什麼模組可以做出「內容有雷」的標示?

tky's 的頭像
tky 在 2009-08-10 (週一) 13:00 發表

最近在做的網站需要一個特殊的功能:標示「內容有雷」。
網站要介紹一些出版品,供讀者們討論。但是有些討論會牽涉到出版品的詳細內容,對於還沒看過的讀者來說,那殺傷力就很大了。
所以需要一個能夠標示「內容有雷」的功能,就像anobii的Spoiler alert一樣,勾選之後會有一個標示出現。

tky希望能夠作到把這個標示放到node和comment上頭,標示過後,可以設定CSS,讓該份內容在外觀上與其他一般內容不同,讓使用者一眼就看出來,避開「雷區」。
基本上,用flag就能夠作到這樣的標示,只是flag的功能裡頭沒法針對CSS做設定。
勉強有關的就是置頂和推薦到首頁的action,不過不太合用就是了。(如果有能夠增加CSS標籤的action就太好了)

希望大家推薦一下相關的模組或作法,謝謝。

多謝Kay的建議。
tky用firebug看了一下,找到Kay說的「己經FLAG的東西, class中會多了unflag-action / flagged」部份。
不過這部份僅限於flag的連結,沒辦法套用到整個node。

修改tamplate、加入程式碼的方式可能行得通。
試試看。

tky

tky

我是這樣做的~
有一個分類欄位(radio) & 其它欄位(text)
當user 選到分類中的其他 那 其它欄位就秀出來,
而 jquery 就判斷其 radio 的值,來將 其它欄位的 display:none

<?php print drupal_render($form['field_my_category']); ?>

$(document).ready(function() {

if( $('input[@type="radio"][@name="field_my_category[key]"][@checked]').val() != '6') {
$("#fm_field_my_category_other").hide();
}

$('input[@type="radio"][@name="field_my_category[key]"]').click( function () {
if ( $(this).attr('value') == '6') { $("#fm_field_my_category_other").show(); }
else { $("#fm_field_my_category_other").hide(); }
$(this).blur();
});

});

<?php print drupal_render($form['field_my_category_other']); ?>

一開始也是想說用Flag+Content template

Flag設定好之後,新增sites/all/contemplates/node-內容類型-body.tpl.php

裡面寫
if($Flag){print XXX}

後來覺得還要研究Flag好麻煩(這邊),覺得其實用CCK的一個欄位,應該會更方便。

在sites/all/contemplates/node-內容類型-body.tpl.php裡面,直接

<?php if($node->field_layy['0']['value']) { ?>

<?php } ?>

<?php print $body ?>

然後CSS再另外編輯。