典型的な CakePHP リクエストを確認しましたが、解決策が見つかりませんでした。
そもそもmyThemeCookie
存在しない。この Cookie を設定することにより、ユーザーは自分の好きなテーマを選択することができ、将来そのテーマを見ることができます。
と がmyController
ありmyAction
ます。にフォームがありmyAction.ctp
ます。ユーザーはテーマ名を選択できます。
最初のリクエストmyAction
では、 がチェックされ$_POST
ます。値を見つけることができません。アクションはフォームのみを示します。
2 番目の要求では、ユーザーがフォームを送信すると、ユーザーをmyAction
再度送信します。アクションは$_POST
データを検索します。からテーマの CSS アドレスを取得し$_POST
ます。を使ってmyComponent
、myThemeCookie
と書かれています。
それから私はmyLayout.ctp
ファイルを持っています。このレイアウト ファイルはmyHelper
and を使用してmyHelper->getCookieTheme()
、Cookie からテーマ名を取得します。ただし、ヘルパーは空の名前を付けます。そのため、ユーザーには古いテーマのフォントが表示されます。$_COOKIE
(ヘルパーで変数を使用して Cookie データをチェックしていることに注意してください)
myAction ページを更新して 3 番目のリクエストを行うと、 myHelper->getCookieTheme()
適切な css ファイル名が表示されます。ユーザーには新しいテーマのフォントが表示されます。
そのため、myAction で Cookie を設定した後、ヘルパー メソッドとレイアウト ファイルでそれを見ることができません。しかし、コントローラーのアクションの後にビュー/ヘルパーファイルが計算されるようです。私は何かが恋しいですか?