このサイトは株式会社オープンソース・ワークショップの旧サイトです。
新サイトを参照していただけますようお願いいたします。
https://opensource-workshop.jp/
お知らせ
NetCommons開発TIPS
NetCommons2のキャビネットで圧縮ファイルを展開した時、文字化けする。
こんにちは。
永原です。
NetCommons2のキャビネットで圧縮ファイルを展開した時、文字化けするケースがありました。
ファイル名やフォルダ名が日本語の場合に文字化けするようです。
現象としては、変なフォルダができたり、ファイル名が文字化けしたりしました。
原因はPear のライブラリのマルチバイト対応です。
修正方法は以下の通りです。
maple/includes/pear/File/Archive/Reader.php
の
getStandardURL 関数を修正します。
// Japanese file-name decompress bug mod by nagahara@opensource-workshop.jp
//$std = str_replace("\\", "/", $path);
$std = preg_replace ("/\\//" ,"/",$path);
以上
会員検索したら xmlがダイアログに表示された場合の対処方法
こんにちは。牟田口です。
netcommons2 で会員検索したら xmlがダイアログに表示されて
結果が表示されない問題がでました。
対処方法を書きます。
### 画面
### 環境
$ php -v
PHP 5.6.8 (cli) (built: Apr 15 2015 15:07:09)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
NetCommons2.4.2.0
### 対応
NetCommons2.4.2.1にバージョンアップすると解消します。
### 感想
PHP 5.6.8、NetCommons2.4.2.0
PHP 5.6.10、NetCommons2.4.2.0
でこの症状が出たので、おおよそPHP5.6系でNetCommons2.4.2.0を使うと出るようです。
PHP5.5系以下であれば下記の方法もあるようです。
### その他方法1
php.iniのdefault_charset = UTF-8 をコメントアウトする。
システム管理>開発者向け(タブ)>PHPデバッグ
のチェックを外す。
ではでは。
validateはpostであればviewでもactionでも動く
こんにちは。牟田口です。
主に自分メモです。
- validateはpostであればviewでもactionでも動く。
- viewにpostする場合、maple.iniに下記追記をする。
[RequestCheck]
request = BOTH
ではでは。
共通コンポーネントのコンストラクタで、他の共通コンポーネントがセットできずnull問題に対応
こんにちは。
プログラムを担当している牟田口です。
共通コンポーネントのコンストラクタで、他の共通コンポーネントを参照したけどnullのままで使えない問題を対応しました。
--- \webapp\modules\fruit\action\dicon.ini (OKパターン)
ichigoCommonView = "ichigo.view"
remonCommonView = "remon.view"
remonCommonAction = "remon.action"
--- \webapp\modules\fruit\action\dicon.ini (NGパターン)
remonCommonView = "remon.view"
remonCommonAction = "remon.action"
ichigoCommonView = "ichigo.view"
--- \webapp\components\remon\Action.class.php
class Remon_Action {
var $_db = null;
var $_container = null;
var $_request = null;
var $_remonCommonView = null;
var $_ichigoCommonView = null;
/**
* コンストラクター
*
* @accesspublic
*/
function Remon_Action() {
$this->_container =& DIContainerFactory::getContainer();
$this->_db =& $this->_container->getComponent("DbObject");
$this->_request =& $this->_container->getComponent('Request');
$this->_remonCommonView =& $this->_container->getComponent('remonCommonView');
$this->_ichigoCommonView =& $this->_container->getComponent('ichigoCommonView');
var_dump($this->_ichigoCommonView);
// var_dump出力 OKパターン:object(Kyomu_View)
// var_dump出力 NGパターン:null
}
}
NGパターンの場合、ichigoCommonViewのクラス生成前に、remonCommonActionのクラス生成が始まるため、nullのままと推察。
ichigoCommonViewのメソッドを呼び出そうとしたけど、nullのため、下記エラーが発生した。
Fatal error: Call to a member function getXXXX() on a non-object
問題解決の参考になれば幸いです。
既存モジュールをコピーしてカスタマイズ
こんにちは。
プログラムを担当している牟田口です。
NetCommons2の自分メモです。