Modify Templates

Modify Templates

出自LifeType 中文文件计画

在2006年5月13日 (六) 05:48由Ajer001 (对话 | 贡献)所做的修订版本
跳转到: 导航, 搜寻

目录

编辑文章 与 管理迴响的连结

编辑文章或管理迴响时,通常必须登入到管理介面,如果是旧文章就很麻烦了。在文章中加入连结,方便编辑与管理。

  • 使用方法:
修改模板,将下面语法放到适当位置即可。
管理前,请先登入管理区。
  • 修改文章:

  1. <a href="{$url->getUrl("/admin.php")}?op=blogSelect&blogId={$blog->getId()}&action=editPost&postId={$post->getId()}" target="_blank">修改文章</a>
  • 管理迴响:

  1. <a href="{$url->getUrl("/admin.php")}?op=blogSelect&blogId={$blog->getId()}&action=editComments&articleId={$post->getId()}" target="_blank">管理迴响</a>

原文发表在 阿驾零零壹 © 学习笔记


发表迴响时 显示预设标题

目前的模板,都是没有标题,而通常访客也都不会填写,所以加上预设会变成「Re:文章标题」的语法。这样从 Comment RSS、Sidebar 看也会知道是回覆哪一篇文章。

  • 修改办法:
编辑「commentform.template」,找到标题的位置,没有就自己增加。加上「value="Re:{$post->getTopic()}"」,例如:

  1. <input id="subject" name="commentTopic" value="Re:{$post->getTopic()}" >

原文发表在 阿驾零零壹 © 学习笔记


秘密文章

外挂程式中,有个 秘密文章,不过因为是外挂的关系,在文章列表、RSS等等许多地方,都会露馅。所以提供一下补强的办法。

  • Mark 提供的版本:

  1. {assign">assign">assign var=isSecretField value=$post->getFieldObject("password_protected")}
  2. {if empty($isSecretField) || $isSecretField->getValue() != 1}
  3. 没有密码要显示的东西
  4. 有密码要显示的东西
  5. {/if}
  • 来源不详:

  1. {foreach from=$recentposts item=post}
  2. {assign">assign">assign var="passwordObj" value=$post->getFieldObject("password_field")}
  3. {if $passwordObj != "" && $passwordObj->getValue() != ""}
  4. 有密码要显示的东西
  5. 没有密码要显示的东西
  6. {/if}
  7. 其中,要注意 foreach 的变数。

原文发表在 阿驾零零壹 © 学习笔记

让文章 连结 分类 等列表可收折

当文章、分类、连结等越来越多后,会发现列表「乐乐长」,这时候就要可以收纳一下。

  • 说明:
1. 已经顺便加上了秘密文章的判断。
2. 对 Firefox 和 IE 都确定没有问题。
3. expandIt 语法由 Mark 提供,以下各用法修改自 Reic
  • 使用方法:
将语法贴到适当位置即可。
  • 最新文章:

  1. <!-- 最新文章 -->
  2. <script type="text/javascript">
  3. function expandIt(getIt) {ldelim} getIt.style.display=(getIt.style.display=="none")?"":"none"; {rdelim}
  4. </script>
  5.  
  6. <!-- 下一行 加上标题语法 -->
  7. <a href="javascript:expandIt(document.getElementById('recentpost'))">最新文章</a>
  8.  
  9. <ul id="recentpost" name="recentpost" style="display: none;">
  10. {foreach from=$recentposts item=post}
  11. {assign">assign">assign var="passwordObj" value=$post->getFieldObject("password_field")}
  12. {if $passwordObj != "" && $passwordObj->getValue() != ""}
  13. <li><a title="Secert Post, Sorry" href="{$url->postLink($post)}">{$post->getTopic()}</a></li>
  14. <li><a title="{$post->getText()|truncate:150:"..."|strip_tags|escape}" href="{$url->postLink($post)}">{$post->getTopic()}</a></li>
  15. {/if}
  16. </ul>
  17. <!-- 在此放入结尾语法 -->
  • 连结列表:

  1. <!-- 连结 -->
  2. <script type="text/javascript">
  3. function expandIt(getIt) {ldelim} getIt.style.display=(getIt.style.display=="none")?"":"none";
  4. </script>
  5. <!-- 在此放入标题语法 -->
  6. {foreach from=$mylinkscategories name=linkcategory item=linkcategory}
  7. <b><a href="javascript:expandIt(document.getElementById('lnk{$smarty.foreach.linkcategory.iteration}'))"> {$linkcategory->getName()} </a></b><br />
  8. <ul id="lnk{$smarty.foreach.linkcategory.iteration}" name="lnk{$smarty.foreach.linkcategory.iteration}" style="display: none;">
  9. {foreach from=$linkcategory->getLinks() item=link}
  10. <li><a href="{$link->getUrl()}" title="{$link->getDescription()}">{$link->getName()}</a></li>
  11. </ul>
  12. <!-- 在此放入结尾语法 -->

原文有最新文章、最新迴响、分类、连结等的语法,因为太长,所以需要完整语法请参考 阿驾零零壹 © 学习笔记

收藏文章的连结

目前网路上提供的文章连结收藏、分享的服务很多,当你写了一篇好文章的时候,也应该方便一下读者们,让他们可以方便的收藏文章。

  • 说明:
目前有 Delicious、HEMiDEMi、Furl、Technorati,会陆续增加,或参考后面增加连结说明。
  • 使用方法
将语法贴到文章适当位置即可。

  1. +<a href="http://del.icio.us/login/?url={$url->postPermalink($post)}&title={$post->getTopic()}" title="Add To Your Del.icio.us" target="_blank">Del.icio.us</a>
  2. +<a href="http://www.furl.net/storeIt.jsp?p=1&t={$post->getTopic()}&u={$url->postPermalink($post)}" title="Add To Your Furl" target="_blank">Furl</a>
  3. +<a href="http://www.hemidemi.com/user_bookmark/new?title={$post->getTopic()}&url={$url->postPermalink($post)}" target="_blank" title="Add To Your HEMiDEMi" >HEMiDEMi</a>
  4. +<a href="http://technorati.com/faves?add={$url->postPermalink($post)}" target="_blank" title="Add To Your Technorati Favorites" >Technorati</a>
  • 增加连结:
分析他们的连结,并且搭配 {$url->postPermalink($post)} 取得文章连结、{$post->getTopic()} 取得文章标题。


原文发表在 阿驾零零壹 © 学习笔记

变更字体大小的JavaScript