Mar
11
2009
Drupal 5 presenta un error al validar con estandar XHTML dependiendo del template que se emplee. Por defecto drupal no alterna los identificadores de los diversos inputs que puedan haber en una misma página; por lo que se presenta un error de id duplicado en la validación.
Para solucionar dicho inconveniente pueden agregarse las siguientes lineas al archivo template.php ya sea del engine o del theme.
/**
* Arregla la duplicación de id's "edit-sumit".
*/
function phptemplate_submit($element) {
static $dupe_ids = array();
if (isset($dupe_ids[$element['#id']])) {
$dupe_ids[$element['#id']]++;
$element['#id'] = $element['#id'] .'-'. $dupe_ids[$element['#id']];
}
else {
$dupe_ids[$element['#id']] = 0;
}
return theme('button', $element);
}
no comments | tags: Drupal, Drupal 5, PHPTemplate, XHTML | posted in Desarrollo Web
Mar
1
2009
Muchas veces es bastante útil el detectar el navegador que usa el cliente que se conecta a fin de saber si soporta ciertas funcionalidades o simplemente para hacerle cargar una hoja de estilos diferente. Se puede hacer a través de html, sin embargo una manera elegante de hacerlo es haciendo uso de PHP. Para esto, podemos escribir una función que nos detecte el navegador cliente.
<?php
function ObtenerNavegador($user_agent) {
$navegadores = array(
'Opera' => 'Opera',
'Mozilla Firefox'=> '(Firebird)|(Firefox)',
'Galeon' => 'Galeon',
'Mozilla'=>'Gecko',
'MyIE'=>'MyIE',
'Lynx' => 'Lynx',
'Netscape' => '(Mozilla/4\.75)|(Netscape6)|(Mozilla/4\.08)|(Mozilla/4\.5)|(Mozilla/4\.6)|(Mozilla/4\.79)',
'Konqueror'=>'Konqueror',
'IE7' => '(MSIE 7\.[0-9]+)',
'IE6' => '(MSIE 6\.[0-9]+)',
'IE5' => '(MSIE 5\.[0-9]+)',
'IE4' => '(MSIE 4\.[0-9]+)',
);
foreach($navegadores as $navegador=>$pattern){
if (eregi($pattern, $user_agent))
return $navegador;
}
return 'Desconocido';
}
?>
Luego se puede agregar un condicional que realice una acción según cada resultado. Basado en: http://www.webintenta.com/detectar-el-navegador-con-php.html
no comments | tags: Navegadores, php, Web | posted in Desarrollo Web