Joomler!.net - Decided on Joomla!

Wiki or Wordpress? No it is JContentPlus.

 

Archives

Blog

Demo

Home » Blog » 処理
0 votes
Written by:Joomler! 10803 hits Friday, 29 January 2010 06:23

Joomlaのプラグインは、Joomlaが動いていくなかで様々なイベントで呼ばれます。今回はそのイベントを少し書いてみます。中には、プラグインとして実装されていないものもあるので、ソースを見ない限りわからないものもあったりします。

 
May
16
2009

非同期の罠

EMailPrintPDF
0 votes
Written by:Joomler! 6041 hits Saturday, 16 May 2009 17:23

Ajaxでpostしてデータベースの操作を行っていたのですが、思ったように動いてくれないんですよ。
タイトルで結論がもう見えてますが・・・。

大雑把に書くと、Ajaxでデータベースの複数の操作を行うリクエストをループで行うように書いたんです。最初は、その処理毎に(非同期がその時はちゃんと頭に入っていた。)Completeしてから次のリクエストを行うようにしていました。

けど、だんだん面倒になってきたんです。

 
1 votes
Written by:Joomler! 6057 hits Thursday, 08 January 2009 16:01

何かとコンポーネントが必要では無いかと考えがちですが、プラグインとテンプレート(テンプレートのオーバーライドで行ってNoHack)で大抵の事ができると思う。

たとえば、コンタクト。
こんな風に作れば簡単にオリジナルのものが作成できるでしょう。
(実際に作成してはいないので想像で書きます。)

  1. プラグインで特定の値(今回の場合コンタクトの送信内容)をキャッチしてそれがある時だけ処理を行う。
  2. com_contactのオーバーライドテンプレートでお好みフォームを作成する。

終わり。

これだけでオリジナルのお問い合わせが作成できます。データを格納したければ、データベーステーブルを新たに作成しなければいけませんが、ワンオフのアプリケーションなら手作業で作成すれば済みます。

 
0 votes
Written by:Joomler! 9341 hits Thursday, 01 May 2008 17:20

昨日発見した点

  • 記事を単独で表示するとmoovoteにデータが反映されていない。
    後で直す。
  • Support Forum(Fireboard)のリンク先のリダイレクト
    今回Itemidを変更してしまったのでそれが反映されていない。

まず2点。Fireboardへのリンクは、先ほどリダイレクトのメソッドを追加したので解決した。

Joomla!は、Itemidでの管理が多用されていてItemid(メニューIDのことです。)が無い場合内部では99999999などと勝手にItemidをつけて処理しているようです。ですが、これだとItemid無しでアクセスまたは、異なるItemidでのアクセスの場合、Itemidで表示を管理するモジュールなどが正しく表示されません。Allにしていれば問題ないでしょうが、Itemid(メニューID)ごとに異なるモジュールを割り当てている場合は、Allのもののみ表示されるだけで意図した表示にはならないです。

小さなことかもしれませんが、サイトを移転したりメニューIDを変更したときには重要かもしれません。

今回の場合、Itemidが異なるため表示はされるのですが、ComibineコンポーネントでFireboard用に出力されるはずのJavascriptが出力されていませんでした。

指定した(存在するメニューID)Itemidでのみアクセスを許可し、それ以外ならリダイレクトさせるような処理をしてくれるエクステンションが、必要かもしれませんね。それがあれば、サイト移転しても楽じゃないかな。

 
1 votes
Written by:Joomler! 6893 hits Wednesday, 13 February 2008 14:50

以前にJavascriptでショッピングカートのようなものを作成したことがあって先日その依頼者が画面を見て悩んでいた。

依頼者:「数が増えると重くて使えない。」・・・それは、私が作った物。

私:「Javascriptにも限界があるのな。」・・・ぉぃ

依頼者:「・・・・。」

すこしソースを眺めていた。動作は、間違っていない。ソースも間違いではない。エラーももちろん出ていない。クッキーを利用しているのでクッキー?、いやそうでない。じゃあ何よって。

私は、陥りやすいのかもしれない。

コードを処理によってパーツ化するのは当然なのですが、そう・・・ループの中で同じ値を参照するのにループ内でそれを見にいっている。それは間違っていますよね。パーツ化していると単純にそれを呼び出せば値が返ってくることがわかっているのでそれを使ってしまう罠でした。それが単純ならわかりやすいのですが、参照先からさらに奥へとつながっていたのでその先で何やってたか把握してなくてそんなことになっていました。

ループの外で参照しよう・・・・。

言い訳太郎でした。

 

JContentPlus for Joomla!1.5 powered by Joomler!.net

デル株式会社
joomler.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla!(R) name is used under a limited license from Open Source Matters in the United States and other countries.
joomler.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.