Joomla后端核心是如何工作的


how Joomla back-end's core works?

在Joomla后端,管理员将使用GUI进行修改。
假设一个模块已启用(只需单击复选框)。
php级别发生了什么?(代码会发生什么变化?)
我想到的一些微不足道的假设是,
评论/取消
-添加/删除一些代码片段
修改/创建配置文件

Joomla本身并没有真正修改磁盘上的文件。我能想到的唯一例外是:

  • 安装扩展(写入'/tmp',然后是扩展文件的最终位置)
  • 保存全局配置选项(写入/configuration.php)
  • 缓存(写入'/cache')

管理区(和前端)的所有其他配置更改、输入的数据等都存储在Joomla数据库中。

所以给出的例子(启用/禁用模块)不会编辑或创建任何文件。它只在核心数据库表(jos_modules,如果您的DB前缀是'jos_')中进行更改。正如@Hanny提到的,所有页面上的模块包含都是基于模板中的代码在每次页面加载时动态评估的。

如果你阅读你正在使用的模板的index.php文件中-你会发现模板的所有位置都包含在该文件中<jdoc include="position10" />或它将说的那种性质的东西。

通常模板使用CSS来帮助确定如何根据哪些模块被启用来'塑造'页面,以及php级别的'if,then,else'语句。通读index.php文件,您可能会看到。

如果"module10",那么使用"rightmodule.css"类型的东西-然后可能会对某些包含div的宽度和类似的东西进行更改。

没有注释/取消注释,没有添加代码片段,没有修改/创建配置文件(至少据我所知,我以前曾为Joomla设计过一个组件)。这些都是if语句,并将它们与模板index.php文件中列出的模块位置联系在一起。

这是一个简化的答案,但我认为它回答了你的问题。