« http-https的转换和相对URLs2007年各Ajax框架的市场占有率分析 »

Z-blog增加新文章时自动生成文章的URL

Google的SEO优化过程中,文章的URL对关键字的排名起到了很大的作用,如果给每篇文章生成一个合适的url,那对你的关键字排名将会起到很大的作用,类似Wordpree的功能,本文针对Z-blog 用户的英文博客根据标题和分类自动生成文章的URL,或许对一些写英文文章的朋友们有一些帮助。

其实实现该功能也不是很麻烦,主要用javascript的方法,当标题输入框焦点转移后自动根据输入的标题生成一个以“—”分割的字符串,需要在/admin/edit_fckeditor.asp文件中做如下修改:

 <p><%=ZC_MSG060%>:<input type="text" name="edtTitle" id="edtTitle" size="56" value="<%=EditArticle.Title%>" /></p>

 改为:

 <p><%=ZC_MSG060%>:<input type="text" name="edtTitle" id="edtTitle" size="56" value="<%=EditArticle.Title%>" onBlur="getStaticName()"/></p>

 在最后的javascript代码段中增加:

 function getStaticName(){
        var str;
        str = document.getElementById("edtTitle").value;
        str = str.replace(/(^\s*)|(\s*$)/g, "");
        str = str.replace(/\ /g,"-");
        str = str.replace(/\--/g,"-");   
        str = str.replace(/\---/g,"-");
        str = str.replace(/\----/g,"-");
        str = str.replace(/\--/g,"-");
        str = str.replace(/\./g,"-");
           
        document.getElementById("edtAlias").value=str;
        }

 如果只需按标题自动生成URL,上面的修改已经可以实现了,如果还需要在选好分类后自动在URL前加上分类名,还需要做如下的修改:

<p><%=ZC_MSG012%>:<select class="edit" size="1" id="cmbCate" onchange="edtCateID.value=this.options[this.selectedIndex].value"><option value="0"></option>

 修改为:

 <p><%=ZC_MSG012%>:<select class="edit" size="1" id="cmbCate" onchange="GetAlias(this.options[this.selectedIndex].value,this.value)"><option value="0"></option>

 在"</select>"后增加下面的代码:

<%
 Response.Write "<script>"
 Response.Write "var cat = new Array();"
 Response.Write "function GetAlias(indexid,catId)"
 Response.Write "{"
 Response.Write "document.getElementById(""edtCateID"").value = indexid;"
 For Each Category in Categorys
  If IsObject(Category) Then
  
   if len(Category.Alias)>0 then
    Response.Write "cat[" & Category.ID & "] = """ & Category.Alias&""";"
   else
    Response.Write "cat[" & Category.ID & "] = """ & Category.Name&""";"
   End If
  End If
 Next
 Response.Write "document.getElementById(""edtAlias"").value = cat[catId] " & "+ ""-"" + document.getElementById(""edtAlias"").value;"
 Response.Write "}"
 Response.Write "</script>"
%>

 现在,类似wordpress自动生成文章URL的功能已经实现了,由于我本是打算自己使用,所以修改了很多代码,经过使用没有什么问题,但是朋友们在修改代码之前一定要记得先做备份哦。还有一个不足之处就是每次焦点转移就会生成一次,如果焦点转移后又修改了标题或者分类,那么自动生成的URL就会有冗余,需要手动的删除一下。

原创文章如转载,请注明:转载自悠悠博客 [ http://www.ajaxstu.com/ ]

相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。