PEAK XOOPS - Re: resource.db.php をフックすることによるXoopsTpl動作改善 in englishin japanese

Top  >  Comments  >  News comment ()

Re: resource.db.php をフックすることによるXoopsTpl動作改善

  • As this forum is only for commentation, you cannot open a new topic
  • Guests cannot post into this forum
Target News
Subject resource.db.php をフックすることによるXoopsTpl動作改善
Summary 前回、resouce.db.php をフックできると操作性・開発性などで大きな改善が出来るよ、などと気を持たせておきながら、2ヶ月以上も放置してしまいました。まず resource.db.php とは何か一応説明しておきます。これは、Smartyのリソースプラグインと呼ばれるものです。中身...
Previous post - Next post | Parent - Children.1 .2 | Posted on 2008/1/10 19:15
hi-debow  一等兵   Posts: 18
GIJOEさん、こんにちは。

すごく興味のある内容でしたので早速参考の為にhd_nightly.zipをダウンロードしました。
私のローカル環境はXOOPS2.0.16a JPですので実際のテストは出来ていませんが、付属のテーマファイルを拝見しました。

そこで質問があります。

1) d3モジュールのテンプレートをテーマファイルへ入れる場合にテンプレート名はtrust側dirnameをxoops_trust_path側に入っているテンプレート名の前へつけるのでしょうか?

2) それともtrust側dirnameをxoops_trust_path側に入っているテンプレート名そのままで良いのでしょうか?

3) またroot側dirnameを変更している場合はroot側dirnameをxoops_trust_path側に入っているテンプレート名の前へつけるのですか?

3) の場合はテーマユーザにテンプレート名を変更してもらわないといけませんのでちょっと面倒になるかなと。


後、使用していないモジュールのテンプレートを入れておいても特に問題は無いのでしょうか?
Votes:1 Average:10.00
Previous post - Next post | Parent - No child | Posted on 2008/1/12 4:50
GIJOE  先任軍曹   Posts: 4110
hi-debowさん、こんにちは。

Quote:

1) d3モジュールのテンプレートをテーマファイルへ入れる場合にテンプレート名はtrust側dirnameをxoops_trust_path側に入っているテンプレート名の前へつけるのでしょうか?

2) それともtrust側dirnameをxoops_trust_path側に入っているテンプレート名そのままで良いのでしょうか?

3) またroot側dirnameを変更している場合はroot側dirnameをxoops_trust_path側に入っているテンプレート名の前へつけるのですか?
う〜ん。XOOPSテンプレートの基本的な部分で勘違いしているように見えます。
D3モジュールのtemplates/ 下にあるファイルはあくまで雛形です。
たまたま中身が書き換わっていないだけで、XOOPSのDBテンプレートそのものとは本来別物です。

逆に、テーマ下テンプレートとして置けるのはDBテンプレートと同じレベルのテンプレートです。
そしてそれらは、altsysからダウンロードします。(ダウンロードそのものは、X2やLegacyRenderにもあります)

altsysからダウンロードする以上、テンプレートの前にdirnameをつける云々、という議論は存在しません。

Quote:
後、使用していないモジュールのテンプレートを入れておいても特に問題は無いのでしょうか?
問題ありません。単に使われないだけです。
ファイル数が1,000単位になってくると、さすがにファイルシステムのオーバーヘッドも出てくるでしょうけど。
Votes:1 Average:10.00
Previous post - Next post | Parent - Children.1 | Posted on 2008/1/12 12:02
hi-debow  一等兵   Posts: 18
GIJOEさん、うまく説明できずにすみませんでした。
Quote:
D3モジュールのtemplates/ 下にあるファイルはあくまで雛形です。
たまたま中身が書き換わっていないだけで、XOOPSのDBテンプレートそのものとは本来別物です。

逆に、テーマ下テンプレートとして置けるのはDBテンプレートと同じレベルのテンプレートです。
ありがとうございます。
これは理解していました。

先日ダウンロードしたhd_nightlyの中に入っていたskel_flexテーマを参考に疑問点をコメントさせていただきました。

skel_flex/templates/pico/ 以下にはinc_breadcrumbs.htmlが入っています。
skel_flex/ 以下にはpico_inc_breadcrumbs.htmlが入っています。

inc_breadcrumbs.htmlでしたらtrust側に入っているテンプレートの雛形ファイル名と同じであり、
pico_inc_breadcrumbs.htmlでしたら、root側のモジュールファイル名をpicoとした場合のDBテンプレート名であると思いました。

従って、テーマファイル以下に入れるテンプレートファイル名はどちらを付けた物を入れるのか知りたかったのです。
Votes:1 Average:10.00
Previous post - Next post | Parent - Children.1 | Posted on 2008/1/13 5:08
GIJOE  先任軍曹   Posts: 4110
hi-debowさん、こんにちは。

Quote:

先日ダウンロードしたhd_nightlyの中に入っていたskel_flexテーマを参考に疑問点をコメントさせていただきました。

skel_flex/templates/pico/ 以下にはinc_breadcrumbs.htmlが入っています。
skel_flex/ 以下にはpico_inc_breadcrumbs.htmlが入っています。

おお、よく見てますね!
そこまで見た上での質問に対する回答としては、確かに失礼でした。

