0

我可以以编程方式将自定义数据从模块的控制器传递到小部件(当它被用作模块视图中的标签时)?或者这是否违反了小部件自包含的概念?

4

1 回答 1

1

哇,4 个月过去了,但希望这会有所帮助:

假设您有一个名为“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

于 2011-10-28T16:36:22.033 回答