Maison >Tutoriel CMS >PHPCMS >phpcms implémente différents modèles pour les terminaux mobiles et informatiques

phpcms implémente différents modèles pour les terminaux mobiles et informatiques

angryTom
angryTomoriginal
2020-02-11 16:02:273159parcourir

phpcms implémente différents modèles pour les terminaux mobiles et informatiques

phpcms implémente différents modèles pour les terminaux mobiles et informatiques

1 Ouvrez d'abord phpcms/libs/functions/global.func.php, dans. Ajoutez une méthode isMobile() à la fin du fichier pour déterminer s'il est ouvert sur un téléphone mobile

 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 Ensuite, ouvrez phpcms/modules/content/index.php. Il y a trois endroits à modifier. 🎜>

a) Recherchez la méthode d'initialisation de la page d'accueil. Lors du chargement du modèle à la fin, jugez s'il est ouvert sur le téléphone mobile, chargez le modèle de téléphone mobile. chargez le modèle informatique

Environ 31 Trouvez la ligne :

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

et changez-la en :

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

b) Trouvez la méthode d'affichage de la page de contenu, et créez également un jugement lors du chargement du modèle à la fin.

se trouve probablement à la ligne 203 :

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

remplacé par :

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

c) Rechercher la méthode des listes de la page de liste, et faites également un jugement lors du chargement du modèle à la fin.

est probablement aux lignes 265 et 278, il y a deux endroits ici, recherchez :

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

Créez un nouveau répertoire mobile sous votre répertoire actuel. répertoire de modèles pour stocker les modèles mobiles

Si votre répertoire de modèles actuel est phpcms/templates/default, alors vous créez un répertoire mobile sous phpcms/templates/default.

Si votre répertoire de modèles actuel est phpcms/templates/moban, alors vous créez un répertoire mobile sous phpcms/templates/moban.

De cette manière, différents modèles peuvent être chargés respectivement sur l'ordinateur et sur les téléphones portables.

Site Web PHP chinois, un grand nombre de

Tutoriels PHPCMS gratuits, bienvenue pour apprendre en ligne !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn