| 投稿者 | メッセージ | ||||||
|---|---|---|---|---|---|---|---|
|
Andy モデレーター ![]() 登録日: 2004.03.18 記事: 1490 所在地: 横浜 |
あるカテゴリーのアイテムを表示するときだけ,別のテンプレートを使いたいと思っています。 カテゴリー表示のときに分けるのではなく,「メインの目次」などで一覧で出ているときに, そのカテゴリーのアイテムのときだけ違う処理にしたいのです。 テンプレートでは<%if%>も使えないし,タカさんのWritePHPxsもテンプレート変数が記述できないし,で 行き詰っています。 _________________ Foodyn CMS開発日誌 http://www.matsubarafamily.com/lab/ |
||||||
|
|
|||||||
|
nakahara21 モデレーター ![]() 登録日: 2003.11.14 記事: 1298 所在地: 尼崎 |
私も同じ事考えてます。 現状では実現できるプラグインはなさそうだなーと思ってます。 例えばShowBlogsなんかだと自分で書いたプラグインなのですぐに改変して対応することができるのですが..... 今のコーディングのままだと、記事1個ずつクエリ発行となるので、負荷がかかるなぁ、と思って作ってません。 実際php+mysqlだからそんなに遅くなることはないのかも、とも思うんですけどね。 (サムネイルの動的生成なんかに比べたら全然マシなのかもしれないけど) だから負荷を回避するために、ShowUsingQueryを使い回すのではなく、コピペしてちょっと手直しした別functionを用意するべきだなーで半年ストップしてます 実際、これができると、most visitorに興味なさげなカテゴリの記事はタイトルのみ表示とかできて、すっごく欲しい機能なんですよね _________________ nakahara21 http://nakahara21.com/ *移転しています |
||||||
|
|
|||||||
|
kalm 登録日: 2004.11.13 記事: 7 |
はじめまして, dj krist です.
どの程度テンプレートの内容を変えるのかにもよりますが, ひとつのテンプレート内で NP_WritePHPxs を使って 部分的 に出力を制御する方法も取れると思います. NP_WritePHPxs は 「テンプレート内では、テンプレート変数を使用しなければ使えます」 となっていますので, テンプレート内で例えば
のように, プラグインの呼び出しと変数の呼び出しを完全に分離して書くこともできると思います. ただ, こう条件分岐ばかりではサーバへの負荷もその分高まりますし, あまり実用的とは言えません. これは NP_WritePHPxs だけでそれを実現するためのアイデア程度です. 他には, テンプレートの <%if%> 変数でカテゴリ ID を呼び出せるようにコアを編集, または <%blog%> 変数で特定のカテゴリのテンプレートを変えられるようにコアを編集するという 2 点が頭に浮かんだのですが. nakahara21 さんも仰っているように今のところこういった機能に対応したプラグインは無いようですので, 少なくともコアの編集は必要ではないでしょうか.
nakahara21 さん, 先日は NP_ShowBlogsEx の件, ありがとうございました. ところでこの機能についてですが, NP_ShowBlogsEx のほうで検討してみてもよろしいでしょうか |
||||||
|
|
|||||||
|
nakahara21 モデレーター ![]() 登録日: 2003.11.14 記事: 1298 所在地: 尼崎 |
なんだかよくわかってないですが、私の作った物ベースのことなら何でもご自由にどうぞ。 単純に、テンプレート名にcatidくっつけてクエリ発行させればいい、とか思ってるんですけど(^^ゞ テンプレートを変化させたい特定のカテゴリについては、「grey/short_5」とかテンプレートを準備しておく。 存在しない、「grey/short_6」を呼び出そうとするときは事前に検知して、「grey/short」を呼び出す。 みたいなかんじで。 さぼりすぎですけど。 _________________ nakahara21 http://nakahara21.com/ *移転しています |
||||||
|
|
|||||||
|
jun モデレーター ![]() 登録日: 2004.02.07 記事: 346 |
カテゴリー表示のときに分けるんだったら、NP_MultiBlogsを少しカスタマイズすれば実現可能ですが、nakahara21さんが言及しているようにShowUsingQueryを使っているプラグインなので無理ですね。 別トピの話で恐縮ですが、ついでなのでNP_MultiBlogs絡みということで書いておきます。 テンプレートのコメント部分への記述ですが、おそらく下記コードをNP_MultiBlogsの「function doTemplateVar」の上あたりに追加すればOKかと思われます。
|
||||||
|
|
|||||||
|
Andy モデレーター ![]() 登録日: 2004.03.18 記事: 1490 所在地: 横浜 |
ShowBlogsやMultiBlogsを大きく改造すれば,できないことはないのは分かるのですが,ブログ表示系のプラグインは好みがあるので,できればそれに依存しないでできないかなあと。 とすると,考えられるのはWritePHPxsを改造してテンプレート変数をパースできるようにすること。 やってみたら,一応動くようになりました。追加した部分だけ掲載しておきます。At your own riskでお願いします。
この修正に伴って,doSkinVar内でskintypeがtemplateの場合を考慮しなくてよくなるので,そっちはだいぶシンプルになります。
ありがとうございます。 _________________ Foodyn CMS開発日誌 http://www.matsubarafamily.com/lab/ |
||||||
|
|
|||||||
|
Andy モデレーター ![]() 登録日: 2004.03.18 記事: 1490 所在地: 横浜 |
あー,でもこれだけだとやっぱりやりたいことはできないんだなあと気付いて鬱 _________________ Foodyn CMS開発日誌 http://www.matsubarafamily.com/lab/ |
||||||
|
|
|||||||
|
Andy モデレーター ![]() 登録日: 2004.03.18 記事: 1490 所在地: 横浜 |
一人芝居ですみません。 さっきのだとindexページのアイテムのテンプレートのところでカテゴリーで処理を分けることができません($catidがセットされないので)。 そこで,自前で持つようにしたら望みどおりの動作になりました。 改造は, 1. クラス変数で$catid, $itemidを宣言 2. クラス変数へのアクセス用に
を新設。 3. 先ほどのdoTemplateVarを
に修正,です。 テンプレートからは
みたいに利用できます。 _________________ Foodyn CMS開発日誌 http://www.matsubarafamily.com/lab/ |
||||||
|
|
|||||||
|
|
|||||||
|
All times are GMT + 9 Hours
新規投稿: 不可 Powered by phpBB © 2001, 2002 phpBB Group |
|||||||