开启PHPCMS V9的字母索引letter字段的教程

 

  1. //add cat letter
  2. if(!$r['letter'])
  3. {
  4. if(!$r['catdir'])
  5. {
  6. require 'iconv.func.php';
  7. $letter = $r['catname'];
  8. if(CHARSET != 'gbk')
  9. {
  10. $letter = iconv('UTF-8','GBK',$letter);
  11. }
  12. $letter = gbk_to_pinyin($letter);
  13. $letter = substr($letter[0],0,1);
  14. }
  15. else
  16. {
  17. $letter = substr($r['catdir'],0,1);
  18. }
  19. $db->query("UPDATE `".DB_PRE."category` SET `letter`='$letter' WHERE catid='$r[catid]' LIMIT 1");
  20. }
  21. //end
复制代码


代码如上.放到你的 include/cache.func.php文件的 function cache_common() 函数里.位置是在

本帖隐藏的内容

  1. $r['url'] = url($r['url']);
复制代码



这一句的上面就可以了.注意放对位置,不然出了问题没人负责.然后更新栏目缓存,系统缓存就好了.在看你的栏目缓存文件里,letter就有啦.
可以看我上面的算法.
如果有栏目目录的话,就取目录的首字母,否则就取栏目中文名称拼音化后的首字母.可以自己根据需要改一下.

posted @ 2012-08-08 11:27  醉翁之意不在酒  阅读(438)  评论(0编辑  收藏  举报