zoukankan      html  css  js  c++  java
  • discuz 模板中如何使用方法和语言标签?

    第一个问题:如何调用方法?

    关于模板中eval的使用{eval php 语句}
    比如:<!--{eval echo "Hello World!"}-->

    工作中遇到一个小问题,discuz的手机模板中,需要切换收藏和取消收藏。

    取消收藏,需要找到forum/viewthread.htm 、forum/viewthread_node.htm 模板,在viewthread_node模板中修改
    取消收藏的 最低层代码 /source/include/spacecp/spacecp_favorite.php
    方法是 $fav = C::t('home_favorite')->fetch_by_id_idtype($id, $idtype, $_G['uid']);

    要想在模板页面中应用的话,就需要通过eval来引用

    <!--{eval $fav = C::t('home_favorite')->fetch_by_id_idtype($_G[tid], 'tid', $_G['uid']);}-->    其中tid是帖子,如果是版块需要改成fid

    模板viewthread_node需要替换的代码:
    <!--{if !$_G[setting][mobile][mobilesimpletype] && $post['first']}-->
    <a href="home.php?mod=spacecp&ac=favorite&type=thread&id={$_G[tid]}" class="fav">{lang favorite}</a>
    <!--{/if}-->
    替换后的代码如下:
    <!--{eval $fav = C::t('home_favorite')->fetch_by_id_idtype($_G[tid], 'tid', $_G['uid']);}-->
    <!--{if $fav['favid']}-->
    <a href="home.php?mod=spacecp&ac=favorite&op=delete&favid={eval echo $fav['favid']}" class="fav">{echo m_lang(delete_favorite)}</a>
    <!--{else}-->
    <a href="home.php?mod=spacecp&ac=favorite&type=thread&id={$_G[tid]}" class="fav">{lang favorite}</a>
    <!--{/if}-->

    第二个问题:discuz语言标签怎么使用和调取?
    要是引用手机标签,需要到mobile目录下找对应的语言标签

    论坛对应的是: sourcelanguageforumlang_template.php
    'thread_favorite' => '收藏',

    家园对应的是:source/language/home/lang_template.php
    'favorite' => '收藏',

    手机对应的是:source/language/mobile/lang_template.php
    'favorite' => '收藏',
    'favorite_delete' => '取消收藏',

    关于多语言包如何使用,需要再研究。

  • 相关阅读:
    域对象
    会话
    http请求
    ServletContext对象的应用
    配置一个servlet程序
    合并两个有序数组
    删除排列数组中的重复项
    移除元素
    搜索插入位置
    九九乘法表
  • 原文地址:https://www.cnblogs.com/wellsoho/p/3745148.html
Copyright © 2011-2022 走看看