在线问答系统Tipask模板语法定义

  • 时间:
  • 浏览:1
作者:匿名 hihi 来源:ChinaZ源码报导 浏览: 2011-11-9 17:43:33 字号:大 中 小

[摘要]Tipask是一款开源、SEO友好、扩展性强、性能卓越的问答系统!Tipask 独特的MVC构架,使得二次开发非常容易,本文介绍Tipask模板语法定义。

  Tipask 的模板采用近似 PHP 表达式的语法,和Discuz基本是一样的。支持的元素如下:

* <!–{ … }–>

逻辑元素包围符,该符号用于带有条件和循环元素。

1、条件判断

<!--{if expr1}-->

statement1

<!--{elseif expr2}-->

statement2

<!--{else}-->

statement3

<!--{/if}-->

  这是有有有另1个典型的条件模板,当条件 expr1 为真时,显示模板 statement1 内容,有已经 当 expr2 为真时,显示模板 statement2 内容,有已经 显示模板 statement3 的内容。如同一些语言中的条件控制一样,其中 <!–{elseif expr}–> 和 <!–{else} –> 是非都要的。

2、不带下标变量的数组循环

<!--{loop $array $value}-->

statement

<!--{/loop}-->

  合适 PHP 的数组循环一句话:

foreach($array as $value) {

statement

}

3、带下标变量的数组循环

<!--{loop $array $key $value}-->

statement

<!--{/loop}-->

  合适 PHP 的数组循环一句话:

foreach($array as $key => $value) {

statement

}

  逻辑元素包围符在 { } 外面带有了 html 的注释符号 <!– –>,除了为了和信息元素相区别外,也方便了使用 Dreamweaver 和 Frontpage 累似 工具编辑模板的用户。因逻辑元素会被识别为 html 的注释而不被显示,对于绝大多数用户,逻辑元素中的内容是完整性不都要修改的,甚至修改错有有有另1个字符就导致 着引起错误信息和整个系统无法运行。有已经 通常您在修改 模板的已经 ,过多再修改模板的逻辑信息,更过多再将逻辑信息内部元素(如 <!–{else}–> 等)的前后位置作以修改,有已经 导致 着会导致 错误。导致 着您的模板被不慎修改损坏,请立即用原标准默认模板覆盖,即可恢复。

  对于高手而言,实际上内部的 <!– –> 是都要省略不写的,都要用于一些元素在模板中的定位,但强烈建议普通用户过多再轻易尝试。

* { … }

信息元素包围符。

o {CONSTANT}

  都要引用界面替换变量,其中都要为大写字母,该符号实际的作用是引用 PHP 常量 CONSTANT,有已经 也都要通过它来引用一些的常量内容。

o {url control/model}

  你什儿 是Tipask特有的语法,用于url的定义。累似 提出大问题的地址在模板顶端应该是:{url question/ask}。注册的地址:{url user/register}。导致 着有多个参数都用"/"隔开,累似 浏览qid=1的大问题,地址是:{url question/view/1}。

 o {template name}

  模板嵌入符,为了补救模板的冗长,都要使用本符号来将 name 模板的内容嵌入本模板中(实际上为引用)。

o {eval statement}

  运行 PHP 一句话体 statement。推荐只在很重都要的已经 才使用该形态学 ,导致 着它会破坏模板的形态学 和可读性。如 {eval echo 'template!';} 实现的功能为 echo 'template';

o {LF}

  换行符,导致 着模板引擎会忽略掉多余的换行(\n),你什儿 符号用来成生都要的 \n。

  亲们所推荐的模板修改土方法 :通过普通编辑器手工书写 html 或通过 Dreamweaver 或 Frontpage 修改。有已经 修改需切记,同一逻辑元素内或嵌套中元素的位置和内容切勿修改,即通常情況下,您如此把 <!–{}–> 包围的内容单独的移动,更如此删除。有已经 整个最内部逻辑形态学 是都要移动或删除的。

  导致 着修改后模板所在页面在输出累似 如下的错误信息 Parse error: parse error, unexpected '}' ,说明模板中突然冒出了无法匹配,或格式错误的逻辑元素,请仔细检查是算是有元素不对应,如此开使英语 或嵌套损坏,格式错误的大问题,必要时都要恢复原始模板来补救 大问题。

定义变量说明

<?exit?>

<!–{eval $i=2}–>

<!–{if $i==1}–>

123

<!–{/if}–>

                {eval $solvelist=$_ENV['question']->list_by_cfield_cvalue_status('',0,2,0,$setting['list_indexnosolve']); }

<div class="block">

<div class="title">

<h3>已补救大问题</h3>

<span><a href="{url category/list/2}">更多>></a></span>

</div>

<div class="questionList">

<div id="solved_topic_panel">

<ul>

<!--{loop $solvelist $question}-->

<li>

<h6><a href="{$question['url']}" target="_blank">{$question['title']}</a></h6>

<span>[<a href="{url category/view/$question['cid']}">{$question['category_name']}</a>] </span>

</li>

<!--{/loop}-->

</ul>

</div>

</div>

</div>
<!–{eval for ($i=1; $i<=5; $i++){ }–>

<!–{eval echo "Hello World!<br />";}–>



<!–{eval}}–>
sssss
Tags: Tipask   tipask模板   tipask语法   问答系统  
责任编辑:190