PEAK XOOPS - News in englishin japanese

Archive | RSS |
  
Poster : GIJOE on 2007-11-01 06:03:50 (12226 reads)

in englishin japanese
XCDM#1でも発表したネタなのですが、XCL2.1ではpreload一発で、レンダラーのかなり大きな部分をフックすることができます。
preloadでフックするべきデリゲート名は、おなじみ 'XoopsTpl.New' です。

まずはソースコードを見てください。

フック処理が来た直後に、
XOOPS_TRUST_PATH/libs/smartyplugins
を、Smartyプラグイン用ディレクトリとして挿入してます。

「これ、どこかで見たことあるな」と思った人は勘がいいです。まさに、
http://ryus.co.jp/modules/wordpress/index.php?p=57
と同じですから。

でも、ryusSmartyPluginsEx との違いは、追加ではなく挿入していることです。
ユーザディレクトリから先に探すことにより、デフォルトのSmartyプラグインを乗っ取ることができるのです。

そして、乗っ取って一番面白いのは、やはり resource.db.php でしょう。XOOPS_TRUST_PATH/libs/smartyplugins/resource.db.php にDBリソースの見つけ方を記述することで、テンプレートの動作を自由にコントロールできます。(その具体例は次回)

このpreloadにおける hook()メソッドでは、それ以外に、コンパイルIDの指定を行っています。これによって、テーマ毎に異なるコンパイルキャッシュを生成するようになり、テーマを切り替えたけどテンプレートは切替前のテーマ付属のテンプレートのまま、というトラブルを避けることができます。

このあたりは、本家版コアのパクリですが、コアの構成ファイルを一切おきかえずとも、このような重要な仕様改善ができるというのは、まさにXCL2.1の真骨頂でしょう。

Read more... | 493 bytes more |3 comments

Poster : GIJOE on 2007-10-29 05:43:16 (8252 reads)

in englishin japanese
XCDM#1 参加してきました。

技術よりの話かと思ったら、そんなのはまったくなくて、「自分はOSSに対して何ができるか」を確認する作業でした。密室の中でチームになって、プロジェクトに対して貢献できることをリストアップしていく作業……。これって、新興宗教のオルグ? とかちょっと思いました

確かに、XOOPSというOSSもどきを、ちゃんとしたOSSにするためには、なんらかの洗脳が必要なのかもしれません。

そんな中、なぜか私一人だけが技術話をしたのですが、それについては、おいおい書いていきます。

あと、Marijuanaさんから、「XOOPS Cube Legacy デベロッパーズバイブル」をいただきました!
ありがとうございます。これから読みます。


Poster : GIJOE on 2007-10-03 05:26:33 (15526 reads)

in englishin japanese

もう一つくらい実例を挙げようかと思ったのですが、なかなか時間がとれないので、忘れないうちに仕様を一通り書いておきます。

picoがデフォルトで用意しているForm処理用プラグイン

formmail
問い合わせメールが、一般設定の管理者メールアドレスに送られる。
formmail4fleamarket
問い合わせメールが、記事作成者のメールアドレスに送られる。
さらに、問い合わせ内容がextraテーブルにも保存される
survey
回答内容がextraテーブルに保存される。メール送信はしない。

いずれのプラグインも、メール送信先追加や確認メールを送るといった動作変更を、プラグインに対する引数で指定することができます。

Form処理用プラグインの引数

いずれの引数も省略可能で、テキスト関連の引数が省略された場合は、言語ファイル内の定義が用いられます。

mail_body_pre
問い合わせ内容の前に置かれる本文
mail_body_post
問い合わせ内容の後に置かれる本文
mail_subject
問い合わせメールのSubject
to
問い合わせメールの送信先追加。複数メールアドレスを指定するなら,で区切る
from
問い合わせメールの送信元メールアドレス。複数指定不可
from_name
問い合わせメールの送信者名
can_post_again
フォーム送信後に、再度、空のフォームを表示するかどうか。1なら再表示する。0なら再表示しない
confirm_message
送信前確認画面のメッセージ
finished_message
送信終了時のメッセージ
cc_field_name
確認メール送信先となるフィールド名
cc_mail_subject
確認メールのSubject
cc_mail_body_pre
確認メールで、問い合わせ内容の前に置かれる本文
cc_mail_body_post
確認メールで、問い合わせ内容の後に置かれる本文


