Foros del Web » Programando para Internet » PHP »

Plantillas para php y modificar etiquetas

Estas en el tema de Plantillas para php y modificar etiquetas en el foro de PHP en Foros del Web. Hola, mi duda creo que es rara y dificil de entender pero intentare explicarme lo mejor posible, antes de nada agradecer cualquier idea o aporte... ...
  #1 (permalink)  
Antiguo 30/05/2011, 04:41
Avatar de ramiguens  
Fecha de Ingreso: mayo-2011
Mensajes: 57
Antigüedad: 12 años, 11 meses
Puntos: 4
Plantillas para php y modificar etiquetas

Hola, mi duda creo que es rara y dificil de entender pero intentare explicarme lo mejor posible, antes de nada agradecer cualquier idea o aporte... bueno el tema es el siguiente tengo un formulario de alta_usuario.php que empieza con un:

<?php

define ('BODY', '<body onload="document.FormularioAlta.nombre.focus()">') ; require('header.html')

?>

en el archivo header.html tengo puesto:

<?php if (defined('BODY')) {print BODY} else {print '<body>';} ?>

lo que prentendo es que para la pagina alta_usuario.php ponga <body onload="document.FormularioAlta.nombre.focus()"> y para el resto de paginas que no tenga el define ponga <body> pero no me funciona seguro que estoy haciendo alguna tonteria y por eso no me acaba de funcionar, pero no veo donde puede estar el fallo, probe a cambiar comillas... pero nada
  #2 (permalink)  
Antiguo 30/05/2011, 05:07
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años
Puntos: 22
Respuesta: Plantillas para php y modificar etiquetas

Si miras el código aparece siempre el onLoad en el body? Quizás siempre estás definiendo el body con lo que siempre te va a escribir el onLoad, pero eso no tendría que dar fallo.

Se me ocurre que lo que puedes hacer es comprobar el nombre del archivo donde te encuentras.

Código PHP:
$ruta $_SERVER['PHP_SELF']; 
$partes explode('/',$ruta); // partir la ruta por carpetas
$num count($partes); // numero de partes

$archivo $partes[$num-1]; // cogemos la ultima que es el archivo

if($arch == 'alta_usuario.php')
{
   echo 
'<body onload="document.FormularioAlta.nombre.focus()">';
}
else
{
   echo 
'<body>';

  #3 (permalink)  
Antiguo 30/05/2011, 09:01
Avatar de ramiguens  
Fecha de Ingreso: mayo-2011
Mensajes: 57
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: Plantillas para php y modificar etiquetas

Cita:
Iniciado por Saneko Ver Mensaje
Si miras el código aparece siempre el onLoad en el body? Quizás siempre estás definiendo el body con lo que siempre te va a escribir el onLoad, pero eso no tendría que dar fallo.

Se me ocurre que lo que puedes hacer es comprobar el nombre del archivo donde te encuentras.

Código PHP:
$ruta $_SERVER['PHP_SELF']; 
$partes explode('/',$ruta); // partir la ruta por carpetas
$num count($partes); // numero de partes

$archivo $partes[$num-1]; // cogemos la ultima que es el archivo

if($arch == 'alta_usuario.php')
{
   echo 
'<body onload="document.FormularioAlta.nombre.focus()">';
}
else
{
   echo 
'<body>';

Muchas gracias por la respuesta la verdad es que me valdria sin ningun problema lo que no comente es que en la web tengo otros formularios y mi idea era ir definiendo un 'BODY' en cada pagina por ejemplo tendria un formulario de contacto que el body tendria que ser:

<body onload="document.Contacto.nombre.focus()">
  #4 (permalink)  
Antiguo 30/05/2011, 09:06
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años
Puntos: 22
Respuesta: Plantillas para php y modificar etiquetas

Bueno, entonces en vez de un if si quieres puedes poner un switch($arch) y un caso por cada página ^^
  #5 (permalink)  
Antiguo 31/05/2011, 03:46
Avatar de ramiguens  
Fecha de Ingreso: mayo-2011
Mensajes: 57
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: Plantillas para php y modificar etiquetas

Cita:
Iniciado por Saneko Ver Mensaje
Bueno, entonces en vez de un if si quieres puedes poner un switch($arch) y un caso por cada página ^^
Hace exactamente lo que queria, muchas gracias.

Un saludo.

Etiquetas: etiquetas, modificar, plantillas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:21.