DOM/JavaScriptで扱いやすくするために

4 views
Skip to first unread message

ITOH Takashi

unread,
Dec 5, 2007, 10:25:40 AM12/5/07
to xcube-...@googlegroups.com
伊藤です。

DOMいじってると、
「やっぱりブロックにはIDが振られるべき」という気が強くします。

でもLegacy_Controllerでは、キャッシュ済みのブロックにはIDが振られているのに
動的なのには振られてないんですね。

modules/legacy/kernel/Legacy_Controller.class.php
の355行目に
'id' => $blockProcedure->getId(),
を入れればすむだけなので、是非入れて欲しいなーと思うんですが。


で、実際にこれがあると何が出来るかっていうデモです。
例によってホダ塾を・・・ :-p
http://www.hodajuku.org/

ブロックタイトルの右端に、Windowsみたいな□ボタンがあります。
これをクリックすると、ブロックが開閉します。
で、開閉だけならすぐできるんですが、これblockIDをCOOKIEに保存してるので
どのページ行っても、同じブロックなら状態が保存されています。


やったことは、
1. 上述のLegacy_Controller.class.phpの1行追加

2. theme.html の各ブロック繰り返しに
<h3 class="blockTitle" id="blockTitle-<{$block.id}>"><{$block.title}></h3>
<div class="blockContent" id="blockContent-<{$block.id}>"><{$block.content}></div>

3. JavaScriptのグローバル変数に xoops_url を加えてます。(変数内容はご想像の通り)

2/3は、これはディストリor開発者対応かなーと思うんですが、1.は結構どうしようもなく。
Delegate入れる場所も無く。
加えていただければなーという感じです。

伊藤


GIJOE

unread,
Dec 5, 2007, 2:31:22 PM12/5/07
to xcube-...@googlegroups.com
GIJOEです。

> DOMいじってると、
> 「やっぱりブロックにはIDが振られるべき」という気が強くします。
>
> でもLegacy_Controllerでは、キャッシュ済みのブロックにはIDが振られているのに
> 動的なのには振られてないんですね。
>
> modules/legacy/kernel/Legacy_Controller.class.php
> の355行目に
> 'id' => $blockProcedure->getId(),
> を入れればすむだけなので、是非入れて欲しいなーと思うんですが。

全面的に賛成です!

でも、ここまではっきりしているなら、trackerのFeatureRequestに追加した
方が良いのでは?

急げば 2.1.3 に間に合うかも。


ITOH Takashi

unread,
Dec 6, 2007, 12:32:33 AM12/6/07
to xcube-...@googlegroups.com
伊藤です

> 全面的に賛成です!
>
> でも、ここまではっきりしているなら、trackerのFeatureRequestに追加した
> 方が良いのでは?

ありがとうございます。

ということで、Trackerに登録いたしました。

伊藤


Reply all
Reply to author
Forward
0 new messages