2011-01-23 2 views
0

Я пишу плагин опроса для веб-сайта, основанного на CakePHP. Плагин работает хорошо, если я получаю доступ к нему со своего собственного URL-адреса (например, myapp.com/plugin/controller), но мне нужно вызвать его с разных страниц. Я хотел бы включить его в качестве виджета на каждой странице.Как загрузить пользовательские плагины в CakePHP?

Я ищу способ вроде $myplugin->renderPoll($pollId);, но я действительно не нашел никакой информации о том, как создать экземпляр класса Опросы. Я пробовал с App::import и ClassRegistry::init без везения.

Любое предложение? Thank you

ответ

0

Похоже, вы пытаетесь создать своего рода Helper, чтобы создать опрос креста? Я бы предложил создать Helper для этого конкретного класса. Просто создайте помощника в plugins/plugin_name/views/helpers/foo.php, и в каждом контроллере (или в app_controller.php), который вам нужен, включите помощники как $helpers = array("PluginName.Foo");, и внутри вашего представления вы сможете использовать методы, определенные в foo.php, по телефону $foo->renderPoll($pollId).

//app/plugins/plugin_name/views/helpers/foo.php 
class FooHelper extends AppHelper { 
    var $name = "Foo"; 

    function renderPoll($id=0) { 
     //... 
    } 
} 
0

Использование элементов! Это небольшие блоки кода презентации, которые нужно повторять со страницы на страницу, иногда в разных местах макета.

Проверить эту ссылку из: http://book.cakephp.org/view/1081/Elements

Я думаю, по этой ссылке объясняет все, что вам нужно.

Смежные вопросы