11からまでを表示 (計28) |
taoさん、こんばんは。
業務画面を作成しているため、1画面1Blockで作成しています。
似たような画面でも、Blockを分けるようにしました。
taoさんに紹介していただいた方法で、アップデート時にBlockが追加できました!
Posted on 11月 04, 2012 at 9:30 午後
|
あぁ、そうですね!
Upgradeメソッドを継承して、InstallBlockをしてから本来のUpgradeメソッドに処理を返せばいいですね!
色々考えた結果、共通Packegeと各機能ごとのPackegeに分けて、
あらかじめ使うであろうBlockを先に枠だけ作っておくようにしました。
ありがとうございました!
Posted on 11月 04, 2012 at 6:15 午後
|
作成班と検証班でわかれて作業をしていて、Packegeの更新のたびに
アンインストール・新規インストールを繰りかえしていて、
そのたびにBlockが消えてしまうので、検証班が音を上げてしまいました(^^;
今、Packege.php を読んでいたのですが、interfaceにはinstallとuninstallしかないようですね。
interface Installable {
public function install();
public function uninstall();
}
管理画面でアップデートが実行された時に、BlockListを読み直して
refreshしているようですが、BlockListに追加するタイミングがないような気がします(^^;
public function upgrade() {
Package::installDB($this->getPackagePath() . '/' . FILENAME_PACKAGE_DB);
// now we refresh all blocks
$items = $this->getPackageItems();
if (is_array($items['block_types'])) {
foreach($items['block_types'] as $item) {
$item->refresh();
}
}
}
Posted on 11月 04, 2012 at 5:40 午後
|
設定やパラメータでViewを切り替えるのもNGな設計にしているので
(例えば照会と入力は別のBlockにしています)
1つのBlockで複数の挙動をと言うのは今回は採用できないですねぇ(^^;
今回は共通modelとcontrollerを持つPackegeと
それ以外のある程度の塊で分けたPackegeにするべきでしょうね。
Posted on 11月 04, 2012 at 5:21 午後
|
tomoacさん、こんにちは。
今作成しているpackegeはこのようなディレクトリ構成で作成しています。
blocksの下にはこれから100前後のblockが増えていきますので
packegeのアップデートで認識されなかったら、packegeを分けて
行かないといけないなぁと思った次第です。
ただ、packegesの下のmodelsやcontrollersにpackege全体で使う
共通のclassがあるのでちょっと困っています。
packeges
org_packeges_name
themes
models
controllers
blocks
block001
block002
block003
...
...
Posted on 11月 04, 2012 at 4:45 午後
|
1Packageで複数Blockを持つPackageを作成中です。
作り始めの時は、Blockが増えるたびに一度Packageをアンインストールして、
更新したPackageをサーバにアップデートしてからインストールして動作検証をしてきました。
そろそろ、検証し終わったBlockが多くなってきたので
PackageのバージョンアップでBlockを追加していこうかと思い、
Packageのcontroller.phpに追加したいBlock名を追記してバージョン番号を増やし、
管理画面よりPackageのアップデートをしたのですが、
追記したBlock名が増えませんでした。
ひょっとして、PackageのアップデートではBlockの追加は出来ないのでしょうか。
ちなみに同じPackageを新規でインストールすると追加したかったBlockもインストールされます。
Posted on 11月 04, 2012 at 4:08 午後
|
DBが読み込みできない件は無事解決出来ましたm(_ _)m
いざ、サイトにアクセスしてみると、画像が全く表示されません。
管理画面の背景や、ファイルアップロード画面などでも
画像が一切表示されていないのです。
error_logにはこんなエラーが出力されているだけでした。
[Thu Apr 21 01:43:03 2011] [error] [client 999.999.999.999] PHP Notice: No translation for the language 'ja_JP.UTF8' available. in /var/www/htdocs/concrete/libraries/3rdparty/Zend/Translate/Adapter.php on line 335, referer:http://www.xxxx.com/index.php/dashboard/sitemap/access/
管理画面のメッセージの一部が英語表示されています。
キャッシュのクリアやキャッシュを残さない設定などをしてみましたが
状態かわらずでした。
PHP関連で必要なものがインストールされていないのでしょうか?
Posted on 4月 21, 2011 at 1:50 午前
|
mysql を起動するシェルに環境変数を追加して、
Tableが読み込めたことを確認しました。
Posted on 4月 20, 2011 at 9:51 午前
|
大文字・小文字の違いでした!
出てるエラーメッセージ通りにTable名の先頭を大文字に変えると
エラーになるTable名が変わっていきました。
ちまちま変更していきます。
mySQL.cnf にlower_case_table_names=1を追加して
再起動かけてみたんですが変わりませんでした(;_;)
お騒がせしました。ありがとうございます。
Posted on 4月 20, 2011 at 2:22 午前
|
よく見ると、エラーログにもう一行出力されていました。
[Tue Apr 19 09:42:03 2011] [error] [client 126.124.255.78] PHP Notice: No translation for the language 'ja_JP.UTF8' available. in /var/www/htdocs/concrete/libraries/3rdparty/Zend/Translate/Adapter.php on line 335
Posted on 4月 20, 2011 at 1:31 午前
|