Re: Re: パッケージ領域の優先順位について

2011年1月4日 at 1:21

taoさん、ありがとうございます。

要するに、パッケージのインストール時(controller.php の ***Package::install() 内)にブロックなら BlockType::installBlockTypeFromPackage()、テーマなら PageTheme::add() を呼び出して登録するように、おそらくhelperなどにも登録用のメソッドがあるだろうということですね。後日調べてみたいと思います。

# 試したところなぜかmodelも読んでくれない様子なので、きっと登録がうまくいっていないのですね…。

Re: Re: Re: パッケージ領域の優先順位について

2011年3月9日 at 1:27
今更感がありますが、後日やると書いていてそのままだとまずいと思ったので。

Can a package override the core functionality? (concrete5本家フォーラム)

↑のスレッドなどを参考にしつつ作業してみましたが、自分でファイルを増やす場合はいいものの、既存ファイルの上書き(オーバーライド)については上手く動作しませんでした。

例えばmodelなら、Loader::model(..., 'package'); でオーバーライドを狙うも、「Cannot redeclare class」と、当たり前といえば当たり前のエラーを返してくれます。

前々から言っていたマルチバイト対応をパッケージでできたらと思ったのですが、どうも難しそうですね。というわけで「今後の課題」ということにさせていただこうと思います。

パッケージの使い方というか、位置づけをちゃんと勉強しないといけませんね。
 

Re: Re: Re: Re: パッケージ領域の優先順位について

2011年3月9日 at 3:43
試してないので何とも言えませんが、
Loader::model('package',"package_handle");

で読めるかも。
でもpackageモデルは難しそうですね...