ただこれは、チェックアウトしたタイミングによる、Nightlyならではの問題です。
すでに修正されています。

もちろん、
skel_flex/templates/pico_inc_bredcrumbs.html
が正しいオーバーライドテンプレートです。


そしてこれは、

- altsysからダウンロードしたアーカイブをそのまま展開したもの
- altsysのテーマ内テンプレートのDB自動取り込み機能のパス
- altsysへアップロードするテンプレートのアーカイブ

これらの既存機能のいずれとも統一されています。
Votes:6 Average:1.67
Previous post - Next post | Parent - Children.1 | Posted on 2008/1/14 20:58 | Last modified
hi-debow  一等兵   Posts: 18
GIJOEさん、いつもありがとうございます。
コメントで何処までの説明をつけるかは本当に難しいですね。

さて本題なのですが

ローカルでX.C.Lを導入してテストをしましたが、theme内DBテンプレートファイルへ日本語を記入している場合は文字化けします。

altsysを使ってDBテンプレートカスタマイズした場合はモチロン大丈夫なのですが、これは仕方のない事なのでしょうか?

また、当初の話なのですがroot内のd3forumを例えばQandAへ変えている場合と、同じd3モジュールを複数設置している場合はそれらを指定し処理を分ける事はできないものでしょうか?

自分のサイトでのカスタマイズなら今のままで十分すごいものですが、テンプレート作成&配布をするという事を考えると(私だけかもしれませんが・・・)、非常に自由なものになるのではないかと思いました。
Votes:2 Average:5.00
Previous post - Next post | Parent - Children.1 | Posted on 2008/1/17 5:22
GIJOE  先任軍曹   Posts: 4110
hi-debow さん、こんにちは。

Quote:

ローカルでX.C.Lを導入してテストをしましたが、theme内DBテンプレートファイルへ日本語を記入している場合は文字化けします。
おそらくは、ローカルの編集環境の問題だと思いますよ。
登録時には、エンコーディング変換は一切かかりません。
オリジナルテンプレートには日本語がないので、デフォルトのShift_JISとして開かれて、そのままセーブされちゃっている、という流れが一番ありそうです。

Quote:
また、当初の話なのですがroot内のd3forumを例えばQandAへ変えている場合と、同じd3モジュールを複数設置している場合はそれらを指定し処理を分ける事はできないものでしょうか?
それはまた別の仕掛けが必要ですね。

今回のはX2がもともと持っていた機能の改善に過ぎないのですが、同じtrustdirname同士の共通テンプレートのクラス化、となれば、それなりに大規模な工事が必要です。
Votes:1 Average:10.00
Previous post - Next post | Parent - Children.1 | Posted on 2008/1/17 14:53 | Last modified
hi-debow  一等兵   Posts: 18
GIJOEさん毎度ありがとうございます。

Quote:
おそらくは、ローカルの編集環境の問題だと思いますよ。
確認いたしましたら、デフォルトの保存形式がShift_JISへ変更したままになっておりました。
もちろん保存形式をEUCへ再設定して日本語を記入しても文字化けしませんでした。

こちらの確認不足でした、すみません。

Quote:
今回のはX2がもともと持っていた機能の改善に過ぎないのですが、同じtrustdirname同士の共通テンプレートのクラス化、となれば、それなりに大規模な工事が必要です。

そうですか・・・大規模なものはダメですね。色々なミスを招きそうですし。
今回のような1ファイル添付のみが良いです。
シンプルかつ効果絶大って所がインパクトありました。

テンプレート配布に関してテストしておりますが、配布用のテーマ内テンプレートファイル保存時期が現在使用中のDBテンプレートより古いと反映されませんでした。
Votes:2 Average:5.00
Previous post - Next post | Parent - Children.1 | Posted on 2008/1/21 4:30
GIJOE  先任軍曹   Posts: 4110
hi-debowさん、こんにちは。

Quote:

今回のような1ファイル添付のみが良いです。
preload/HdXoopsTplHook.class.phpとresource.db.phpの2ファイルですけどね

Quote:
テンプレート配布に関してテストしておりますが、配布用のテーマ内テンプレートファイル保存時期が現在使用中のDBテンプレートより古いと反映されませんでした。

それが、本記事の(6)ですね。
確かに(5)と(6)まで解決してナンボという部分はあるので、処理速度と使い勝手を両立できる、何かうまい方法がないか考え中です。
(常に強制コンパイルってのだけは避けたい)
Votes:3 Average:3.33
Previous post - Next post | Parent - No child | Posted on 2008/1/21 21:54
hi-debow  一等兵   Posts: 18
GIJOEさん、毎度ありがとうございます。

Quote:
preload/HdXoopsTplHook.class.phpとresource.db.phpの2ファイルですけどね

そうだったのですか? 前の記事をすっかり忘れてしまっておりました・・・

ちなみにpreload/HdXoopsTplHook.class.phpは入れてませんでした。

ですが無い時は無い時で面白い動作に気が付きましたので良かったです。
なんせテーマ内テンプレートを配布するには最適に近く、新しいものしか読み込まなくなりますから。(でもaltsys等で編集されるとだめですけど)
Votes:4 Average:7.50

  Advanced search


Login
Username or e-mail:

Password:

Remember Me

Lost Password?

Register now!