alert.md 2.3 KB

语法核心

##基本语法

#set ($list=$data.getPicList("杂谈",60,255,0,10))//调用tag,以及确定好数量,具体语法会在下面有说明

#foreach($one in $list)//获取每一条tag数据
这里写你喜欢调用的东西 例如:
#set ($title=$one.getString("title"))//标题
#set ($picurl=$one.getString("picurl"))//图片路径
#set ($thislink=$data.getRelatedUrl($one.getString("articleid")))  //文章相对路径
....
//填充到结构里面,就是对含有文字描述的结构进行填充
    <li>
        <a href="$thislink" class="mod-vedioList__link">
            <img src="$picurl"  alt="$title">
            <em class="mod-vedioList__tit">$title</em>
        </a>
    </li>
#end //结束循环

完整代码

#set ($list=$data.getPicList("杂谈",60,255,0,10))
#foreach($one in $list)
#set ($title=$one.getString("title"))
#set ($picurl=$one.getString("picurl"))
#set ($thislink=$data.getRelatedUrl($one.getString("articleid")))
<li>
    <a href="$thislink" class="mod-vedioList__link">
        <img src="$picurl"  alt="$title">
        <em class="mod-vedioList__tit">$title</em>
    </a>
</li>
#end

所以说发布器模板(非最终文章页)最常用的语法核心就是循环调用

#foreach($one in $list)
循环体
#end

特别值得注意的是, 发布器的语法分析器,会根据#end来判断语法是否结束,所以新手使用发布器语法的时候, 很容易漏掉, 需加倍小心

跨专区调用

本专区调用

$data.getPicList(...)
$data.getList(...)

跨专区调用

$data.getPicListOther(频道id/频道中文名,...)
$data.getListOther(频道id/频道中文名,...)

特别需要注意的是,跨专区调用的时候,读取的新闻列表地址,不能用相对地址,要用绝对地址

相对地址
#set ($thislink=$data.getRelatedUrl($articleid))
绝对地址
#set ($reallink=$data.getUrl($channelid,$articleid))

跨专区调用完整例子

#set ($list=$data.getPicListOther("首页","试玩解说",60,255,4))
#set  ($channel='首页')
    #foreach($one in $list)
    #set ($reallink=$data.getUrl($channel,$one.getString("articleid")))
    <li>
        <a href="$reallink"></a>
    </li>
#end

判断语句

#if(...)
    ...
#elseif
    ...
#end

同样需要注意的也是不要忘记写#end, 一个if就对应一个end