[soporte] titulo dinamico con php

  • Autor Autor jtaco263
  • Fecha de inicio Fecha de inicio
J

jtaco263

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
hola no me muestra el titulo en el header.php pero si en el footer.php

este es mi index.php:

PHP:
<?php
require('files/inc/config.php');
require('files/assets/php/header.php');
require('files/libs/Plantilla.class.php');
$plantilla = new plantilla($serv,$user,$pass,$base,$url,$sitio);
$pagina = empty($_GET['pagina']) ? "inicio" : $general->limpiar($_GET['pagina']);
if ($general->logueado()) {
	
	switch ($pagina) {
			case 'blog':
			$ids = $plantilla->docs($view);
			$view = $_GET['view'];
			echo $ids[0];  
			$tsTitle = $ids[1];
			break;
		case 'logout':
			$general->logout();
			$general->redir($url);
			break;
		default:
			echo $plantilla->home();
			break;
	}
}else{
	switch ($pagina) {
		case 'signup':
			echo $plantilla->signup();
			break;
		case 'login':
			echo $plantilla->login();
			break;
			case 'blog':
			$ids = $plantilla->docs($view);
			$view = $_GET['view'];
			echo $ids[0];  
			$tsTitle = $ids[1];
			break;
		default:
			echo $plantilla->home();
			break;
	}	
}
require('files/assets/php/footer.php');

el titulo lo muestro con $tsTitle = $ids[1]; el cual no esta vacio

este es parte del header:

PHP:
<?php
	global $tsTitle;
	$titulo = $tsTitle;
	?>
<!doctype HTML>
<html lang="es">
<head>

<meta http-equiv="Content-type" content="text/html;charset=utf-8" />
     <meta name="description" content="<?=$sitio;?><?=$title;?>">
    <meta name="author" content="Developers MyTech!">
  <title><?php echo $titulo;?></title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

ironicamente en el footer tengo

PHP:
<?php
	global $tsTitle;
	echo $tsTitle;
	?>

y si muestra el titulo pero no en el header
algua solución?
 
Estas definiendo el valor de $tsTitle despues de ejecutar el header.
¿No estaras confundiendo el uso de global $tsTitle?
 
Estas definiendo el valor de $tsTitle despues de ejecutar el header.
¿No estaras confundiendo el uso de global $tsTitle?

si pero se me hace raro
 
si pero se me hace raro

En realidad no necesitas el global a menos que lo tengas dentro de una funcion... con solo colocar
PHP:
echo $tsTitle;
funcionaria...
tstitle es creado aca? require('files/inc/config.php'); tstitle tiene que ser generado antes de llamar al header, (o en su defecto antes de mostrar el <title>...)
 
se genera en el index ya k llamo la funcion:

case 'blog':
$ids = $plantilla->docs($view);
$view = $_GET['view'];
echo $ids[0];
$tsTitle = $ids[1];
break;
 
se genera en el index ya k llamo la funcion:

case 'blog':
$ids = $plantilla->docs($view);
$view = $_GET['view'];
echo $ids[0];
$tsTitle = $ids[1];
break;

jajajaja pues ahi tenes tu problema... como mostras algo que no existe en header... tienes que obtener el titulo en header antes del <title> de lo contrario jamas podras mostrarlo...
 
como le hag el titulo lo genero desde la funcion docs?
no se puede hacer global?
 
como le hag el titulo lo genero desde la funcion docs?
no se puede hacer global?

por mas que sea global, solo lo vas a ver desde abajo de donde se crea... no desde arriba... tienes que generar el titulo antes no despues... sino no lo obtendras!
 
y como le hago?

el titulo lo genera a partir de la consulta sql
 
en el archivo plantilla tengo una funcion al final de documento k se ejecuta con la tercera funcion no e puede hacer asi?
 
en el archivo plantilla tengo una funcion al final de documento k se ejecuta con la tercera funcion no e puede hacer asi?

te estas liando solo... coloca la funcion o el code de obtener el titulo antes de llamar a header.php y asunto arreglado, sin vueltas sin complicaciones!
 
no cargan los archivos javascript ni la codificacion utf-8 si lo hago de esa manera

- - - Actualizado - - -

si hubo solucion


PHP:
require('files/inc/config.php');
require('files/libs/Plantilla.class.php');
$plantilla = new plantilla($serv,$user,$pass,$base,$url,$sitio);
$data_Holder = ''; //el data holder hace eecho despues de header
$pagina = empty($_GET['pagina']) ? "inicio" : $general->limpiar($_GET['pagina']);
	switch ($pagina) {
			case 'blog':
			$ids = $plantilla->docs($month,$view,$ref,$titles);
			$ref = $_GET['ref'];
			$month = $_GET['month'];
			$view = $_GET['view'];
			$titles = $_GET['titles'];
			$data_Holder = $ids[0];  
			$GLOBALS['tsTitle'] = $ids[1];
			break;
		default:
			$ids = $plantilla->docs($month,$view,$ref,$titles);
			$ref = $_GET['ref'];
			$month = $_GET['month'];
			$view = $_GET['view'];
			$titles = $_GET['titles'];
			$data_Holder = $ids[0];  
			$GLOBALS['tsTitle'] = $ids[1];
			break;
}

require('files/assets/php/header.php');
echo $data_Holder;
require('files/assets/php/footer.php');
 
no cargan los archivos javascript ni la codificacion utf-8 si lo hago de esa manera

- - - Actualizado - - -

si hubo solucion


PHP:
require('files/inc/config.php');
require('files/libs/Plantilla.class.php');
$plantilla = new plantilla($serv,$user,$pass,$base,$url,$sitio);
$data_Holder = ''; //el data holder hace eecho despues de header
$pagina = empty($_GET['pagina']) ? "inicio" : $general->limpiar($_GET['pagina']);
	switch ($pagina) {
			case 'blog':
			$ids = $plantilla->docs($month,$view,$ref,$titles);
			$ref = $_GET['ref'];
			$month = $_GET['month'];
			$view = $_GET['view'];
			$titles = $_GET['titles'];
			$data_Holder = $ids[0];  
			$GLOBALS['tsTitle'] = $ids[1];
			break;
		default:
			$ids = $plantilla->docs($month,$view,$ref,$titles);
			$ref = $_GET['ref'];
			$month = $_GET['month'];
			$view = $_GET['view'];
			$titles = $_GET['titles'];
			$data_Holder = $ids[0];  
			$GLOBALS['tsTitle'] = $ids[1];
			break;
}

require('files/assets/php/header.php');
echo $data_Holder;
require('files/assets/php/footer.php');

Ya pudiste ?
 

Temas similares

Atrás
Arriba