2009年11月

dedecms栏目转换为单页

本文使用的是dedecms的版本是5.5,模板是默认的default模板。 dedecms的栏目管理功能是很强大的,在一些企业网站中,需要“企业简介”、“联系我们”这类的单页。dedecms也专门增加了“栏目内容”功能:

dedecms栏目转换为单页

说明:栏目内容是替代原来栏目单独页的更灵活的一种方式,可在栏目模板中用{dede:field.content/}调用,通常用于企业简介之类的用途。 方法如下: 进入你需要将栏目修改为单页的栏目。进入“栏目内容”标签,添加内容为你的单页所展示的内容。 然后进入“高级选项”,将列表模板修改为{style}/artile_cat_to_single.htm。 然后新建一个模板页面artile_cat_to_single.htm放在模板目录。内容直接从default模板的article_article.html复制过来。 然后定位到“field.body”,将“field.body”改为“field.content”。 别忘了“更新栏目缓存”,F5刷新一下就搞定了。 关键是“field.content”放到你希望的位置就可以了。 还要注意的是编辑自己的模板页编码方式(utf8 or gb2312?)一定要和自己dedecms系统一致,否则会出现乱码。 dedecms utf8的编码是:UTF-8无BOM格式编码。

wordpress加入转载声明

wordpress中加入转载声明对于原创作者是很重要的。 因为主题的不同,可能具体修改代码的位置有所不同。以本博客的oriental主题为例。 打开主题目录的single.php,定位到23行:

<div class="entry">
<?php the_content('Read the rest of this entry »'); ?>
</div>

在23行下面加入我们的转载声明,最终代码如下:

<p>
本文链接:<a href="<?php the_permalink();?>" title="< ?php the_permalink();?>">< ?php single_post_title(); ?></a>
@ <a href="<?php bloginfo('siteurl'); ?>">< ?php bloginfo('name'); ?></a> ,
作者:< ?php the_author()?>
</p>
<div class="entry">
< ?php the_content('Read the rest of this entry »'); ?>
</div>

wordpress加入转载声明

done!

配置smarty开发环境

首先到 http://www.smarty.net 上下载最新的smarty模板引擎,解压Smarty-2.6.26.zip,改名Smarty-2.6.26目录为smarty。 拷贝smarty目录到你希望的目录 D:\xampp\xampp\smarty。 在php.ini的include_path加入smarty库目录,如下: include_path = ".;D:\xampp\xampp\php\PEAR;D:\xampp\xampp\smarty\libs" 在你的php项目目录新建两个子目录放配置文件和模板:config 和templates D:\xampp\xampp\htdocs\config D:\xampp\xampp\htdocs\templates smarty项目目录新建两个目录cache和templates_c存放缓存和编译过的模板: D:\xampp\xampp\smarty\cache D:\xampp\xampp\smarty\templates_c 在需要调用smarty库的php文件中写入代码:

//this is D:\xampp\xampp\htdocs\index.php
//load smarty library
require('Smarty.class.php');

$smarty=new Smarty();
$smarty->template_dir='d:/xampp/xampp/htdocs/templates'; //指定模板存放目录
$smarty->config_dir='d:/xampp/xampp/htdocs/config';//指定配置文件目录
$smarty->cache_dir='d:/xampp/xampp/smarty/cache';//指定缓存目录
$smarty->compile_dir='d:/xampp/xampp/smarty/templates_c';//指定编译后的模板目录
$smarty->assign('name','fish boy!');
$smarty->display('index.tpl');

再新建一个D:\xampp\xampp\htdocs\templates\index.tpl文件

<html>
<head><title>hello,{$name}!</title>
<script language="javascript" type="text/javascript">
alert('{$name}');
</script>
</head>
<body>
hello,{$name}!
</body>
</html>

打开http://localhost/index.php 应该会弹出fish boy!警告,然后内容为hello,fish boy!!的页面。 我们可以改进一下,不可能每次需要smarty写这么多配置代码吧。 新建文件 D:\xampp\xampp\htdocs\smarty_connect.php

//load smarty library
require('Smarty.class.php');
class smarty_connect extends Smarty
{ function smarty_connect()
{//每次构造自动调用本函数
$this->template_dir='d:/xampp/xampp/htdocs/templates';
$this->config_dir='d:/xampp/xampp/htdocs/config';
$this->cache_dir='d:/xampp/xampp/smarty/cache';
$this->compile_dir='d:/xampp/xampp/smarty/templates_c';
}
}

D:\xampp\xampp\htdocs\index.php改为:

require('smarty_connect.php');
$smt=new smarty_connect;
$smt->assign('name','fish boy!');
$smt->display('index.tpl');

index.tpl文件不变,打开localhost/index.php,出现了同样的输出。