剛才在Phpcms探討群里碰到網友藍楓的一個需求:手機版生成靜態html、跟電腦版url一致,於是想到我們之前之前寫的一個生成手機版的功能,正好符合需求,實際上確切說來是一個思路:讓生成pc的html同時生成手機版的html的思路,也就是說讓WAP手機和PC電腦版都生成靜態html,實現WAP手機和PC電腦版一一對應的URL。
具體實現Phpcms v9自定義生成m手機網頁html的思路:
先定義好手機版的生成路徑和手機版域名URL:{MOBILE_PATH},然后復制content目錄,改名為m目錄,m目錄作為手機版模板的目錄,模板數據的調用寫法跟pc版一致,調用網站根網址PC用的是{APP_PATH},手機版則使用新定義的{MOBILE_PATH}。
之后修改相關函數文件,實現在生成PC版html的同時生成WAP手機版的html,具體是根據手機版的對應模板進行編譯、然后生成對應路徑下的對應名稱的html。
比如pc版是:http://www.cmsyou.com/,手機版為http://m.cmsyou.com/,那么在手機版模板網址調用的時候,采用一個替換函數統一替換{$r[url]}:
自定義生成m手機網頁html模板調用示范:
PC模板:
【pc:content action="lists" catid="$catid" order="listorder DESC" num="10"】<ul>【loop $data $r】<li><a href="【$r[url]】" title="【$r[title]】"> 【$r[title]】</a></li>【/loop】</ul><div class="pagenavi">【$pages】</div>【/pc】
手機模板:
【pc:content action="lists" catid="$catid" order="listorder DESC" num="10"】<ul>【loop $data $r】<li><a href="【str_replace(APP_PATH,MOBILE_PATH,$r[url]) 】" title="【$r[title]】"> 【$r[title]】</a></li>【/loop】</ul><div class="pagenavi">【str_replace(APP_PATH,MOBILE_PATH, $pages) 】</div>【/pc】