Poster : GIJOE on 2007-09-27 18:13:29 (22742 reads)

in englishin japanese
「WYSIWYG Editor搭載」
なんて売り文句を見る度に眉をひそめてきた私ですが、いろいろとテストした限り、HTMLPurifierを信用して良さそうなので、最新の d3forum-0.77 でfckxoopsを利用できるようにしてみました。

それもあえてこのサイトで運用してます。(自信の顕れ? 無謀な挑戦?
HTML allowed FORUM
http://xoops.peak.ne.jp/md/d3forum/index.php?forum_id=12

このフォーラムでのみ、WYSIWYGエディタが有効になっており、HTML許可の投稿が出来ます。そして、HTML許可の場合は、無条件で、HTMLPurifierを通過します。
(当たり前ですが、d3forumでは、フォーラム毎に、それらの設定を細かくコントロールできます。フォーラムオプションでの指定法は記事の最後を参照のこと)

プレビューとかでいろいろ試してみるのも良いかもしれません。
試しに投稿しちゃっても良いですよ。但し、残しておく保証はありません。(fckxoopsの画像も同じ)

Read more... | 295 bytes more |10 comments

Poster : GIJOE on 2007-09-23 15:41:58 (16093 reads)

in englishin japanese
"HTMLでValidateするフォームメール" という記事を何回か連続で書いてきましたが、この意味がなかなか判りづらいかもしれません。「POSTデータ処理を行うための基準を、HTMLフォームそのものに求める」と書いても、判らない人には判らないでしょう。

というわけで、もう少し判りやすい実例で行きましょう。

その1
「商品説明コンテンツに、共通の問い合わせフォームを埋め込む」

picoを使ってカテゴリーごとに商品ページを作ったとしましょう。それらの一つ一つに、問い合わせフォームを埋め込んでいくなんて、それこそナンセンスです。

こんな用途では、formmailプラグインとpicoプラグインの組み合わせでバッチリです。
商品説明ページはこんな感じで作ります。(SmartyフィルターをONにすること)


(商品説明部分)

<{capture}>
<{pico id="(フォームを記述したコンテンツ番号)"}>
<{/capture}>
<{formmail4fleamarket mail_body_pre="以下の商品について問い合わせがありました。\nいずれかの連絡先までご連絡ください。\n\n" from_name="商品問い合わせ担当" cc_field_name="youremail" cc_mail_subject="確認メール" cc_mail_body_pre="お問い合わせありがとうございました。\n以下が確認内容です。\n"}>


まず <{pico id=""}> の部分がミソです。

<form>
  お名前: <input type="text" name="お名前" class="required" /><br />
  email: <input type="text" name="youremail" class="email" />
  <input type="submit" />
</form>

とりあえず、こんな内容のフォームを、picoコンテンツとして作っておいて、そのコンテンツ番号を、id="" の中に書き込むのです。そうすることで、全ての商品について、共通のフォームを利用できることになります。この商品には別のフォーム、なんてことも、それぞれ対応するコンテンツ番号にすれば良いだけです。

もちろん、別のpicoにあるフォームでも構いません。その場合は、
<{pico id="(コンテンツ番号)" dirname="(dirname)"}>
とdirnameで指定します。

次に、<{formmail}> の部分ですが、今度は、随分と長くなっています。
実はこれ全部、formmailプラグインの引数です。

この引数によって、フォームメールの各種動作を変更することが出来ます。
ここでは、このサンプルで使われている引数だけ解説しておきます。

mail_body_pre: XOOPSから管理者に送られるメール本文で、問い合わせ内容の前に置かれるテキストです
from_name: メールの送信者名です
cc_field_name: フォーム回答者にも確認メールを送る際に、その宛先となるメールアドレスとなるフィールド名を指定します(ここではyouremail)
cc_mail_subject: 確認メールのSubjectです
cc_mail_body_pre: 確認メール本文で、問い合わせ内容の前のテキストです

引数をいろいろいじって試してください。


« 1 ... 3 4 5 (6) 7 8 9 ... 37 »
Login
Username or e-mail:

Password:

Remember Me

Lost Password?

Register now!