下面來給各位同學整理一些在使用PHPCMS V9開發應用中常見問題,希望些這解決方案能給你帶來幫助.
文章列表頁不出現傳的文章,代碼如下:
content action="lists" catid="$catid" num="7" order="listorder DESC" thumb="1" moreinfo="1"}
默認的后臺代碼thumb=”1″,但是當沒有縮略圖時,列表如果加入了圖片循環,則不會循環出內容,所以應改為thumb=”$thumb”,代碼如下:
- {php list($copyfrom) = explode('|', $r['copyfrom'])}
- {php $db = pc_base::load_model('hits_model'); $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$r[id])); $views = $_r[views]; }
加入這2行則可以在列表頁輸出來源及點擊數。
PHPCMS V9整合的百度編輯器的圖片水印開關無效,如果站點開啟了水印功能,則復制到編輯器的圖片全部強制加水?。ㄉ袩o解決方法)
分頁樣式自定義
大家做網站的時候,可能很多時候分頁樣式都得根據模板的要求來控制的,這時很多人都會去修改全局文件phpcmslibsfunctionsglobal.func.php里的pages()函數,這樣問題就來了:這個分頁函數連后臺也會影響到的,就是說,這個分頁函數是全站共用的.
下面提供解決方法:這個得修改文件,修改前記得備份.
打開:phpcmslibsfunctionsglobal.func.php這個文件,找到分頁函數,復制一下,粘貼到默認分頁函數的下面,重新命名,比如我的就命名為wz_pages,保存.
打開:phpcms/libs/classes/template_cache.class.php,找到207行的
$str .= ‘$pages = pages($’.$op.’_total, $page, $pagesize, $urlrule);’;
在這行的下面加上:
$str .= ‘$wz_pages = wz_pages($’.$op.’_total, $page, $pagesize, $urlrule);’; 保存.
最后,如果你要使用你自定義的分頁函數,那么在模板中直接用{$wz_pages}就可以了.
以后要修改樣式,直接修改:
phpcmslibsfunctionsglobal.func.php這個文件中的wz_pages函數就可以了,不會影響到后臺,我的表達能力就只有這些了,看不懂的,回貼吧.
后續優化:使用過程中,發現使用SQL分頁的不能正常使用,得再添加如下代碼:
打開:phpcms/libs/classes/template_cache.class.php,找到178行的:
$str .= ‘$r = $get_db->sql_query(“‘.$sql.’”);$s = $get_db->fetch_next();$pages=pages($s['count'], $page, $pagesize, $urlrule);’;
在他下面增加:
$str .= ‘$r = $get_db->sql_query(“‘.$sql.’”);$s = $get_db->fetch_next();$wz_pages=wz_pages($s['count'], $page, $pagesize, $urlrule);’;
這樣,SQL的分頁也正常了,嘿嘿,歡迎拍磚、不拍的,你得頂啊~~
再次后續優化:
有朋友提到,會員中心的收藏列表分頁不能使用上面的辦法。
因為收藏列表的分頁函數直接在其他文件定好了,所以通過修改模板緩存文件是不可行的,下面提供修改辦法:
phpcmslibsclassesmodel.class.php 61行,代碼如下:
- $this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
- //把上面這行修改成:
- $this->pages = wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);//開源軟件:Vevb.com
模板中的{$pages}不用改為{$wz_pages}
上面是第一種辦法。
不過這樣子的話,可能后臺也會影響到了,這個地方好像是控制好多地方的,也可以這樣修改,還是上面那個文件,61行不要修改,直接在61行下面添加:
$this->wz_pages= wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
再去到:phpcmsmodulesmemberindex.php 718行
把 $pages = $this->favorite_db->pages;
修改為:$wz_pages = $this->favorite_db->wz_pages;
模板中的{$pages}要修改為{$wz_pages}
這是以收藏列表為例子,其他的也大同小異了.
圖片上傳問題
百分之八十是路徑經過了修改,默認站點的路徑修改80%會出現JS失效或者上傳文件夾權限不夠。所以最好在開發是使用新建站點,方便路徑的修改來轉移文件到服務器上,caches/system.php的app_path路徑可能是問題所在。
舉個例子:
將圖片的js、images、css路徑轉移到CDN上了,且APP_PATH路徑也對了,上傳附件的時候就出現了 “服務器安全認證錯誤”的提示,找到文件phpcms/modules/attachment/functions/global.func.php其中的initupload函數有以下幾行:
- swfu = new SWFUpload({flash_url:”‘.FLASH_UP_PATH.’swfupload/swfupload.swf?”+Math.random(),upload_url:”‘.APP_PATH.’index.php?m=attachment&c=attachments&a=swfupload&dosubmit=1″,file_post_name : “Filedata”, 其中FLASH_UP_PATH 原為 JS_PATH 我在base.php中重新定義的常量: define(‘FLASH_UP_PATH’, APP_PATH.’statics/js/’); //開源軟件:Vevb.com
這里把引用上傳組件的路徑寫死了,改了JS_PATH 這里必定影響,下一行可以見到 APP_PATH ,這也就是為什么很多解答都說APP_PATH必須和js、images、css路徑必須一致了 這里的解決方法的好處就是上傳的js組件引用本站的,其他的js隨意放在什么地方。(將APP_PATH改為定死的站點目錄,可暫時解決問題)
工作流修改(即審核功能)
設定好工作流的用戶同時,請同時修改所要使用該工作流的欄目的設置,要不然你會很郁悶的.
新聞熱點
疑難解答