当我们加载视图时,我们可以将一些动态数据传递给它。codeigniter中的视图的默认数据
我想实现的是当视图没有收到数据时,它使用从模型(数据库)加载的一些默认数据。
问题是我真的不想把这些语句(加载默认数据)在视图中。
什么是最简单的解决方案,没有使用任何扩展如模块化扩展/分离?
非常感谢大家。
当我们加载视图时,我们可以将一些动态数据传递给它。codeigniter中的视图的默认数据
我想实现的是当视图没有收到数据时,它使用从模型(数据库)加载的一些默认数据。
问题是我真的不想把这些语句(加载默认数据)在视图中。
什么是最简单的解决方案,没有使用任何扩展如模块化扩展/分离?
非常感谢大家。
使用Base Controllers可以将全局数据导入您的视图。
我出来的东西,希望这有助于。
class Test extends Controller
{
private $data = array();
public function __construct()
{
parent::__constuct();
// Load the default data
$this->load->model('test_model');
$this->data = $this->test_model->get_default_data();
}
public function test()
{
$this->load->model('test_model');
$data = $this->test_model->get_another_data();
if (! empty($data)) {
$this->data = $data;
}
$this->load->view('test_view', $this->data);
}
}
你是正确的,你真的不想从视图调用模型(这是控制器的用途)。
检查控制器中的数据;如果您查找的数据不存在,请拨打模型的“默认数据”(当您在控制器中)时。然后将数据传递给View。