我可以以编程方式将自定义数据从模块的控制器传递给小部件(当它在模块视图中用作标记时)吗?或者这是否违反了小部件自包含的概念?
答案 0 :(得分:1)
假设您在:
中有一个名为“example”的模块/addons/modules/example/
在“example”模块目录下创建一个“widgets”文件夹,并在那里创建你的小部件:
在这种情况下,小部件控制器文件名将是:
/addons/modules/example/widgets/something/something.php
其内容:
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Widget_Something extends Widgets
{
public $author = 'Author';
public $website = 'site';
public $version = '1.0';
public function run($options)
{
// Load your modules model
$this->load->model("example/example_m");
// And/Or load your modules library
$this->load->library("example/some_library");
// Return values to use in view
return array(
'variable_name' => $this->example_m->get_some_data(),
'variable_name_2' => $this->example_m->get_some_other_data()
);
}
}
它的观点将在:
/addons/modules/example/widgets/something/views/display.php
查看内容:
<h2>Some html</h2>
<p>And the variable from controller:</p>
<p><?php echo $variable_name;?></p>
有关详细信息,请查看博客模块目录。在那里你会看到小部件。
否则总会有pyrocms.com:
http://www.pyrocms.com/docs/manuals/developers/creating-custom-widgets