我有一个基本的cms,它将内容加载到有胡子标记的页面中,以指示html代码中这些内容的显示位置。
内容在小部件模型中指定,指示要显示的内容类型,例如,带有id的freetext。或其他模特和身份证。这些模型中的每一个将根据它们所基于的模型以不同方式显示。
我可以想象这会变得有点笨拙,有没有办法让一个单独的文件夹放入这些小部件,以免它混乱我的主代码。
像铁道上的apotomo这样的东西会很好,但对于codeigniter来说。
答案 0 :(得分:2)
小部件模型?那不太好看。您是否尝试过查看PyroCMS?
https://github.com/pyrocms/pyrocms/blob/master/system/pyrocms/modules/widgets/libraries/Widgets.php
从它的声音中你可能对我们的Plugins库感兴趣(听起来像是一个不同名称的同一个东西)。它设置为MY_Parser并运行在Dan Horrigan的Simpletags实现之上。
无论哪种方式都可以做到这一点。如果您需要一些更具体的定制建议,您可能需要演示一些代码。
答案 1 :(得分:0)
在名为小部件的应用程序/视图中创建文件夹。将您的小部件放在该文件夹中,并为每个小部件创建一个单独的文件(d0h)。
接下来,您有2个选项(至少我知道):
a。)将小部件加载到控制器内的变量中,然后将它们传递给主/一般视图
$data['widget_twitter_feed'] = $this->load->view('widgets/twitter', '', false);
$data['widget_something'] = $this->load->view('widgets/something', '', false);
$this->load->view('my_main_view', $data);
b。)在主视图/一般视图中加载小部件
<html>
...
<div id="sidebar">
<?php $this->load->view('widgets/twitter'); ?>
</div>
...
<div id="footer">
<?php $this->load->view('widgets/something'); ?>
</div>
...
</html>