# 语法核心

## 基本语法

    #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

# results matching ""

# No results matching ""