苹果CMS如何判断友情链接类型,输出文字还是图片

发布时间:2024-09-18共16人阅读

苹果CMS如何判断友情链接类型

在使用苹果CMS制作网站模板时,友情链接并不一定都是纯文字形式。有些网站会使用文字链接,有些则会上传网站 Logo 作为图片链接。

苹果CMS的友情链接数据中提供了 link_type 字段,可以通过这个字段判断当前友情链接属于文字链接还是图片链接,然后分别输出对应的 HTML。

苹果CMS友情链接类型判断代码

下面这段代码可以直接放到模板的友情链接区域,根据友情链接类型自动选择文字或图片显示方式:

{maccms:link num="'.($conch['theme']['links']['num']).'" type="all" order="asc" by="sort"}
{if condition="$vo['link_type'] eq 0"}
<li><a class="text_muted" href="{$vo.link_url}" title="{$vo.link_name}" target="_blank">{$vo.link_name}</a>
</li>
{elseif condition="$vo['link_type'] eq 1"}
<li><a class="text_muted" href="{$vo.link_url}" title="{$vo.link_name}" target="_blank"><img src="{$vo.link_logo}" class="link_logo"></a>
</li>
{/if}
{/maccms:link}

link_type是什么意思

这段代码主要通过 $vo['link_type'] 判断友情链接的显示类型。

  • link_type eq 0:文字友情链接。

  • link_type eq 1:图片友情链接。

因此,模板在循环读取友情链接时,可以根据后台设置自动切换输出方式,而不需要分别建立两套友情链接列表。

文字友情链接的输出方式

link_type 的值为 0 时,代码会输出普通文字链接:

<li>
    <a class="text_muted" href="{$vo.link_url}" title="{$vo.link_name}" target="_blank">
        {$vo.link_name}
    </a>
</li>

这里使用 {$vo.link_name} 作为链接文字,{$vo.link_url} 作为友情链接地址。

图片友情链接的输出方式

link_type 的值为 1 时,则改为调用友情链接图片:

<li>
    <a class="text_muted" href="{$vo.link_url}" title="{$vo.link_name}" target="_blank">
        <img src="{$vo.link_logo}" class="link_logo">
    </a>
</li>

图片地址使用 {$vo.link_logo} 获取,通常对应后台设置的友情链接 Logo。

这段代码的判断逻辑

整个处理过程其实比较简单,首先使用 {maccms:link} 循环读取友情链接,然后通过 {if}{elseif} 判断 link_type

  • 类型为 0,显示友情链接名称。

  • 类型为 1,显示友情链接 Logo。

  • 最后通过 {/if} 结束条件判断,并继续循环其他友情链接。

友情链接调用参数说明

代码中的友情链接标签还设置了排序和数量参数:

{maccms:link num="..." type="all" order="asc" by="sort"}
  • num:控制调用友情链接的数量。

  • type="all":调用全部类型的友情链接。

  • order="asc":按照升序排列。

  • by="sort":按照友情链接排序值进行排序。

如果模板中已经通过配置项设置了友情链接显示数量,那么 num 可以直接读取对应的模板配置,这也是原代码中使用 $conch['theme']['links']['num'] 的原因。

使用时需要注意

如果图片友情链接没有正常显示,可以先检查后台是否设置了 Logo 图片,同时确认 {$vo.link_logo} 是否能够获取到有效图片地址。

另外,如果模板对友情链接的图片尺寸、间距等进行了统一设计,可以针对 .link_logo 单独添加 CSS,这样文字链接和图片链接就能保持比较统一的页面布局。

总结

苹果CMS友情链接可以通过 link_type 判断当前链接是文字类型还是图片类型。使用条件判断后,就可以让同一个友情链接循环同时兼容两种显示方式:文字链接调用 link_name,图片链接调用 link_logo

这种写法比较适合用于苹果CMS V10模板开发,尤其是需要兼容后台不同友情链接展示形式的模板,可以减少重复代码。