Я не могу найти способ вызова другого контроллера в том же представлении. Самое близкое, что я нашел, это $ html-> link («Register User», array ('controller' => 'users', 'action' => 'register')).cakephp вызывает разные контроллеры в одном представлении?
Итак, я сделал учебник блога cakephp. У меня есть posts_controller.php
, и теперь я хочу добавить в систему рейтинга звезд. Я искал некоторые вещи и получил эту отличную, уже проделанную систему оценки, которую вы можете скачать: http://www.reversefolds.com/articles/show/rating2
Теперь у меня есть два контроллера, rating_controller.php и post_controller.php.
Мой базовый маршрут, '/', указывает на действие индекса пост-контроллера. В view.ctp моего сообщения отображается одна запись в блоге, которую я хочу добавить в систему рейтинга в этом представлении. И для использования рейтинга мне нужно позвонить помощнику так:
echo $rfRating->ratingBar($ratingInfo);
Когда я делаю это в файле view.ctp post. Он жалуется. Я пробовал общаться с var $helpers = array('blah')
, но это не сработало, я просто закончил слияние контроллера рейтинга в post_controller, который я считаю глупым. Я могу использовать систему оценки и для других вещей.
Итак ... Я не знаю, что делать. На самом деле это ложь, я думаю, что две идеи, как справиться с этим. Но мне нужны критические замечания и другие решения, которые мои навыки Google не удались.
Должен ли я просто внедрить всю систему рейтинга в app_controller.php? Чтобы каждый контроллер наследовал эту рейтинговую систему? Звучит глупо, потому что я не думаю, что для моей регистрации пользователя нужна рейтинговая система.
Я искал другое решение,
requestAction('blab')
. Я думаю, что это позволяет мне ... вызвать другого контроллера в контроллере. Но это хмурится, потому что это убивает производительность. И я точно не знаю, как сделать это ха-ха или если он работает. Я называю контроллер рейтинга, но как его вспомогательная функция? Может быть, это узнает, если я добавлю var $ helpers = array ('rating');
В любом случае, спасибо вам заранее за то, что нашли время, чтобы прочитать это. Пожалуйста, укажите мне в правильном направлении.
О, ничего себе, спасибо. Это ... что-то вроде этого, почему я не подумал об этом. Большое спасибо. – mythicalprogrammer