nodeの分類用語によって、表示させるブロックを変える方法について

Events happening in the community are now at Drupal community events on www.drupal.org.
jun-gdo's picture

Drupal6.xを使っています。
nodeの分類用語によって、表示させるブロックを変えたいです。
たとえば分類用語「りんご」を含むnodeでのみ「りんごの写真」ブロックを表示させたいです。
上記の機能のモジュールや他の方法はありますか?

以前使っていたDrupal5ではBlock Termモジュール( http://drupal.org/project/blockterm )でnodeの分類用語によってブロックの表示を変えることが出来ました。
上記URLを見るとDrupal6ではtemplate_preprocess_blockを設定することでモジュールの代替になるようなことが書いてありますが、方法がわかりません。

Comments

初心者ですが..

xbro's picture

上記のJunさんのやりたい事に似てるような事が書いてあるページ見つけました。書いてある事は実際わかりません..

http://drupal.org/node/134428

求めてるtemplate_preprocess_blockでのやり方とは相当違うようですね。

Scott

Scottさん返答ありがと

jun-gdo's picture

Scottさん返答ありがとうございます。
教えていただいたURL( http://drupal.org/node/134428 )をみて試してみたのですが、うまく動きませんでした。
私のやり方が悪かったのかエラーが出てDrupalが動かなくなっていまいました。
後でもう少し試してみようと思います。

Panels? db_rewrite_sql

xbro's picture

下記リンクのhttp://drupal.org/node/248247ではPatchを書いてる本人はPanelsを使用してるようです。

私が気になるのは、そのスレッドの最後コメントで http://drupal.org/node/155282 の情報ですね。その155282スレッドPatchはCommittされたと書いてありますがどういう意味なのか?でも読んでる分にはdb_rewrite_sql を使用するのが正攻法のように書いてあると思います。

Block

qchan's picture

Block Termのページを見ると、
http://drupal.org/project/blockterm

「もうすぐ、D6版を出すつもりだけれど、D5版の時のように template.php に追加でScriptを書く必要がないように出来る。なぜなら、template_preprocess_block がD6で使えるようになったから。」という意味に取れます。

ただ、D6版がなかなか出てこないようですね。
見かねて、g.idemaさんという人が独自でD6対応Patchを作ったようです。
(block.tpl.phpに細工は必要とのこと。)
http://drupal.org/node/248247
http://drupal.org/node/248247#comment-816139

白画面になってしまって上手くいかないと報告している人もいますから、試す時はバックアップ必須ですね。
ビシッと動くといいですね。
また、g.idemaさんはPanelsで同じ機能を実現したとも書いています。

jun さんの求めている機能からはずれるかもしれないですが、参考URLです。
How to control Block visibility by Vocabulary ID
http://drupal.org/node/69076

CCK Blocks
http://drupal.org/project/cck_blocks

Block

jun-gdo's picture

Block Termについてですが、私は英語が出来ないので適当な解釈で読んでいました。
そういう内容だったんですね。完全に勘違いしていました。

qchanさんから教えていただいたURLを見てやってみたところ、なんとか希望通りの動作をするようになりました。
blockterm-6.x-0.2-update.patch をあてても動かなかったのですが、
blockterm-6.x-update.patch をあててから blockterm-6.x-0.2-update.patch をあてることで動くようになりました。

下の2つの参考URLは私には難しく理解するのに時間がかかりそうです。
希望の動作は得られたので、ゆっくり理解しようと思います。

参考になるかどうか?

xbro's picture

すいません、初心者で意見を連発しますが(phpだけだったら簡単な事ですが..)、phpでブロックを表示するかしないか見分けて、表示するのであれば下記リンクにあるViewsとTaxonomyの情報と組み合わせて何とかなるのではと思います。必ず何か表示するのであればこのリンク情報で十分な気もしますが検討違いであれば教えて下さい。

http://drupal.org/node/144725
http://drupal.org/node/128080#comment-732156

どう”分類用語「りんご」を含むnode”にたどり着くのかで多少の工夫が必要な気もします。上記リンクではDropDownMenuで複数のGallery(ViewsのTaxomonyフィルタ活用?)の中からが選択して表示されそうです。

すみません。私の質

jun-gdo's picture

すみません。私の質問のしかたが悪かったです。
「りんごの写真」はあくまで一例で実際は写真だったりViewsで作ったブロックだったりするので、
ブロックの表示を制御したかったのです。

上手く動いたようで 

qchan's picture

よかったです。
モジュールのアップグレード対応は好意に任せなければならないので、
難しいことが多いですね。。
僕も自分で作れるスキルが欲しいです。一緒に勉強できたらいいですね。
D7は、D6の時に有名モジュールがなかなか対応しなかった点を反省して
モジュール作家がアップグレードしやすい環境を作っていこうとしているみたいですよ。

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week