Scriptcase: Detectar uso de Móvil y forzar aplicación a modo móvil o Web

567 views
Skip to first unread message

Fausto

unread,
Apr 22, 2019, 9:02:46 AM4/22/19
to comunidad-scrip...@googlegroups.com


  • Descargar librería PHP Mobile-Detect

  • Agregamos a nuestro proyecto como Librería externa del proyecto con el nombre “mobiledetect”.

  • En el onValidate del login de su proyecto puedes detectar si es un dispositivo móvil y colocarlo en una variable global de esta forma:


sc_include_library("prj", "mobiledetect", "/Mobile-Detect-2.8.33/Mobile_Detect.php", "include_once", "Require");
$detect
= new Mobile_Detect;
$es_movil
= $detect->isMobile();
sc_set_global
($es_movil);



  • En el onload del menú podemos forzar el menú móvil  de la siguiente forma:


if ([es_movil]==true) {
 $_SESSION
['scriptcase']['device_mobile'] = true;
 $_SESSION
['scriptcase']['display_mobile'] = true;
} else {
 $_SESSION
['scriptcase']['device_mobile'] = false;
 $_SESSION
['scriptcase']['display_mobile'] = false;
}



  • En el onExectute del menú podemos forzar que una aplicación se ejecute en modo móvil o web de la siguiente manera.


if  ( {sc_menu_item} == 'item_50') {
 $_SESSION
['scriptcase']['device_mobile'] = false;
 $_SESSION
['scriptcase']['display_mobile'] = false;
}





Fausto

unread,
Oct 30, 2020, 12:40:40 AM10/30/20
to comunidad-scrip...@googlegroups.com
Saludos,

La técnica anterior donde descargábamos la librería PHP Mobile-Detect no es necesario, puesto que en una investigación el colega Raul Correa y Yo, encontramos que SC incluye y carga dicha librería "../_lib/lib/php/nm_check_mobile.php" e incluso implementa la clase Mobile_Detect con una función que podemos utilizar en nuestras aplicaciones (onScriptInit) con el nombre  sc_check_mobile() . El ejemplo anterior quedaría de la siguiente forma:

$es_movil = sc_check_mobile();
sc_set_global
($es_movil);

Existen casos especiales cuando la librería nm_check_mobile.php no es cargada, un ejemplo de esto es la aplicación control cuando se usa template html, en ese caso  es necesario incluri el siguiente código en el onScriptInit

if (!function_exists("sc_check_mobile"))
{
   include_once($this->Ini->path_lib_php."nm_check_mobile.php");
}



GERARDO BECERRA YAÑEZ

unread,
Mar 3, 2021, 1:19:10 PM3/3/21
to Comunidad ScriptCase Latino
que bien gracias por su explicacion
Reply all
Reply to author
Forward
0 new messages