我正在为基于CakePHP的网站编写一个民意调查插件。如果我从自己的URL(例如myapp.com/plugin/controller
)访问它,插件工作正常,但我需要从不同的页面调用它。我想将它作为一个小部件包含在每个页面中。
我正在寻找像$myplugin->renderPoll($pollId);
这样的方法,但我真的没有找到有关如何实例化Polls类的任何信息。我尝试使用App::import
和ClassRegistry::init
但没有运气。
有什么建议吗? 谢谢
答案 0 :(得分: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) {
//...
}
}
答案 1 :(得分:0)
使用元素!它们是需要在页面之间重复的小块演示代码,有时在布局中的不同位置。
点击此链接:http://book.cakephp.org/view/1081/Elements
我想这个链接解释了你需要的一切。