宅事

记录闲时弄的小东西

网上找了下,真没见到过讲pligg模板结构的中文文章,所以翻译了篇,原文链接在这儿.

这儿以Pligg CMS 1.03为例,原作者以Pligg Beta 9为例,但都大同小异.

模板文件都以文件夹的形式放在./templates中,如果要使用某模板,只要登录pligg后台在模板选项中输入此模板的文件夹名即可.

 

模板结构

Pligg是用php写的程序,你可以在index.php中的最后一行找到:

 $main_smarty->display($the_template . '/pligg.tpl');

这句话调用了模板的主文件Pligg.tpl,此文件会调用其他的模板文件(都是.tpl文件).

 模板文件大多有注释,注意观察,都是<!--内容-->的形式,注释中一般有各部分的起始位置,比如<!-- START CONTENT -->,<!-- START LEFT COLUMN -->,分别代表接下来是主体和左边栏的代码, 这儿以blustandard这个模板为例:

  • 第152行调用头部 {include file=$tpl_header.".tpl"}
  • 第210行调用右边栏  {include file=$tpl_right_sidebar.".tpl"}
  • 第215行调用中栏 {include file=$tpl_second_sidebar.".tpl"}
  • 第225行调用尾部 {include file=$tpl_footer.".tpl"}

这儿要注意,$tpl_right_sidebar是一个变量,你可以在./libs/smartyvariables.php中找到这些变量的值,对应真正的文件名,例如第74行:

$main_smarty->assign('tpl_right_sidebar', $the_template . '/sidebar');

个别变量在index.php中,比如$tpl_center对应index_center.

上面的代码指出pligg.tpl中调用的$tpl_right_sidebar.."tpl"(php语言用.来连接字符串),实际为引入文件sidebar.tpl

sidebar.tpl中又调用了其他的tpl,再配合css文件,就这么一个个小部分组成了整个页面.

 

语言类型

当你打开一个.tpl (用文本编辑器打开) 文件,可以看到很多中语言混杂在一起.

  • HTML: <div><a href>等等的标记,容易认出.
  • Script: 比如  <script type=”text/javascript”> 开头的内容为javascript语言.
  • Code: Pligg有自己的语言,都在大括号中,比如{checkActionsTpl location="tpl_pligg_footer_start"}
  • 变量: 在pligg中,有一些特殊的变量,都是这种形式#变量名#,这些变量的值关系到你页面上的显示,你可以登录到管理员后台后在lauguage中修改.

 

 

Scuttle是一款在线收藏分享程序,使用php平台.

1.下载程序,点这儿.

2.上传到服务器上.

3.创建数据库,导入tables.sql文件.

3.修改./cache及./cache中的文件夹权限777.

4.修改config.inc.php.example名字为config.inc.php,并填写此文件的相关数据库配置内容(类型,地址,端口,用户名,密码,名称):

  1. $dbtype = 'mysql';
  2. $dbhost = '127.0.0.1';
  3. $dbport = '3306';
  4. $dbuser = '数据库用户名';
  5. $dbpass = '数据库密码';
  6. $dbname = '数据库名称';

5.安装完成.

sabrosus是一款在线收藏分享的平php程序.

1.下载sabrosus主程序语言文件,中文语言文件的点这儿下载.

2.上传sabrosus到服务器上.

3.上传解压缩后的语言文件(比如中文是一个名为cn的文件夹)到./locale目录.

4.修改./include/lang.php,在第16行,以中文为例,添加代码:

 $idiomas['cn'] = "中文";

5.修改./include/config.php为777权限,安装好后再改回来.

6.浏览器访问你的sabrosus地址/instalar.php

7.按提示填写数据库和网站信息,安装结束.

8.如网站网址有改动,直接修改数据库中 sabrosconfig 表单中的site_url和sabrosus_url.

 

 

Pligg是一款开源的Digg程序,PHP+mySQL运行,最新版本包含了中文界面,以下安装步骤来自Pligg官方.

0.下载Pligg.

1. 把文件 settings.php.default 改名为 settings.php

2. 把文件 /libs/dbconnect.php.default 改名为 dbconnect.php

3. 把以下目录的访问权限设为755(CHMOD 755) , 如果在安装过程中仍然出错则改为 777

  • /admin/backup/
  • /avatars/groups_uploaded/
  • /avatars/user_uploaded/
  • /cache/
  • /cache/admin_c/
  • /cache/templates_c/
  • /languages/ (这个目录下的所有文件访问权限设为777)

4. 把以下文件访问权限设置为666 (CHMOD 666)

  • /libs/dbconnect.php
  • settings.php

5.创建MYSQL数据库.

 

6.访问你的pligg目录/install/install.php开始安装

7.按照提示输入数据库信息,管理员信息.

8.安装完成后将 "/libs/dbconnect.php" 的访问权限改为 644, 删除 "/install" 这个目录.

Habari相关评论的插件,名字叫RN Related Posts,作者是天佑,下载和详细信息看这儿.

使用方法很简单,在需要显示的地方插入这行代码即可:

 <?php echo $related_posts; ?>

这儿写下适合我这个主题的用法,可以作为参考.

我的目标是在sidebar中显示"相关文章",并且只有在显示独立文章页面时sidebar中才出现"相关文章",排版格式符合整体界面.

1)上传related.png小图标到模板的images文件夹.

2)修改插件文件relatedposts.plugin.php的action_add_template_vars函数,改成如下形式:

  1. public function action_add_template_vars( $theme, $handler_vars )
  2. {
  3.     // Get the related posts only if config is setup properly and during
  4.     // 'display_post' action
  5.     if ( !empty( $this->config['num_post'] ) && Controller::get_action() == 'display_post' ) 
  6.        {
  7.         $theme->related_posts= $this->get_related_posts();
  8.         $theme->related_posts= "<h3><img alt=&quot;Related Posts&quot; src=".$theme->
  9. theme_url."/images/related.png />&nbsp;Related Posts</h3>".$theme->related_posts;                      
  10.        }
  11.     else {
  12.          $theme->related_posts= '';
  13.           }
  14. }

3)在CSS中加入:

  1. div#relatedposts ul{
  2.     style-type:none;
  3.     width:100%;
  4.     text-align:right;
  5. }
  6.  
  7. div#relatedposts a:hover {
  8.     border-bottom:2px solid #1ce0e7;
  9. }

4)在sidebar.php中加入:

  1. <!--Related Posts-->                                                           
  2. <div id="relatedposts">                        
  3. <?php echo $related_posts; ?>
  4. </div>

完成了.