宅事

记录闲时弄的小东西

网上找了下,真没见到过讲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中修改.