获取指定副表信息

在phpcms模板中我们使用pc标签的action="position"来调用推荐位文章列表。

它并不支持直接指定获取文章内容,因为推荐位中的文章信息会单独记录在一个数据表中并且并没有记录文章内容字段信息。

虽然直接不行但是可以多个标签灵活配合得到,这也是phpcms标签的灵活之处。我先给出演示代码:

方法1代码——使用lists标签:

{pc:content action="position" posid="1" num="10" order="listorder" return="pdata"}
{loop $pdata $p}
    {php $id = $p[id];$cid = $p[catid];} 
    {pc:content action="lists" catid="$cid" where="id=$id" moreinfo="1" num="1" return="cdata"}
    <!--使用where属性指定id,使用moreinfo属性指定获取副表信息-->
    {loop $cdata $c}
    <li>
        <h3><a href="{$c[url]}">{$c[title]}</a></h3> <!--标题链接-->
        <div class="content">{$c[content]}</div> <!--内容-->
    </li>
    {/loop}
    {/pc}
{/loop}
{/pc}

方法2代码——使用get万能标签:

{pc:content action="position" posid="1" num="10" order="listorder" return="pdata"}
{loop $pdata $p}
    {php $id = $p[id];} 
    {pc:get sql="select id,content from phpcms_news_data where id=$id" num="1" return="cdata"}
    <!--phpcms_news_data只文章模型数据表副表,其它模型更改成对应数据表-->
    {loop $cdata $c}
    <li>
        <h3><a href="{$p[url]}">{$p[title]}</a></h3> <!--标题链接,注意是$p-->
        <div class="content">{$c[content]}</div> <!--内容-->
    </li>
    {/loop}
    {/pc}
{/loop}
{/pc}

以上代码使用了两层pc标签嵌套循环遍历读取数据,主要思路是先使用action="position"标签获取被栏目下被推荐文章的id,然后再遍历通过action="lists"或者是万能标签来获取指定id的文章内容。

猜你喜欢

转载自www.cnblogs.com/yuan9580/p/10929023.html