转 PHPCMS二次开发的一个思路

阅读更多

PHPCMS二次开发的一个思路

分析 include/common.inc.php 文件, 其中$CACHE = cache_read('common.php');一行加载返回了行如'MODULE'=>array()之类的数组。
而date/cache/common.php 缓存文件主要是调用了 include/cache.func.php 的 cache_common()函数,在这个函数中我们可以看到被缓存的
数据表有:module,model,category,type,area,urlrule。其中可能对我们相对有用的就是module,model表。
因此我们开发的时所要做的第一步骤就是在module 表里插入我们所要开发模块的基本信息,比如module name, 作者,版本,描述信息等等。

然后我们就可以根据上面module表 path 的设置建立我们的模块文件,比如我们上面path 为 demo/,那么我们就在根下建立 demo/ 文件,
然后依次建立 demo/include/, demo/install, demo/uninstall, demo/include/common.inc.php, 其中demo/include/common.inc.php基本代码如下:
$mod = 'demo';
define('MOD_ROOT', substr(dirname(__FILE__), 0, -7));
require substr(MOD_ROOT, 0, -1-strlen($mod)).'include/common.inc.php';
?>
如果我们想通过URL访问demo/并看到效果,我们还需要建立 demo/index.php(其他任意名字都可以),其内容如下:
require './include/common.inc.php';

$head['keywords'] = $M['name'];
$head['description'] = $head['title'] = $M['name'].'_'.$PHPCMS['sitename'];

include template('demo', 'index');
?>
其中include template('demo', 'index');加载了模板,所以我们还需要在模板目录下建立 demo/文件夹,并在templates/default/demo/index.html,其基本代码如下:
{template 'phpcms','header'}

{template 'phpcms','footer'}
现在我们应该已经可以通过 site url/demo 看到我们前面所做的效果了。

但是现在的问题,我们必须通过手工输入site url/demo来访问,如果我们想把我们的模块添加到前台导航栏怎么做呢?其实这个是很简单的,我们只需往category表添加进
我们的模块信息就可以了
同样,如果我们还想在后台显示我们的模块管理怎么办呢?我们只需要网menu添加进我们模块的信息就可以了。

总算费这么大劲写了这么一点,不知道大家能不能看懂,我实在自惭于自己的文笔,好了不多说,就这样!

你可能感兴趣的:(转 PHPCMS二次开发的一个思路)