問題タブ [zend-layout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
578 参照

php - 複数のモジュール/レイアウトの Zend Framework アプリケーションでレイアウトに変数を渡すにはどうすればよいですか?

Zend Framework アプリケーションをモジュール ベースの構造に変換する前は、単一のレイアウトがあり、次のようにコントローラーから変数を渡すことができました。

ただし、すべてをデフォルト モジュールに移動し、別の「管理」モジュールを作成して以来、これを機能させることができなくなりました。おそらく、「ビュー設定」をブートストラップ ファイルからコントローラ プラグインに移動したことが原因です。モジュールに合わせてレイアウトを切り替えています。私のプラグインは次のようになります。

ビューへのこれらすべてのメソッド呼び出しをブートストラップに戻すと、変数を再びレイアウトに渡すことができます。だから私は何かが間違った順序で起こっていると推測しています.変数をコントローラーからビューに渡した後にレイアウトが切り替えられ、それらが私のレイアウトに組み込まれていないのでしょうか? (コードを preDispatch() と postDispatch() の両方に入れるなどして、上記が実行されるポイントを変更しようとしました。)

これらの変数が含まれているレイアウトではなく、個々のビュー スクリプトでこれらの変数にアクセスできることに注意してください。

任意のポインタをいただければ幸いです。

0 投票する
1 に答える
116 参照

zend-framework - Zend Layout Double Div

こんにちは私は2つのdivをzendビューに配置したいと思います。2つのdivを異なる位置に配置したい後。私の問題は、通常のコンテンツが必要であり、サイドメニューを表す別のdivを追加したいということです。たとえば、私のビューは次のとおりです。

レイアウトで使用する場合

問題は、2つのdiv(->contentと->menuscritte)が同じdivにあることです。view-menuscritteはmenuscrittegeneraleにありません。

0 投票する
2 に答える
952 参照

zend-framework - コントローラ内の変数でdefault.phtmlをキャプチャする方法

簡単な質問があります...Project/ application / layouts / scripts / default.phtmlにあるdefault.phtmlのコンテンツを変数にレンダリングして、そのhtmlを作成するにはどうすればよいですか。

インデックスコントローラーでは、アクションとtestという名前のphtmlファイルを使用すると、次のように機能します。

しかし、もちろん、これはしません:

default.phtmlはどのコントローラーにも含まれていないので、私は推測します。

それを行う良い方法はありますか?

0 投票する
3 に答える
178 参照

php - Zend_Layout 変数にバックエンド データを入力するにはどうすればよいですか?

シングルトン、レジストリ、静的プロパティ、ベース コントローラーを回避するなど、確立されたベスト プラクティスを順守しようとする場合、レイアウト (およびレイアウトで使用されるパーシャル) に、レイアウトのみで使用され、すべてのアクションで共通のデータを入力するにはどうすればよいでしょうか?

典型的なシナリオは、データベースのような変数データに基づいて構築されたメニューです。関心の分離を念頭に置いて、ビュー/レイアウトはバックエンドと直接やり取りするべきではなく、何を含めるかを伝えます。

Zend_Layout のシングルトン「機能」を使用しないと、フロント コントローラー プラグインを使用することはできません。プラグインはリクエスト オブジェクトとレスポンス オブジェクトのみを認識し、コントローラー、ビュー、またはレイアウトへのアクセスはありません。

Zend のアクション ヘルパーには、init/preDispatch/postDispatch メソッドがあります。アクション ヘルパーを HelperBroker に追加することができ (例: ブートストラップを使用)、これらは通常のアプリケーション フローで実行されます。

init-method を使用してデータをビューに挿入することはできません。これは、コントローラー/ビューの準備が整う前にトリガーされるためです。preDispatch/postDispatch は可能ですが、コントローラー アクションの実行時にこれらのメソッドが常にトリガーされるため、完全ではありません。

つまり、Zend_Controller_Action::_forward() を使用すると、すべてのアクション ヘルパーで preDispatch/postDispatch も実行されます。これは、速度以外のコードに大きな影響を与えることはありません。ビュー (またはビュー ヘルパー) 変数を何度も設定したくありません。ある種の $firstRun 変数を使用してこの問題を回避するコードを作成できますが、自分のコードでこれを追跡したくありません。

別の方法はブートストラップでこれを行うことですが、私の意見では、実際にはそこに属していません。

では、レイアウト/ビュー ヘルパーにデータベースからのデータを取り込むにはどうすればよいでしょうか。それを 1 回だけ実行し、それでも問題を適切に分離できますか?

0 投票する
2 に答える
2496 参照

zend-framework - zendフレームワークのスタイルシートビューヘルパー

ヘッドタグ内にcssスタイルシートを追加したかったのですが、ボディタグに追加されます。これが私がしたことです:私はアクション「インデックス」を持つコントローラー「国」を持っており、私のビューはindex.phtmlです

index.phtmlに含まれるもの:

これにより、スタイルシートがbodyタグ内に追加されます。これらのスタイルシートをこのアクションに追加するだけです。このスタイルシートをlayout.phtmlに含めたくないのですが、どうすればよいですか?

0 投票する
1 に答える
342 参照

database - データベースからZendレイアウトをロードする

練習と楽しみのために、Zendの上にcmsを構築しています。レイアウトスクリプトとビュースクリプトをデータベースに保存し、そこから取得できるようにして、CMS内から簡単に編集できるようにしたいと思います。誰かが私を正しい方向に向けることができますか?私が今していることはこれです:

しかし、これは明らかに私がレガでゼンドのすべての利点を失うことを意味します

0 投票する
1 に答える
1220 参照

zend-framework - zend でブートストラップ内のモジュールのレイアウト ファイルを設定する

私のzendアプリケーション構造:

application.ini でデフォルトのレイアウトを次のように設定しました。

admin と default の 2 つのモジュールがあります。管理モジュールのレイアウト ファイル (admin.phtml) を設定するには? 管理モジュールの Bootstrap.php ファイルからレイアウトを変更したいですか? または、最も簡単な方法を教えてください。

0 投票する
1 に答える
4291 参照

zend-framework - Zendフレームワークにスクリプトファイルを追加する方法

私のレイアウトはlayout/scripts/layout.phtml内に配置されています。layout.phtmlのheadセクション内に以下のコードを配置しました

ここで、ビューから別の JavaScript ファイルを追加したいと考えています。そのために、次のコードを書きました。

これはファイルを追加しましたが、私のjquery-1.7.2.min.jsの前に表示されます。私が欲しいのは、jquery-1.7.2.min.jsの下にjquery.fancybox-1.3.4.pack.jsを追加したいということです。どうすればこれを行うことができますか?

0 投票する
1 に答える
840 参照

zend-framework - Zend: 複数の js ファイルをレイアウトに追加する

複数のjsファイルをレイアウトに追加しようとしています。これをヘルパーで行いたい。
私のヘルパーのコードは次のとおりです。

そして、私のレイアウトには次のものがあります。

問題は、js ファイルを追加しないことです。
エコーを前に置くと:

また

次に、スクリプトは同じファイルを数回追加します。
誰かが私が間違っていることを教えてくれますか?

0 投票する
2 に答える
2034 参照

zend-framework - Zendのデフォルトのビュースクリプト名の切り替え

通常のビュースクリプトの代わりにモバイルビューを表示したい。

たとえば、このアクション/ my_module / my_controller/my_actionを見てみましょう。

私がそれを呼ぶとき、いくつかのヘッダー処理に基づいて、私はユーザーエージェントがモバイルデバイスであることを知っています。次に、メインレイアウトをモバイル固有のレイアウトに設定しました。私はこのようにそれを行い、それはうまくいきます:Zend_Layout::getMvcInstance()->setLayout('mobile');

しかし、私のコントローラーまたは他の場所で、のようなデフォルトのビューファイルをオーバーライドしたいと思いmy_action.phtmlますmy_action_mobile.phtml

私の見解のいくつかでは、アクションヘルパーを次のように使用していることを考慮して、それをどのように行うことができますか:<?php echo $this->action("index", "index", "items")?>または私のアクションの一部は次のような_forwardを持っています:$this->_forward("index", "auth", "default");

setViewSuffix('mobile')my_action.mobile.phtml、またはmy_action.mobile.phtmlなどのファイルを使用して、いくつかのファイル名のバリエーションを試してみましsetViewSuffix('mobile.phtml')たが、ページが空白になりました。エラーはなく、何もありません。(スローされたエラーを表示するように設定されているため、理由はわかりません)

また、contextSwitchingを試しましたが、メインレイアウトが無効になり(これは必要ありません)、アクションビューヘルパーが適切に処理されないように感じます。(別のビューでレンダリングされたビュー)

どんなサジェクションでもよろしくお願いします。ありがとうございました!