【发布时间】:2013-09-16 21:42:11
【问题描述】:
我检查了typical CakePHP request,但找不到解决方案。
起初myThemeCookie 不存在。通过设置此 cookie,用户可以选择他/她最喜欢的主题,他/她将来会看到该主题。
我有myController 和myAction。我在myAction.ctp 有一个表格。用户可以选择主题名称。
第一次请求myAction 检查$_POST。它找不到任何价值。动作只显示形式。
在第二个请求中,当用户提交表单时,我再次将用户发送到myAction。操作查找$_POST 数据。从$_POST 获取主题 css 地址。通过使用myComponent,写入myThemeCookie。
然后我有myLayout.ctp 文件。此布局文件使用myHelper,并通过使用myHelper->getCookieTheme(),从cookie 中获取主题名称。但是助手给出了空名。所以用户会看到旧主题的字体。 (请注意,我通过在 helper 中使用 $_COOKIE 变量来检查 cookie 数据)
当我刷新 myAction 页面并发出第三个请求时,我看到 myHelper->getCookieTheme() 给出了正确的 css 文件名。用户会看到新主题的字体。
所以,当我在 myAction 中设置了一个 cookie 后,我无法在我的辅助方法和布局文件中看到它。但似乎视图/帮助文件是在控制器操作之后计算的。我错过了什么吗?
【问题讨论】:
标签: php cakephp cakephp-2.0 http-post