web-dev-qa-db-ja.com

CCKチェックボックスがチェックされている場合、画像を画像として表示する

私はコンテンツを表示するビューといくつかのアイコンがあるウェブサイトを作成しています。これらのアイコンは、何か利用できる天気をユーザーに知らせます。たとえば、 このサイト のアイコンは、聞くことができる音がないが、視聴するビデオがあることを示します。アイコンは次のとおりです。

screenshot

「探す」ボタンとビデオボタンは黒ですが、残りのボタンはグレー表示されています。 (実際には、天気に応じて2つの異なる画像が表示されているか、リンク先が表示されていません。)それらがグレー表示されているのは、リンク先が利用できないためです。

私が欲しいのはとてもよく似たものです。天気に応じて、またはCCKフィールドの1つのチェックボックスがオンになっていないかによって、灰色または黒のアイコンがいくつか必要です。

これを行うにはどうすればよいですか?ビューでできますか?使用できるスクリプトはありますか?

5
Ephraim

ビューを使用せずにコンテンツ内で実行する場合は、条件付きphpをカスタムノードテンプレートファイルに追加できます。コンテンツタイプが「train」という名前の場合、「」という名前のファイルを作成できます。 node-train.tpl.php」を作成し、テーマのフォルダー内に配置します。

Node-train.tpl.phpファイルでは、trainノードの作成時に選択されたcck値に基づいて、そのノードのコンテンツを表示できます。次にコードの例を示します。

<?php if($node->field_image_select[0]['value'] =='Image 1'):?>
//If the author selects the cck checkbox value of "Image1" display this.
<img src ="../path/to/image/image1.jpg />
<?php endif;?>

<?php if($node->field_image_select[0]['value'] =='Image 2'):?>
 //If the author selects the cck checkbox value of "Image1" display this.
<img src ="../path/to/image/image2.jpg />
<?php endif;?>

ビューの表示内でこれを行う場合は、電車のノードのみを表示するビューを作成し、表示タイプを「ノード」に設定する必要があります(デフォルトでは表示タイプ「フィールド」)...ビューに「train_summary」という名前を付けてから、テーマのフォルダー内に「node-view-train_summary.tpl.php」という名前の新しいファイルを作成します-上記のコード例は、作成したファイルとそのタイプごとに使用できますあなたのサイトに表示の範囲が表示されると、そのコードからの出力が表示されます。

3
user2014

フィールドの結果を書き換える必要があります。 NodeOneには何をすべきかを説明するビデオがいくつかあり、これは http://nodeone.se/blogg/learn-views-with-nodeone-part-17-rewriting-fields が情報を持っていると思いますあなたが必要です。

短い答えは、フィールドを構成する>結果を書き換える>このフィールドの出力を書き換えてから、利用可能なフィールドのみを表示する「置換パターン」を使用することです(リストの後に続くフィールドは使用できません)。

[field_NAME] _icon.pngを使用して[field_NAME]を黒または灰色にして、正しいアイコンを読み込むことができます。これは、ブラックとグレーが各フィールドのラジオボタンの許容値である場合に機能します。チェックボックスは似ているはずですが、問題のために使用する必要はありませんでした。

3
nmillin