問題タブ [zend-framework-routing]
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.
php - Zend Framework 2セグメントルートは「test」に一致するが「test/」には一致しない
Admin と Application の 2 つのモジュールがあります。モジュール アプリケーションでは、module.config.php に次のルートがあります。
マッチングしてるのが問題
example.com/admin
そして一致していません
example.com/admin/
どうすれば修正できますか?
zend-framework2 - Zend Framework 2 ワイルドカード ルート
私の中に次のルートがありますmodule.config.php
:
[/]
ルートの最後にある理由は次の質問にあります: Zend Framework 2 Segment Route matching 'test' but not 'test/'
このルートはZF1のようにしたいです。私はそれを渡したい$_GET parameters
(のように/id/1/test/2/
)。
このルートが実際には一致しているが一致/admin/customer/edit//id/20
していないという問題/admin/customer/edit/id/20
何か案は?
php - テンプレートを読み込まないアクションを作成できますか?
この質問への回答はこちらで得ましたが、別の懸念\問題があります。
ヘルパーを介して部分ビューから作成されたモジュールにサブナビゲーション バーがあります。module.config.php の構成は次のとおりです。
ログインとログアウトの2つのアクションを持つLoginControllerがあります。ログイン後、ユーザーにログアウト ボタンをクリックしてもらい、ログイン ページにリダイレクトしてセッションをクリアしてもらいます。
ログインとログアウトのアクションがある場合、それぞれにテンプレートが必要です。これは、ログアウト アクションには不要なようです。このアクションのために別のテンプレートをロードしたくありません。
ここに私のルーティング設定があります:
対応するテンプレートをロードせずにアクションを呼び出す正しい方法はありますか?
php - ACL がページへのアクセスを許可しない場合の ZF2 リダイレクト
正常に動作している ACL ツリーを構築するモジュールがあります。
config/autoload ディレクトリにはナビゲーション構成ファイルもあり、エントリに関連付けられたリソースとともにアプリケーション構造の詳細が示されています。また、アプリケーション モジュール構成にナビゲーション ファクトリがあります。
これはすべて正常に機能しており、ログインしたユーザーのロールの権限と、ナビゲーション構成のページに対するリソースに基づいてメニューをレンダリングしています。
私が解決できないのは、ユーザーがアクセスできないページ (レンダリングされたナビゲーション メニューに隠されているページ) へのアクセスを防ぐ方法です。これをモジュール内で管理したいと思います。
Module.php ファイルの onBootstrap 関数で、ACL に対して isAllowed を実行し、リダイレクトする必要があると想定しています (この質問のように、 module.php から別のコントローラー/アクションに転送します)。ただし、 isAllowed は、クエリを実行するリソースが必要なようです。これは、ナビゲーション構成から取得する必要があります。
isAllowed 関数で必要なリソースをハードコーディングすれば、これを機能させることができます。事実上、現在のページ リクエストのリソースをナビゲーション構成から取得する必要があるだけです。
これは標準機能であるに違いないと確信していますが、具体的な例は見つかりません。
どんな助けでも感謝します。
クリス
.htaccess - Zend Framework 2 プロジェクトをホスティング サーバーで動作させることができません
現在、PHPでウェブショップを開発しています。これには、Zend Framework 2 を使用します。
私のルートはすべて、ロケール、つまり「nl_NL」または「en_EN」に存在し、その後にコントローラーとアクション www.mydomain.com/nl_NL/profile/login が続きます。私のプロジェクトで使用されているルートの例については、こちらをご覧ください。これはプロファイル モジュールに属します: http://pastebin.com/jmim47w8。
訪問者がアカウントを持っておらず、Cookie が設定されていない場合、ロケール変数は最初に次の関数から取得した変数に設定されます。
Cookie が設定されている場合は、その値が使用されます。一方、ユーザーがアカウントを持っていてログインしている場合、使用される変数はユーザーのプロファイルから取得されます。
私のスクリプト全体はローカルホストで動作します。ただし、サーバーではそうではありません。ページを読み込んでも何も表示されません。エラーログを確認しましたが、何も見つかりませんでした。ただし、 /nl_NL/ または「ロケールルート」正規表現の要件を満たすその他のロケールを URL に手動で配置すると、機能します。
私の最初の考えは、url_rewrite Apache モジュールがインストールまたはアクティブ化されていないことでしたが、他の Web サイトもこのモジュールを使用しており、同じサーバー上にあるため、これは論理的ではないようです。もちろん、いくつかのスクリプトを実行して有効になっているかどうかを確認しようとしましたが、役に立ちませんでした。私たちのサーバーは、シェル スクリプトの実行を許可しないように設定されているため、または phpinfo() を使用して apache モジュールが有効になっているかどうかを確認するように設定されているため、確認するのは非常に困難です。
私は自分の .htaccess ファイルが正しいことを確認しようとしましたが、.htaccess にはほとんど慣れていません。これは私の .htaccess です:
私の IndexController がどのように見えるかを確認するには、http://pastebin.com/AEgm3Jmk を参照してください。
全体として、Zend FW 2 プロジェクトをホスティング サーバーで動作させる方法を知りたいと思いますが、URL の書き換えやロケール変数の使用を可能にするその他の方法を引き続き使用します。
この投稿に欠けているものがあり、さらに支援するために必要な場合は、喜んで投稿します。