Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[分享] 模板制作小技巧几个(换行、替换、截取…)

[复制链接]
movi 发表于 2008-11-16 16:09:12 | 显示全部楼层 |阅读模式
本帖最后由 movi 于 2008-12-7 02:24 编辑

1、几条信息后换行,或插入虚线或空格换行。
   可以加个判断,例如(模板是例子):
  1. <!--{block name="spaceblog" parameter="order/i.dateline DESC/cachename/newlist/tpl/data"}-->
  2. <div><ul>
  3. <!--{eval $i=1;}-->  
  4.         <!--{loop $_SBLOCK['newlist'] $value}-->
  5.         <!--{if (($i %5 !=0))}-->
  6. <li><a href="$value[url]">$value[subject]</a></li>
  7. <!--{else}-->
  8. <li><a href="$value[url]">$value[subject]</a></li></ul>
  9. <!--{/if}-->
  10.               <!--{eval $i++;}-->
  11.           <!--{/loop}-->
  12. </div>
复制代码
常用的ul换下一部分,或者
  1. <!--{block name="spaceblog" parameter="order/i.dateline DESC/cachename/newlist/tpl/data"}-->
  2. <div><ul>
  3. <!--{eval $i=1;}-->  
  4.         <!--{loop $_SBLOCK['newlist'] $value}-->
  5.         <!--{if (($i %5 !=0))}-->
  6. <li><a href="$value[url]">$value[subject]</a></li>
  7. <!--{else}-->
  8. <li><a href="$value[url]">$value[subject]</a></li>
  9. <li class="line"></li>
  10. <!--{/if}-->
  11.               <!--{eval $i++;}-->
  12.           <!--{/loop}-->
  13. </ul></div>
复制代码
5行后虚线,line定义虚线。

