我似乎找不到在同一个视图中调用不同控制器的方法。我发现最接近的是 $html->link("Register User",array('controller' => 'users', 'action'=>'register'))。
所以我做了 cakephp 的博客教程。我有一个posts_controller.php
,现在我想添加一个星级评分系统。我用谷歌搜索了一些东西,得到了这个漂亮的已经完成的评级系统,你可以下载:http ://www.reversefolds.com/articles/show/rating2
现在我有两个控制器,rating_controller.php 和 post_controller.php。
我的基本路线“/”指向后控制器的索引操作。我的帖子 view.ctp 显示了一个博客条目,我想在此视图中添加评分系统。要使用评级,我需要像这样调用助手:
echo $rfRating->ratingBar($ratingInfo);
当我在 post 的 view.ctp 文件中执行此操作时。它抱怨。我试过弄乱,var $helpers = array('blah')
但没有用,我最终将评级控制器合并到 post_controller 中,我认为这很愚蠢。我也可以将评级系统用于其他内容。
所以...我不知道该怎么办。实际上这是一个谎言,我想我有两个想法如何解决这个问题。但我需要我的谷歌技能失败的批评和其他解决方案。
我应该将整个评级系统实施到 app_controller.php 中吗?所以每个控制器都继承这个评级系统?听起来很愚蠢,因为我认为我的用户注册不需要评级系统。
我用谷歌搜索了另一个解决方案,
requestAction('blab')
. 我认为这使我能够做的是......在控制器中调用另一个控制器。但这是不受欢迎的,因为它会影响性能。而且我不完全知道该怎么做哈哈或者它是否有效。我调用评级控制器,但它的辅助函数呢?如果我添加一个 var $helpers = array('rating'); 它可能会识别它
无论如何,提前感谢大家花时间阅读本文。请指出我正确的方向。