這個(gè)問題我原來(lái)以為是沒有的,但后來(lái)經(jīng)過測(cè)試發(fā)現(xiàn)在PHPCMS2008各個(gè)版本中都存在,當(dāng)然此問題僅當(dāng)內(nèi)容頁(yè)URL為動(dòng)態(tài)時(shí)才會(huì)發(fā)現(xiàn),如果為靜態(tài)生成的話則不會(huì)有此問題.
我先大體說(shuō)一下這個(gè)[page]出問題的情景:
比如以下為兩份內(nèi)容的源代碼
內(nèi)容A:解決PHPCMS2008內(nèi)容頁(yè)分頁(yè)[page]解決PHPCMS2008內(nèi)容頁(yè)分頁(yè)[page]解決PHPCMS2008內(nèi)容頁(yè)分頁(yè)
內(nèi)容B:[page]解決PHPCMS2008內(nèi)容頁(yè)分頁(yè)[page]解決PHPCMS2008內(nèi)容頁(yè)分頁(yè)[page]解決PHPCMS2008內(nèi)容頁(yè)分頁(yè)
大家認(rèn)真看內(nèi)容A和內(nèi)容B,其實(shí)他們?cè)赨RL動(dòng)態(tài)打開時(shí)的分頁(yè)總數(shù)是一樣(分頁(yè)數(shù)量沒有錯(cuò)誤),但是在內(nèi)容分頁(yè)第1頁(yè)顯示的內(nèi)容就不一樣了,內(nèi)容A是可以正常顯示第1頁(yè)的;而內(nèi)容B的第1頁(yè)則顯示為空白,到第2頁(yè)才顯示第1頁(yè)的內(nèi)容.這就是今天要解決的問題(注:經(jīng)測(cè)試,此問題在靜態(tài)生成時(shí)不存在).
現(xiàn)在我們仔細(xì)觀察上面內(nèi)容A和內(nèi)容B的不同之處,發(fā)現(xiàn)內(nèi)容B中[page]有3個(gè),而且第1個(gè)是在具體內(nèi)容的前面,問題就在這里.
按照官方程序的設(shè)計(jì)來(lái)說(shuō),正確的分頁(yè)代碼插入應(yīng)該是:內(nèi)容[page]內(nèi)容[page]內(nèi)容.所以大家要熟記這個(gè)分頁(yè)插入規(guī)則,不要把[page]放到具體內(nèi)容的前面.
那有沒有辦法,兼容這兩種情況呢.當(dāng)然可以.只要對(duì)show.php這個(gè)文件進(jìn)行些許修改即可.以下winliuxq(http://www.liuxq.cn)就向大家提供兼容解決方案:
打開根目錄的show.php
1.找到"$contents = array_filter(explode('[page]', $content));",在其下面添加兩行: $cont_p=str_cut($content,'7','');//提取內(nèi)容代碼中前7個(gè)字符 $cont_pn=substr_count($cont_p, "[page]");//判斷前7個(gè)字符中是否存在[page]這串代碼 2.將"$content = $contents[$page-1];"修改為以下代碼: if(!$cont_pn) { $content = $contents[$page-1]; } else { $content = $contents[$page-0]; } |
好了,問題得到解決了