2、参数$value[subject]的中括号[]问题,例如这样[$value[subject]]无法显示,怎么办?可以用符号代码表示,例如上面是[$value[subject]&#93;   &#93; 是]代码,当然你也可以用】这个。
   有朋友介绍用大括号括起来也不错 [{$value[subject]}]

3、替换分页字符
   可以用以下代码替换分页字符

   <!--{eval $_SBLOCK[newlist_multipage]=str_replace('|<','第一页',$_SBLOCK[newlist_multipage]);}-->
    <!--{eval $_SBLOCK[newlist_multipage]=str_replace('>|','最后页',$_SBLOCK[newlist_multipage]);}-->
    <!--{eval $_SBLOCK[newlist_multipage]=str_replace('>','下一页',$_SBLOCK[newlist_multipage]);}-->
    <!--{eval $_SBLOCK[newlist_multipage]=str_replace('<','上一页',$_SBLOCK[newlist_multipage]);}-->
    $_SBLOCK[newlist_multipage]

意思很明显,就是第一页替换|<,最后页替换>|,下同。

4、登录后在登录调用处显示用户名
   修改/batch.panel.php文件,getcookie(); 改为 getcookie(1); 调用用户名处使用 $_SGLOBAL[supe_username_show] 调用。

5、论坛资料、我的空间等链接问题

      如何使个人空间的论坛资料链接viewpro.php有效?
      由于dz6.0以上版本将个人资料程序(viewpro.php)修改成space.php文件,因此需要将下面文件(viewpro.php)放在discuz安装的根目录下。
      viewpro.rar (366 Bytes, 下载次数: 496)

      如何在 DZ 6.1 中链接到以前的 X-Space 的个人空间?
      首先在 UC 的应用管理中编辑 SS 这个应用,应用类型选为 X-Space 才可以。
然后修改 DZ 6.1 的 \templates\default\jsmenu.htm 文件中的
  1. <li class="poplink">
  2. <!--{if $ucappopen['UCHOME']}-->
  3. <a href="{$uchomeurl}/space.php?uid=$discuz_uid" target="_blank">{lang space_my}</a>
  4. <!--{elseif $ucappopen['XSPACE']}-->
  5. <a href="{$xspaceurl}/?uid-$discuz_uid" target="_blank">{lang space_my}</a>
  6. <!--{else}-->
  7. {lang space_my}
  8. <!--{/if}-->
  9. </li>
复制代码
这段代码修改为
  1. <!--{if $ucappopen['UCHOME'] || $ucappopen['XSPACE']}-->
  2. <!--{if $ucappopen['UCHOME']}-->
  3. <li class="poplink"><a href="{$uchomeurl}/space.php?uid=$discuz_uid" target="_blank">{lang space_my}</a></li>
  4. <!--{/if}-->
  5. <!--{if $ucappopen['XSPACE']}-->
  6. <li class="poplink"><a href="{$xspaceurl}/?uid-$discuz_uid" target="_blank">{lang space_my}</a></li>
  7. <!--{/if}-->
  8. <!--{else}-->
  9. <li class="poplink">{lang space_my}</li>
  10. <!--{/if}-->
复制代码
其中 {lang space_my} 根据需要改为自己需要的文字作为 UC Home 的空间和 X-Space 的空间的区分即可。

6、标题前显示栏目名称加链接
  1. <!--{block name="spacenews" parameter="showcategory/1/order/i.dateline DESC/limit/0,10/cachetime/18600/cachename/jcnews/tpl/data"}-->
  2. <!--{loop $_SBLOCK[jcnews] $value}-->
  3. <div><a href="#action/category/$value[catid]#">[{$value[catname][name] }] </a> <a href="$value[url]">$value[subject]</a></div>
  4. <!--{/loop}-->
复制代码
如果是列表页,定义了这个<!--{loop $_SBLOCK['userspace'] $ckey $cat}-->
则栏目名称直接用$cat[name]

7、截取一些不能用subjectlen截取字数的数据
   一般的标题列表可以用subjectlen/50/来截取字数,但有些数据用subjectlen截取不了,如专题介绍、圈子介绍、用户介绍等,可以用以下代码截取:
   如截取圈子介绍
   <!--{eval $value[intro] = cutstr($value[intro],130)}-->
     想要"...", 加这句:
    <!--{eval $value[intro] = cutstr($value[intro],130,1)}-->
    $value[intro]
    截取圈主介绍
   <!--{eval $value[selfintro] = cutstr($value[selfintro],50)}-->
    $value[selfintro]

8、『强制』使用中文名注册
   https://discuz.dismall.com/thread-918100-1-1.html

9、调用论坛TAG
  1. <!--{block name="tag" parameter="sql/SELECT * FROM cdb_tags order by total desc/limit/0,5/cachetime/900/cachename/bbstag/tpl/data"}-->
  2.        <!--{loop $_SBLOCK['bbstag'] $value}-->
  3.                 <A title="$value[tagname]" href="{S_URL}/bbs/tag.php?name=$value[tagname]" target="_blank">$value[tagname]</A>
  4.       <!--{/loop}-->
复制代码
10、调用文章、空间总数。
     想调用空间的总数,论坛找了很久,愣是没有找到方法。有前辈介绍用eval,研究了一下,终于调用出来了。
  1. <!--{eval $sql = "SELECT count(*) as sum1 from supe_userspaces";
  2. $var_result   =   mysql_query($sql);   
  3.   list($con)=mysql_fetch_row($var_result);   
  4.   echo   $con;}-->
复制代码
11、待续……

评分

1

查看全部评分

abcnic1 发表于 2008-11-16 16:22:38 | 显示全部楼层
学习了---
回复

使用道具 举报

annybenz 发表于 2008-11-16 16:24:13 | 显示全部楼层
收下了``谢谢分享``
回复

使用道具 举报

kfwginui 发表于 2008-11-16 18:06:41 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| movi 发表于 2008-11-17 00:38:36 | 显示全部楼层
继续更新
回复

使用道具 举报

mingelz 发表于 2008-11-17 09:12:28 | 显示全部楼层
向楼主学习,另:
2、参数$value[subject]的中括号[]问题,例如这样[$value[subject]]无法显示,怎么办?可以用符号代码表示,例如上面是[$value[subject]]   ]是]代码,当然你也可以用】这个。

这个其实可以用大括号括起来,比如要在标题外加[],可以用[{$value[subject]}]就OK了
回复

使用道具 举报

maikongjian14a 发表于 2008-11-17 09:54:10 | 显示全部楼层
好东西,收藏了哦,谢谢楼主分享
回复

使用道具 举报

bobo7810 发表于 2008-11-17 11:46:55 | 显示全部楼层
好贴,期待继续!
回复

使用道具 举报

ppfeel 发表于 2008-11-17 13:50:41 | 显示全部楼层
好帖!顶起来!学习!
回复

使用道具 举报

 楼主| movi 发表于 2008-11-17 16:38:51 | 显示全部楼层
向楼主学习,另:

这个其实可以用大括号括起来,比如要在标题外加[],可以用[{$value[subject]}]就OK了
mingelz 发表于 2008-11-17 09:12


不错,学习了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 19:49 , Processed in 0.039557 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表