最近在做的網站需要一個特殊的功能:標示「內容有雷」。
網站要介紹一些出版品,供讀者們討論。但是有些討論會牽涉到出版品的詳細內容,對於還沒看過的讀者來說,那殺傷力就很大了。
所以需要一個能夠標示「內容有雷」的功能,就像anobii的Spoiler alert一樣,勾選之後會有一個標示出現。
tky希望能夠作到把這個標示放到node和comment上頭,標示過後,可以設定CSS,讓該份內容在外觀上與其他一般內容不同,讓使用者一眼就看出來,避開「雷區」。
基本上,用flag就能夠作到這樣的標示,只是flag的功能裡頭沒法針對CSS做設定。
勉強有關的就是置頂和推薦到首頁的action,不過不太合用就是了。(如果有能夠增加CSS標籤的action就太好了)
希望大家推薦一下相關的模組或作法,謝謝。
Re: ...
theming 解決不能嗎 ?
if ( flag = boom) { print CSS}
還有是, 己經FLAG的東西, class中會多了unflag-action / flagged ..etc
Re: ...
多謝Kay的建議。
tky用firebug看了一下,找到Kay說的「己經FLAG的東西, class中會多了unflag-action / flagged」部份。
不過這部份僅限於flag的連結,沒辦法套用到整個node。
修改tamplate、加入程式碼的方式可能行得通。
試試看。
tky
Re: ...
如果用 jquery 呢 ? ~ jquery 能改變 css 的。
Re: ...
是喔?那要怎麼做呢?
tky
Re: ...
我是這樣做的~
有一個分類欄位(radio) & 其它欄位(text)
當user 選到分類中的其他 那 其它欄位就秀出來,
而 jquery 就判斷其 radio 的值,來將 其它欄位的 display:none
$(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();
});
});
Re: ...
一開始也是想說用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再另外編輯。