でサードパーティのライブラリに取り組んでいPROJECTROOT/libraries/mylib
ます。にコントローラがありmylib/controllers
、動作しています。li3 は、ビューが期待されていることを教えてくれますPROJECTROOT/app/views/
- どうすればビューをロードできますmylib/views
かapp
?
1 に答える
1
これは、コントローラーでレンダリングパスを設定することで簡単に実現できます。mylib内のすべてのコントローラーに対してこれを実行することをお勧めします。したがって、すべてのコントローラーが拡張するBaseControllerを使用することをお勧めします。次に、メソッド_init()と呼ばれるリチウムのデフォルトを使用して、次のような構成を設定できます。
class BaseController extends \lithium\action\Controller {
public function _init() {
parent::_init();
$this->_render['paths'] = array(
'template' => array(
LITHIUM_APP_PATH . '/views/{:controller}/{:template}.{:type}.php',
'{:library}/views/{:controller}/{:template}.{:type}.php',
),
'layout' => array(
LITHIUM_APP_PATH . '/views/layouts/{:layout}.{:type}.php',
'{:library}/views/layouts/{:layout}.{:type}.php',
),
'element' => array(
LITHIUM_APP_PATH . '/views/elements/{:template}.{:type}.php',
'{:library}/views/elements/{:template}.{:type}.php',
),
);
}
ここでそれを見ることができます:https ://github.com/bruensicke/radium/blob/master/controllers/BaseController.php
私はそれをそのように設定したので、アプリケーションがそれをさらにカスタマイズするために特定のビューを上書きできることに注意してください。
また、そのトピックに関するgithubの問題/プルリクエストがあります。こちらをご覧ください:
于 2012-09-20T08:06:33.420 に答える