Destoon基于PHP+MySQL的开源B2B(电子商务)行业门户的首选解决方案。本文就Destoon的二次开发简述如下:
一、初始化系统
包含系统根目录下的common.inc.php即可初始化系统。
例如在站点根目录下创建一个hello.php,代码如下:
<?php
require 'common.inc.php';
echo 'Hello World';
?>
二、编写逻辑
什么是标签调用?
标签调用是根据调用条件(condition)从数据表(table)读取调用数量(pagesize)条数据,并按排序方式(order)排序,最终通过标签模板的布局输出数据。
可以看出,标签的工作分两个部分,一是读取数据,二是显示数据。
标签函数原型
标签函数保存于 include/tag.func.php
tag($parameter, $expires = 0)
$parameter 表示传递给tag函数的字符串,系统自动将其转换为多个变量
DESTOON系统为我们提供了几套默认的主页模板,如果没有我们满意的,还可以自己动手来制作模板,下面我们先来看看系统里公司模板所涉及到的几个关键位置。
公司主页模板存放于 模板目录/homepage/ (默认为template/default/homepage)
公司主页风格存放于 company/skin/
这两个位置很重要,是公司主页模板存放的位置,也是制作模板存放的位置,一般情况下,建议不要直接修改默认模板或风格,以备制作参考。
如果需要创建一套新模板,可以将 模板目录/ homepage目录复制一份 例如 模板目录/newhomepage,对应
根目录、模板目录和样式目录:
{DT_PATH}
{DT_SKIN}
导入头脚:
{template 'header'}
{template 'footer'}
对应模块首页:
{$MODULE[$moduleid][linkurl]} //注:$moduleid表示对应模块的ID号
对应模块列表页:
对于制作Destoon的模板来说,首先需要理解两个Destoon的概念:模板(template)和风格(skin)。模板存放于系统template 目录,风格(系统界面的图片、css文件)存放于系统skin目录,也就是说,template放置页面文件,skin放置样式文件。
Destoon模板制作过程:
首先,把template和skin文件夹下原有的default文件夹各复制拷贝一份,同时改名为newmoban,准备在系统自带的默认模版文件基础上修改成自己的模版。
然后,修改template和skin文件夹下的文件these.name.php的内容,添加新模版的名字:
很多朋友在安装destoon的时候出现“Internal Server Error”的错误提示信息,导致无法安装,其解决方法如下:
方法一、删除根目录下.htaccess文件,如果无效,请尝试方法二;
方法二、对于Liunx/Unix服务器,如果不支持0777属性,可修改根目录config.inc.php:
$CFG['file_mod'] = 0777;
一、模板存放及调用规则
模板存放于系统 template 目录,template 目录下的一个目录
例如:template/default/ 即为一套模板
模板文件以 .htm 为扩展名,可直接存放于模板目录
例如 template/default/index.htm
也可以存放于模板目录的子目录里
例如:template/default/member/index.htm
destoon在初始化系统后系统会自动连接数据库,并将数据库操作对象保存在$db。对于数据库操作方法请参考include/db_mysql.class.php函数原型,下面对常用数据库操作举例说明。
1、执行SQL语句
$db->query("INSERT INTO `{$DT_PRE}table` (`xxx`) VALUES ('yyy')");
$db->query("UPDATE `{$DT_PRE}table` SET `xxx`='yyy' WHERE
为增强destoon的安全性,需要进行必要的安全设置,本文以Rewrite规则设置来增加网站安全性为例说明如下:
规则一:
屏蔽非php扩展的动态文件,例如asp、aspx等,可以阻止asp、aspx等后缀的后门程序运行
RewriteRule ^(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.php
规则二:
屏蔽站点file目录php运行权限,站点的file目录默认具有写入权限,当网站出现
1、如果您的服务器支持.htaccess,则无需设置,网站根目录下的.htaccess已经设置好规则。
规则(参考http://download.destoon.com/rewrite/htaccess.txt)为:
# Destoon B2B Rewrite Rules
ErrorDocument 404 /404.php
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)