>CMS 튜토리얼 >PHPCMS >phpcms는 모바일 및 컴퓨터 터미널에 대해 다양한 템플릿을 구현합니다.

phpcms는 모바일 및 컴퓨터 터미널에 대해 다양한 템플릿을 구현합니다.

angryTom
angryTom원래의
2020-02-11 16:02:273078검색

phpcms는 모바일 및 컴퓨터 터미널에 대해 다양한 템플릿을 구현합니다.

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[&#39;HTTP_ACCEPT&#39;], &#39;vnd.wap.wml&#39;) !== false) && (strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;text/html&#39;) === false || (strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;vnd.wap.wml&#39;) < strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;text/html&#39;)))) {
      return true;
    }
  }
  return false;
}

2. 그런 다음 phpcms/modules/content/index를 엽니다. php 3개가 있는데 변경해야 할 것은

a) 홈페이지의 init 메소드를 찾아 마지막에 템플릿을 로딩할 때 휴대폰에서 열리는지 판단합니다. , 휴대폰 템플릿이 컴퓨터에서 열리면 로드하세요. PC 템플릿

은 아마도 31번째 줄에서 찾을 수 있습니다:

include template(&#39;content&#39;,&#39;index&#39;,$default_style);

는 다음으로 변경되었습니다: #🎜🎜 #

if(isMobile()){
      include template('mobile','index',$default_style);
}else{
     include template(&#39;content&#39;,&#39;index&#39;,$default_style);
}

b) 콘텐츠 페이지의 표시 방법을 찾으세요. 템플릿을 로드할 때 판단하세요.

은 아마도 203행에서 찾을 수 있습니다:

include template(&#39;content&#39;,$template);
#🎜 🎜# 변경됨:

if(isMobile()){
     include template('mobile',$template);
}else{
     include template(&#39;content&#39;,$template);
}

c) 목록 페이지의 목록 메소드를 찾고, 마지막에 템플릿을 로드할 때 판단합니다.

은 아마도 265번째 줄에 있고 278. 여기에는 두 곳이 있습니다. 현재 템플릿 디렉토리에

include template(&#39;content&#39;,$template);
改成:
if(isMobile()){
     include template('mobile',$template);}else{     
     include template(&#39;content&#39;,$template);
}

모바일 템플릿을 저장할 새 모바일 디렉토리를 생성하세요

현재 템플릿 디렉토리가 phpcms/templates인 경우 /default, 그런 다음 phpcms/templates/default 아래에 모바일 디렉터리를 만듭니다.

현재 템플릿 디렉터리가 phpcms/templates/moban인 경우 phpcms/templates/moban 아래에 모바일 디렉터리를 생성합니다.

이러한 방식으로 컴퓨터와 휴대폰에 각각 다른 템플릿을 로드할 수 있습니다.

PHP 중국어 웹사이트, 다수의 무료

PHPCMS 튜토리얼

, 온라인 학습을 환영합니다!

위 내용은 phpcms는 모바일 및 컴퓨터 터미널에 대해 다양한 템플릿을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.