phpcms는 모바일 및 컴퓨터 터미널에 대해 다양한 템플릿을 구현합니다
1 먼저 phpcms/libs/functions를 엽니다. /global.func.php, 파일 끝에 isMobile() 메서드를 추가하여 휴대폰에서 열렸는지 확인합니다
function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset($_SERVER['HTTP_VIA'])) { // 找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; } // 脑残法,判断手机发送的客户端标志,兼容性有待提高。其中'MicroMessenger'是电脑微信 if (isset($_SERVER['HTTP_USER_AGENT'])) { $clientkeywords = array('nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile','MicroMessenger'); // 从HTTP_USER_AGENT中查找手机浏览器的关键字 if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) { return true; } } // 协议法,因为有可能不准确,放到最后判断 if (isset ($_SERVER['HTTP_ACCEPT'])) { // 如果只支持wml并且不支持html那一定是移动设备 // 如果支持wml和html但是wml在html之前则是移动设备 if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) { return true; } } return false; }
2. 그런 다음 phpcms/modules/content/index를 엽니다. php 3개가 있는데 변경해야 할 것은
a) 홈페이지의 init 메소드를 찾아 마지막에 템플릿을 로딩할 때 휴대폰에서 열리는지 판단합니다. , 휴대폰 템플릿이 컴퓨터에서 열리면 로드하세요. PC 템플릿
은 아마도 31번째 줄에서 찾을 수 있습니다:
include template('content','index',$default_style);
는 다음으로 변경되었습니다: #🎜🎜 #
if(isMobile()){ include template('mobile','index',$default_style); }else{ include template('content','index',$default_style); }b) 콘텐츠 페이지의 표시 방법을 찾으세요. 템플릿을 로드할 때 판단하세요. 은 아마도 203행에서 찾을 수 있습니다:
include template('content',$template);#🎜 🎜# 변경됨:
if(isMobile()){ include template('mobile',$template); }else{ include template('content',$template); }
c) 목록 페이지의 목록 메소드를 찾고, 마지막에 템플릿을 로드할 때 판단합니다.
은 아마도 265번째 줄에 있고 278. 여기에는 두 곳이 있습니다. 현재 템플릿 디렉토리에
include template('content',$template); 改成: if(isMobile()){ include template('mobile',$template);}else{ include template('content',$template); }
모바일 템플릿을 저장할 새 모바일 디렉토리를 생성하세요
현재 템플릿 디렉토리가 phpcms/templates인 경우 /default, 그런 다음 phpcms/templates/default 아래에 모바일 디렉터리를 만듭니다.
현재 템플릿 디렉터리가 phpcms/templates/moban인 경우 phpcms/templates/moban 아래에 모바일 디렉터리를 생성합니다.
이러한 방식으로 컴퓨터와 휴대폰에 각각 다른 템플릿을 로드할 수 있습니다.
PHP 중국어 웹사이트, 다수의 무료
PHPCMS 튜토리얼위 내용은 phpcms는 모바일 및 컴퓨터 터미널에 대해 다양한 템플릿을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!