站友论坛's Archiver

油茶 发表于 2007-11-4 18:02

用dede实现拼音显示文章标题页文件名

如题,使用dede让文章标题页显示路径为标题拼音.html,例如:文章标题为:站友网是什么啊,文章路径显示:zhanyouwangshishenmea.html,这样显示的好处是什么?靠,这个还用我说?

方法:
选择:网站栏目管理,修改栏目的高级选项,文章命名规则:{typedir}/{Y}{M}{D}/{aid}.html   这是默认的状态
修改为:{typedir}/{pinyin}.html    我觉得{Y}{M}{D}没什么用,所以也去掉了。
重新更新一下,看看是否有效果?

别着急,现在显示出拼音了,zhanyouwangshishenmea_1.html,但是后面还多了个_1,怎么去掉这个呢?
修改include里面的inc_channel_unit_function文件,找到$articleRule = str_replace("{pinyin}",GetPinyin($title)."_".$aid,$articleRule);把."_".$aid去掉,就可以了!

如果文章标题是英文的,会在单词之间加_,但是单词中间加_对gg来说没什么意义,必须改成“-”才可以,修改方法如下

[size=2]打开 include/inc/inc_fun_funAdmin.php

for($i=0;$i<$slen;$i++){
    if(ord($str[$i])>0x80)
    {
        $c = $str[$i].$str[$i+1];
        $i++;
        if(isset($pinyins[$c])){
          if($ishead==0) $restr .= $pinyins[$c];
          else $restr .= $pinyins[$c][0];
       [color=red] }else $restr .= "-";[/color]
    }else if( eregi("[a-z0-9]",$str[$i]) ){   $restr .= $str[$i]; }
    [color=red]else{ $restr .= "-"; }[/color]
  }


$restr .= "-"; 这些东西[/size]

[[i] 本帖最后由 油茶 于 2007-11-24 13:57 编辑 [/i]]

油茶 发表于 2007-11-7 15:30

拼音中间加“-”

修改include\inc\inc_fun_funAdmin.php

for($i=0;$i<$slen;$i++){
  if(ord($str[$i])>0x80)
  {
   $c = $str[$i].$str[$i+1];
   $i++;
   if(isset($pinyins[$c])){
    if($ishead==0) $restr .= $pinyins[$c][color=red]."-"[/color];



if($isclose==0) unset($pinyins);
[color=red]if(substr($restr,-1)=="-") $restr = substr($restr,0,strlen($restr)-1);[/color][color=red][/color]
return $restr;

[color=red]红色为新加的[/color]
[color=#ff0000][/color]
[color=#ff0000]所有步骤在[url=http://blog.csdn.net/expendable][b]肥龙龙[/b][/url]指导下进行,再次感谢[/color]

[[i] 本帖最后由 油茶 于 2007-11-7 17:11 编辑 [/i]]

油茶 发表于 2007-11-22 16:28

都没人顶,太没人性了!

太有才了 发表于 2007-11-22 16:50

发现新大陆了,顶

cntiger 发表于 2007-11-24 21:53

谢谢分享,顶楼主。。

bglhao 发表于 2007-11-30 21:10

好帖啊!感谢!

给你 发表于 2007-12-5 19:44

我要顶呀我要顶

佾成isucko 发表于 2007-12-6 09:45

很久没用dede了,帮顶~~

图狼 发表于 2008-1-4 01:07

感谢楼主分享

ckill 发表于 2008-3-7 22:15

不知道,说什么,除了感谢还是感谢!

谢谢!

同时想请教下楼主,楼主的第二帖

拼音中间加“-”

修改include\inc\inc_fun_funAdmin.php

for($i=0;$i<$slen;$i++){
  if(ord($str[$i])>0x80)
  {
   $c = $str[$i].$str[$i+1];
   $i++;
   if(isset($pinyins[$c])){
    if($ishead==0) $restr .= $pinyins[$c][color=red]."-"[/color];



if($isclose==0) unset($pinyins);
[color=red]if(substr($restr,-1)=="-") $restr = substr($restr,0,strlen($restr)-1);[/color][color=red][/color]
return $restr;

[color=red]红色为新加的[/color]
[color=#ff0000][/color]
[color=#ff0000][/color]
[color=black]这部分是作为补充的吧?我个人感觉没必要用这个加了[/color][color=#ff0000]"-"[/color][color=black]这种办法了,大家觉得呢?[/color]

win1688 发表于 2008-3-10 09:30

没有用过!不过还是帮你顶!!

Qiang 发表于 2008-3-14 16:26

好用+实用

页: [1]
わきが 脱毛 漢方 薬剤師 求人 インプラント インプラント インプラント 京都 インプラント 費用 レーシック 審美歯科

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.