分享

完美配置aspcms多语言系统,多语言版开启方法 | 风易技术博客

 道小然 2016-06-06

因为工作需要,风易需要建立一个双语版网站,而ASPCMS又是用的比较顺手的一个。

现搜索网上一个解决办法,经测试非常完美,特把步骤摘录如下:

1、找到aspcms根上当下的data文件夹,把#data.asp文件改名为#data.mdb,然后用Access打开#data.mdb文件,打开表aspcms_menu,找到 标题为《多语言设置》的项,将其MenuStatus值改为1(多语言开关),然后再把data.mdb改成data.asp。
2、打开网站登录到网站后台(后台选择全功能版),点“网站会员”-管理员组管理-修改,打上全部勾。
3.注销重新登录,就可以看到在系统设置中菜单下面有-多语言设置项。
4.点击多语言设置-添加其他语言:英语,具体参数参考中文项。
5.后台语言切换按钮
在admin文件夹中找到top.asp,打开,找到<a href=”home.asp” target=”main”>后台导航</a>后添加如下代码

  1. <%  
  2. dim dangqianid,dangqianname,rsyy  
  3. dangqianid=rCookie("languageID")  
  4. set rsyy=conn.exec("select languagename from {prefix}Language where LanguageID="&dangqianid,"exe")  
  5. if not rsyy.eof then  
  6. dangqianname=rsyy(0)  
  7. end if  
  8. rsyy.close : set rsyy=nothing  
  9. %>  
  10. <%  
  11. set rsyy=conn.exec("select LanguageID,languagename from {prefix}Language order by LanguageOrder desc,LanguageID desc","exe")  
  12. while not rsyy.eof  
  13. %>  
  14. <%if int(rsyy(0))=int(dangqianid) then%>  
  15. <a href=#><font color=red><%=rsyy(1)%></font></a>  
  16. <%else%>  
  17. <a href="index.asp?id=<%=rsyy(0)%>" target='_top'><%=rsyy(1)%></a>  
  18. <%end if%>  
  19. <%  
  20. rsyy.movenext  
  21. wend  
  22. rsyy.close : set rsyy=nothing  
  23. %>  

6.前台语言切换,在inc文件夹中找到文件aspcms_settingclass.asp,修改成以下代码

  1. <!--#include file="AspCms_MainClass.asp" -->  
  2. <%  
  3. if siteMode=0 then die siteHelp  
  4. dim LanguageAlias : LanguageAlias=rCookie("LanguageAlias")  
  5. dim setting : set setting=new SettingClass  
  6. %>  
  7. <%  
  8. dim id, rsLanguage  
  9. id=getForm("id","get")  
  10. if not isnul(id) then  
  11. set rsLanguage=conn.exec("select * from {prefix}Language where LanguageID="&id,"exe")  
  12. if not rsLanguage.eof then  
  13. wCookie"languageID",id  
  14. wCookie"languagePath",rsLanguage("LanguagePath")  
  15. wCookie"LanguageAlias",rsLanguage("Alias")  
  16. else  
  17. alertMsgAndGo "没有这个语言","-1"  
  18. end if  
  19. rsLanguage.close : set rsLanguage=nothing  
  20. response.Redirect("index.asp")  
  21. end if  
  22. %>  
  23. <!--#include file="AspCms_Language.asp" -->  

7.设置语言链接,在模板文件head.html中,把英文的链接改为,注意?后的哪个id要看后台系统设置-多语言设置中的语言种类前各自的编号。是几的就写几!

  1. <a href="{aspcms:sitepath}{aspcms:languagepath}?id=2" class="favicon" ><FONT color=#0057c2>English</FONT></a>  

8、还有一个问题就是你后台点击切换到英文模式时,点击内容还是看到中文的单页内容。这个通过以后方法修正。
找到 admin_aspcms\_content\_About 目录下的 AspCms_AboutFun.asp 找到 Sub aboutList

  1. Dim rsObj : Set rsObj=conn.Exec("select * from {prefix}Sort where SortType=1 Order by SortOrder Asc,SortID","r1")  

替换为:

  1. Dim rsObj : Set rsObj=conn.Exec("select * from {prefix}Sort where SortType=1 and LanguageID="&rCookie("languageID")&" Order by SortOrder Asc,SortID","r1")  

到这里就大功告成了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多