デフォルトのレイアウトファイルの名前をlayout.phtml以外の名前にしたいのですが、それは実際にどのようなレイアウトのタイプが記述されていないからです。これどうやってするの?ありがとう!あなたはこのような何かを行うことができ、あなたのbootstrap.phpのファイルからZend Framework:デフォルトのレイアウトスクリプトをlayout.phtml以外に変更するにはどうすればよいですか?
答えて
、:
protected function _initLayoutName()
{
// use sitelayout.phtml as the main layout file
Zend_Layout::getMvcInstance()->setLayout('sitelayout');
}
あなたが別のモジュールのために別のレイアウトを使用する場合は、ブートストラップでプラグインを登録する必要があり、持っていますプラグインは次のコードを含める:あなたのapplication.ini内から
class Application_Plugin_LayoutSwitcher extends Zend_Controller_Plugin_Abstract
{
public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
{
$module = $request->getModuleName(); // get the name of the current module
if ('admin' == $module) {
// set the layout to admin.phtml if we are in admin module
Zend_Layout::getMvcInstance()->setLayout('admin');
} else if ('somethingelse' == $module) {
Zend_Layout::getMvcInstance()->setLayout('somethingelse');
}
}
}
を、あなたはレイアウトスクリプトを設定するには、この操作を行うことができます。
resources.layout.layout = "layoutname"
これはレイアウト単位では機能しません。モジュールに基づいてレイアウトを変更する必要がある場合は、プラグインを使用する必要がありますが、application.iniの設定を使用してデフォルトのレイアウト名を設定することができます。
あなたがプラグインを作成して、ブートストラップに登録することができます あなたのモジュールに基づいに応じて特定のレイアウトを持つようにしたい場合:
<?php
class Plugin_LayoutModule extends Zend_Controller_Plugin_Abstract
{
/**
* preDispatch function.
*
* Define layout path based on what module is being used.
*/
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
$module = strtolower($request->getModuleName());
$layout = Zend_Layout::getMvcInstance();
if ($layout->getMvcEnabled())
{
$layout->setLayoutPath(APPLICATION_PATH . '/modules/' . $module . '/layouts/');
$layout->setLayout($module);
}
}
}
//Register it in your bootstrap.php
<?php
defined('APPLICATION_PATH')
or define('APPLICATION_PATH', dirname(__FILE__));
...
Zend_Layout::startMvc();
$frontController->registerPlugin(new Plugin_LayoutModule());
?>
EDIT:
あなたのレイアウトを設定します.iniファイルを使用して別のファイルにコピー:
layout.ini
ファイルを作成して入れてください:
[layout]
layout = "foo"
layoutPath = "/path/to/layouts"
contentKey = "CONTENT"
:
$config = new Zend_Config_Ini('/path/to/layout.ini', 'layout');
$layout = Zend_Layout::startMvc($config);
Thxのヘルプ!先にdrew010に尋ねたところで、デフォルトのレイアウト名をini設定ファイルで設定する方法はありますか? – blacktie24
私の答えをlayout.iniファイルを使って編集しました –
- 1. デフォルト以外のサウンドデバイスの音量をプログラムで変更するにはどうすればよいですか?
- 2. Zend Framework:デフォルトのレイアウト以外を添付するには
- 3. Zend Framework MVCアプリケーションのデフォルトのZendLogファクトリを設定するにはどうすればよいですか?
- 4. デフォルトのコントロールテーマを変更するにはどうすればよいですか?
- 5. zend framework 2.5.1のlayout.phtmlの表示ユーザー名
- 6. Raddropdownlistのデフォルト値をコントロールの外から変更するにはどうすればよいですか?
- 7. デフォルト以外のフィールドタイプのケースクラスをSlickのテーブルにマップするにはどうすればよいですか?
- 8. Gmail以外のアカウントのGmailアプリケーションでアバターを変更するにはどうすればよいですか?
- 9. アクティビティの変更時にデフォルトのアニメーションを変更するにはどうすればよいですか?
- 10. デフォルト以外のGithub WebhookをSNSに送信するにはどうすればよいですか?
- 11. デフォルト以外のデータベースにユーザーを作成するにはどうすればよいですか?
- 12. 言語リソースファイルをデフォルト以外のディレクトリに保存するにはどうすればよいですか?
- 13. デフォルトのドッカーレジストリをdocker.ioからプライベートレジストリに変更するにはどうすればいいですか?デフォルトでは
- 14. ASP.NETでデフォルト以外のProfileBaseへの参照を取得するにはどうすればよいですか?
- 15. デフォルトのローカルホスト以外のIPにアクセスするにはどうすればよいですか
- 16. xcode以外の.xibファイルを変更するにはどうすればよいですか?
- 17. ソースコードを変更してクロムのデフォルト言語を変更するにはどうすればよいですか?
- 18. デフォルト以外のコンストラクタに引数を渡すにはどうすればよいですか?
- 19. デフォルト言語以外のアイテムバージョンを削除するにはどうすればよいですか?
- 20. コントローラからZend Frameworkアプリケーションの設定にアクセスするにはどうすればよいですか?
- 21. Zend Frameworkでテーブルクラスなしで新しい行を作成するにはどうすればよいですか?
- 22. Zend Framework 2でPHPエラー報告を有効にするにはどうすればよいですか?
- 23. SDカードに保存されるデフォルトのフォルダを変更するにはどうすればよいですか?
- 24. Zend Frameworkですべてのレスポンスセグメントを取得するにはどうすればよいですか?
- 25. Zend Frameworkモジュールを異なるエイリアスに配置するにはどうすればよいですか?
- 26. Zend_Rest_Serverレスポンスヘッダ 'zend'を「my_api」に変更するにはどうすればよいですか?
- 27. サイトをサブフォルダに変更すると、Zend Frameworkルーティングテーブルはどうなりますか?
- 28. デフォルトのアプリケーションロケールをENから他の言語に変更するにはどうすればよいですか?
- 29. 変更を変更するにはどうすればよいですか?
- 30. Zend Frameworkでdb接続の設定をテストするにはどうすればよいですか?
THX!これは私が探していたものですが、iniの設定ファイルでそれを行う方法はありますか? – blacktie24
例を使って答えを更新しました。 – drew010
gotcha、詳細返信のためのthx! – blacktie24