找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1143|回复: 2

[织梦CMS] 使用dedecms制作英文站的技巧说明

[复制链接]
发表于 2011-5-25 22:44:07 | 显示全部楼层 |阅读模式
国内的英文站长们经常遇到要用国内中文版的cms或论坛、博客来搭建英文网站,可是很多程序由于是针对国内用户设计的,所以并没有官方的英文版,如ecshop和dede cms、discuz,zblog也是利用英文语言包来实现的,所以二次开发成了一个比较热门的话题

  我这几天正在进行一项大工程,就是把DEDE修改做英文站,本来想用JOOMLA做的,但是JOOMLA的速度实在让我崩溃,而后台的复杂程序简直让我惊叹不已,只能说JOOMLA是个好程序,太优秀了,以致于复杂到想精通它实在太困难了。

  所以回过头来,想了又想,还是决定用DEDECMS做英文站了。貌似目前很多人都是拿DEDE做英文站的,很多人挂着都没有流量,原因第一点我在之前的英文站发展推广心得系列已经提到过了数据泛滥问题,原因第二点就是缺乏交互。

  改了有3天了,第一天,修改模板为UTF-8模式,本来想修改成ISO-8859格式的,官方上PM了几个管理员问这样改有没有问题,导出的话会不会出错,结果一个都不理我,郁闷,算了,索性改成UTF-8格式的吧。调整模板的宽度,颜色等,其中参照了很多国外相关主题的站点。从JOOMLA的风格上扒了个LOGO往顶上一贴,省事。

  第二天,修改细节,把几个主要页面中,出现的中文,全角符号全部改掉,全角逗号可能大家都注意了,但是全角分号貌似注意的人不多,这里提醒一下同行。把代码里的说明都去掉或换成英文的。首页部分点击图片或广告位考虑一下国外人使用鼠标左右手的习惯。写了几个页面,包括版权,隐私权,about,联系方式等,为此还特地去申请了个MSN,有MSN的朋友记得加一下哦,多交流,msn:youyouljj@gmail.com

  第三天,也就是今天,上午再一次修改模板,包括定义图片大小,防止撑破框架,首页的幻灯和走马灯的大小。下午,修改最重要的部分,SEARCH,评论等页面的全面英文化,这个可能是很多人忽略的,老外比较喜欢有交流,评论之类的,你不是想让他看到一些火星文吧?还没改完,休息一下,写下此文,希望对用dede做英文站的朋友有帮助。

  大部分的站长都想做个英文站来改善这种情况,但是很多人都没动手做。除了语言不熟悉外,对于CMS的选择肯定也在困扰着大家。国外不乏优秀的cms系统,joomla。曼波……,早都如雷贯耳,但是这些系统的操作习惯显然和我们有很大的区别。所以,很多人都在问,能不能用我们熟悉的dede来做一个像样的英文站呢?呵呵,现在进入正题

  本文针对人群:1,熟悉dede,至少用dede做过一个中文站的人 2,不打算做英文垃圾站的站长。

  要感谢的人:肥龙龙,宇宏

  先说前期准备:

  首先,你要下载一个肥龙龙修改版的DEDE4.0utf-8版

  然后买一个国外的空间,域名至少也应该是.com的,长点没关系,只要是和你主题相关的单词拼起来就行,比如:my-freewebhosts-center.com等等。买国内的没关系,但是DNS解析一定要换成国外的

  下来,就是安装utf-8的dede……

  安装好后,看看前台,已经成了英文版的了

  开始做模板,可以仿照英文站来做。

  板制作要注意几点:

  1.字符集问题:charset=utf-8

  2.字体用Verdana, Arial, Helvetica, sans-serif,这样的字体显示英文更好看

  3,所有页面上不要出现中文字符,比如全角的空格

  4.页面布局,细节等要符合老外的习惯

  如:时间格式为“月-日-年”,对应的dede标签为:[field:pubdate function=strftime('%m-%d-%Y',@me)/]

  新闻列表显示为:标题+描述,

  多看看老外的站点,就能理解了

  推荐:http://news.yahoo.com/i/1419;_ylt=Ali1aoiCjCQbrdMsZNeBewTVJRIF

  5.SEO细节

  (1)文章的url处理

  大家应该都清楚,google对于url地址的重视程度很高,同一篇标题为old food new tricks的文章,如果url显示为http://www.xxx.com/list1/20070928/5104.html 显然没有http://www.xxx.com/list1/old-food-new-tricks.html的权重高。dede默认的生成的页面地址为前者,怎么改成后者显示类型呢?

  进入后台,修改栏目的文章命名规则,默认的为:{typedir}/{Y}{M}{D}/{aid}.html

  修改为:{typedir}/{pinyin}.html 我去掉了{Y}{M}{D},这样减少文章的层级,有利于引擎收录。

  

  具体的修改方法,参考我的文章:http://bbs.foradmin.com/viewthread.php?tid=1335

  (2)meta的处理

  我修改article_article.htm的meta为:

  注意标签之间必须有一个空格,不然后面的就不起作用了

  这样修改后,每篇文章的meta都是不同的

  list_article.htm的meta我想实现为

  分别调用栏目的关键字和描述,这个就需要修改一些文件了,具体的修改方法参考:

  http://bbs.foradmin.com/viewthread.php?tid=1468

  另外,我在文章正文前面放了

  {dede:field name='keywords' runphp='yes' }

  if(!empty(@me)){

  $kws = explode(' ',@me);

  @me = "";

  foreach($kws as $k){

  @me .= "$k ";

  }

  @me= str_replace('+', ' ',trim(@me));

  }

  {/dede:field}

  这样的标签,直接调用文章的keyword,而且这些keyword是带链接的,据说这和tag功能相似。

  6.gg广告怎么放?

  我要讲的就这些了,我也刚开始做英文站,有很多做法可能还不成熟,希望有高手指正。也希望我的这点经验对新手有用!

  另外,我这个只是自己想到的,经验之谈。

  做英文站的时候,为了URL优化,设置生成文件名用文章标题。

  但是遇到一个问题就是比如文章名是I LOVE YOU,dede生成的文章页是I_LOVE_YOU.htm.在搜索的眼里这个文件名就是ILOVEYOU.htm变成了一个无意义的单词。所以要把_变成-。这样生成的文件名是I-LOVE-YOU.htm。做英文站URL包含关键字是相当重要的。现把做法分享给大家,此方法从BLT大哥那里请教来的,自己还没去试,第一时间发过来。

 打开 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];
}else $restr .= "-";
}else if( eregi("[a-z0-9]",$str[$i]) ){ $restr .= $str[$i]; }
else{ $restr .= "-"; }
}

  改

  $restr .= "-"; 这些东西

  完全引用他原话,完毕。

  dedecms 英文站翻译部分

  这次修改的主要部分:

  1.文章翻页的英文化

  2.生成文章地址去掉文章数据ID

  3.改掉DEDECMS的提示窗口改成英文。

  4.更改转向提示为英文

  5.搜索显示改成英文提示

  6.页面的meta设置

  1.翻页的英文化

  

  include/inc_archives_view.php

  include/inc_arclist_view.php

  include/inc_arcsearch_view.php

  下的修改主要是针对 文章列表页面 内容翻页 搜索页面翻译的 英文化。

  依次用记事本打开以上三文件。

  我们先打开include/inc_archives_view.php

  依次找到

  引用:

  //获取上一篇,下一篇链接

  //获得动态页面分页列表

  //获得静态页面分页列表

  这三处,把这三处下面出现的中文改成英文

  打开include/inc_arclist_view.php

  依次找到

  引用:

  //获取静态的分页列表

  //获取动态的分页列表

  这两处,把这两处下面出现的中文改成英文

  打开include/inc_arcsearch_view.php

  依次找到

  引用:

  //获取动态的分页列表

  这一处,把这一处下面出现的中文改成英文

  2.生成文章地址去掉文章数字ID

  用记事本打开 include/inc_channel_unit_function.php

  找到

  引用:

  $articleRule = str_replace("{pinyin}",GetPinyin($title)."_".$aid,$articleRule);

  改成

  引用:

  $articleRule = str_replace("{pinyin}",GetPinyin($title),$articleRule);

  简单的说就是去掉 ."_".$aid

  然后在后台把 栏目的 高级选项里

  文章命名规则:{typedir}/{pinyin}.html

  3.改掉DEDECMS的提示窗口 改成英文。

  这个必须用Dreamweaver编辑,不能用记事本编辑否则会出现后台空白的情况!

  用Dreamweaver打开include/inc_functions.php

  找到 ShowMsg 然后往下看。依次找到:

  引用:

  DedeCms 系统提示

  DedeCms 提示信息:

  如果你的浏览器没反应,请点击这里...

  对应修改成

  引用:

  DedeCms Message

  DedeCms Message:

  If your browser is no response, please click here ...

  4.更改转向提示为英文

  用记事本打开 include/jump.html

  依次找到:

  引用:

  正在转向: 请稍候...

  内容简介:

  TO:

  对应修改成

  引用:

  TO:

  Are turning to: Please wait ...

  Brief Introduction:

  5.搜索显示该成英文提示

  用记事本打开 plus/search.php

  依次找到:

  引用:

  服务器忙,请稍后搜索

  你的关键词输入不合法!

  你的信息中存在非法内容,被系统禁止![返回]

  关键字长度必须要3-30字节之间!

  对应修改成

  引用:

  Server is busy,please search later

  You do not legally enter the keywords!

  Your information in the illegal content,the system was prohibited! [Back]

  Keyword length must be between 3-30 bytes!
回复

使用道具 举报

发表于 2011-6-2 08:42:09 | 显示全部楼层
嗯,不错,学习了!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|王牌互联

GMT+8, 2024-5-6 03:41 , Processed in 0.038300 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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