問題:在做站群的時候,在子站點下操作添加廣告,發現添加后更新js出錯,一開始我以為是在子站點添加路徑出錯了,后來切換到主站點的后臺操作還是一樣出問題,搜索了一下別人是否出現想同的問題,發現還真有,都一樣后臺報錯亂碼,看了解決辦法,情況如下:
分析:V9正式版后臺廣告管理點重新生成js出現以下錯誤或類似錯誤.
- function PCMSAD(PID) {
- this.ID = PID; this.PosID = 0; this.ADID = 0; this.ADType = ""; this.ADName = ""; this.ADContent = ""; this.PaddingLeft = 0; this.PaddingTop = 0; this.Width = 0; this.Height = 0; this.I屏蔽詞匯Count = "N"; this.UploadFilePath = ""; this.URL = ""; this.SiteID = 0; this.ShowAD = showADContent; this.Stat = statAD;
- }
- function statAD(id) {
- var sp = document_createElement_x_x_x_x("SCRIPT"); sp.type = "text/javascript"; sp.src = "http://localhost/index.php?m=poster&c=index&a=show&siteid="+this.SiteID+"&id="+id+"&spaceid="+this.PosID; document.body.a(sp);
- }
- function showADContent() {
- var content = this.ADContent;
- var isIE=!!window.ActiveXObject;
- var str = " ";
- var AD = eval_r('('+content+')');
- var count = 0;
- if(AD.ADText.length){
- count = AD.ADText.length;
- }
- for(var i=0;i<COUNT;I++){
- title='"+AD.ADText.textContent+"' (isIE){
- if (document.readyState='="complete"){
- ' document.onreadystatechange="function(){" if(document.readyState='="complete")' else { this.Stat(AD.ADText.textID); } str +=""+AD.ADText.textContent+""; } str += ""; //Vevb.com
- document.write(str);
- }
- var cmsAD_ = new PCMSAD('cmsAD_');
- cmsAD_.PosID = 2;
- cmsAD_.ADID = ;
- cmsAD_.ADType = "";
- cmsAD_.ADName = "";
- cmsAD_.ADContent = "{'ADText':[ {'textID':'2','textContent':'
看上面的代碼,再看看系統里面的poster模版文件夾,發現代碼是從那里來的,也就是更新js的時候更新不上去,因為模版沒有設置,所以導致出錯.
解決問題:官方的說法是操作是流程的問題,為什么他們不把流程控制好?,現在我們看一下正常流程如下:
1.在后臺選擇廣告模塊,然后點擊 廣告模塊設置,默認如果看到都是英文的名稱,再點右邊的設置,開始為各個模塊設置中文名稱和各個參數,下面畫紅框的是我設置的中文名稱.
例:設置的一個banner廣告模版,類型根據不容位置的不同勾選不同,數量隨便自己填寫.
2.完成模版設置之后,然后在點擊上面的添加版位,選擇版位類型,就會看到你剛設置的名稱的版位了.
3.設置好了版位,現在就可以添加廣告了,添加廣告的時候選擇的廣告類型就是你剛設置廣告模塊的時候的勾選的類型,圖片、動畫、文本,等.
到這里為止就可以添加廣告了,大功告成.
附加:修改poster模版文件
說明一下,修改模版文件是為了讓我們自己定義模版樣式,也許我們只是需要它的最基本的內容,并不需要多余的div標簽等。
如果你只是修改主站,默認修改網站模版文件夾的poster文件。我修改的是子站點的模版文件夾下的poster的文件,里面的內容是一樣的。
1.把poster模版文件里面無關的div和其他標簽刪除,這樣我們自己寫樣式,和代碼更簡潔一點。
2.把模版文件里面的{APP_PATH}去掉即可,因為我想統計的時候對每個子站點也實行統計,也就是自動根據當前的域名來統計。
3.同第二條原因一樣,我們在后臺生成js的時候,復制的地址,可以把{APP_PATH}這個地址去掉,因為我的是各個子站點目錄下面已經復制了index.php這個入口文件過去,復制的時候記得修改文件里面的路徑信息.
新聞熱點
疑難解答