模块化扩展CI锚定资产

时间:2011-06-08 13:51:09

标签: codeigniter modular hmvc

所以,我正在制作一个CMS,并使用模块化扩展HMVC CI 2.0。真可爱。我想知道保持我的资产(js,css,img)与模块目录中的模块相关的正确方法。

问题在于,如何链接到这些资产?假设我正在使用模板引擎并传递js文件以加载特定页面:

$js[] = 'assets/js/my_js.js';

我想我问这一切都错了,但是有一种简单的方法可以使用当前模块的目录进行链接吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

CI或HMVC目前没有内置任何内容。

我更喜欢 not 从应用程序目录中引用允许直接访问的文件,例如images / js / css。主要是因为:

  • 我不希望任何人知道我的应用程序的内容是什么样的。通过直接在模块中引用文件,可以公开应用程序的目录结构。

  • 如果我使用HMVC,我永远不会这样做

  • 您现在必须允许通过.htaccess直接访问应用程序中的(某些)目录。出于安全考虑,我宁愿完全放弃整个事情。

我理解尽可能模块化的愿望,但对我来说这不值得这个麻烦。我更喜欢在一个名为“modules”的公共文件夹中保留一个单独的目录(复制我的应用程序/模块结构),它只有“资产”(css,js,images ...)。

我会提供一些代码,但我不知道你是如何在你的视图中添加js / css的 - 这可能与我的方式有很大的不同。编写一个函数来检测当前模块,控制器或方法并自动更改资产文件夹会很容易,但这可能会干扰其他共享资产。我建议编写一个完全独立的函数来从模块加载资产。

相关问题