Pregunta:
Fecha: 13-12-2015 09:00:23
(En Español)
Estoy armando un sitio web estatico usando biblotecas PHP y me surgen algunas dudas. Tengo el header y el footer por un parte y despues el otro contenido lo creo yo a mano.
Ejemplo
header.php
footer.php
index.php
Mi consulta es la siguiente yo tengo que cambiar el contenido de la etiqueta title ya que otras paginas que cree van a tener otro titulo y demas cosas. Lo ideal seria hacerlo con Jquery? o bien con PHP?
Por que aqui lo hago con jquery cambio el contenido de ese elemento
pero tambien con PHP lo puedo hacer con una función
lo encapsulo todo en una función y despues en la pagina que la nesecito la invoco con el parametro del title ejemplo
Cual seria la mejor forma de hacerlo, compañeros?
¡Saludos! Votos: 3 - Respuestas: 10 - Vistas: 14 Compartir en: Google Facebook Twitter LinkedIn Link
Biblotecas PHP (página web)[Resuelta]
Buenas comunidad yo de nuevo por aquí, como estan?Estoy armando un sitio web estatico usando biblotecas PHP y me surgen algunas dudas. Tengo el header y el footer por un parte y despues el otro contenido lo creo yo a mano.
Ejemplo
header.php
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Inicio</title> <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> </head> <body>
footer.php
</body> </html>
index.php
<?php
require('header.php');
?>
<script>
$(document).ready(function(){
$('title').text('Organización');
});
</script>
<div id="contenido">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Unde quae culpa nihil temporibus
numquam placeat eligendi nemo a totam assumenda? Dolores quod natus molestias recusandae
aliquam culpa eum inventore, magni?
</div>
<?php
require('footer.php');
?>
Mi consulta es la siguiente yo tengo que cambiar el contenido de la etiqueta title ya que otras paginas que cree van a tener otro titulo y demas cosas. Lo ideal seria hacerlo con Jquery? o bien con PHP?
Por que aqui lo hago con jquery cambio el contenido de ese elemento
<script>
$(document).ready(function(){
$('title').text('Organización');
});
</script>pero tambien con PHP lo puedo hacer con una función
<?php
function headerWeb($title) {
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><?php echo $title; ?></title>
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
</head>
<body>
<?php
}
?>
lo encapsulo todo en una función y despues en la pagina que la nesecito la invoco con el parametro del title ejemplo
<?php
function headerWeb($title) {
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><?php echo $title; ?></title>
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
</head>
<body>
<?php
}
?>
Cual seria la mejor forma de hacerlo, compañeros?
¡Saludos! Votos: 3 - Respuestas: 10 - Vistas: 14 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 13-12-2015 17:50:46 Hola ps yo diría que por PHP porque algunos desactivan o no les sirve el JavaScript pero no en una función simplemente defines una variable antes de hacer un include y donde llamas la página pones la variable para que la muestre y ya.
Salu2 Votos: 1 - Link respuesta -
Fecha: 13-12-2015 20:31:49 Hola gonzalo este codigo es mejor
<?php function headerWeb($title) { ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title><?php echo $title; ?></title> <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> </head> <body> <?php } ?>
asi sacamos probecho imaginemos que mas adelante queremos actualizar el js del jquery a una nueva version , solo nos bastaria ingresar a la funcion y cambiar la linea
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
saludos Votos: 3 - Link respuesta -
Fecha: 14-12-2015 07:26:21 ElCapa8 muchas gracias por tu consejo, y a vos tambien Juan.
Marco como solucionado si alguien tiene algo mas para aportar bienvenido sea.
¡Saludos! Votos: 2 - Link respuesta -
Fecha: 14-12-2015 17:15:57 yo optaria por la solución de ElCapa8 por lo que él mismo ha explicado.
Gonzalo que solucion has adoptado?
Saludos Votos: 1 - Link respuesta -
Fecha: 14-12-2015 18:41:11 Por el momento encapsulo en una funcion y agrego los parametros que nesecito. Despues donde la nesecito hago un require y invoco a la función y defino los parametros.
¡Saludos! Votos: 1 - Link respuesta -
Fecha: 15-12-2015 01:57:08 Sobre lo que han discutido les doy una alternativa.
En vez de encapsular en funciones y hacer cosas raras, directamente pueden utilizar el alcance de las variables (scope), por ejemplo:
header.php
<!DOCTYPE html> <html lang="<?php echo $config['lenguaje'];?>"> <head> <meta charset="UTF-8"> <title><?php echo $config['title'];?></title> <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> </head> <body>
footer.php
</body> </html>
index.php
<?php $config['title'] = 'titulo de la página'; $config['lenguaje'] = 'es'; $config['otra_config'] = 'otra'; require('header.php'); ?> <div id="contenido"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Unde quae culpa nihil temporibus numquam placeat eligendi nemo a totam assumenda? Dolores quod natus molestias recusandae aliquam culpa eum inventore, magni? </div> <?php require('footer.php'); ?>
En cualquier caso, no hay que olvidar que el código Javascript siempre es ejecutado por el cliente con capacidades (por ejemplo un navegador web, y no, por ejemplo, por los crawlers de Google), por lo que el título solo estará bien presentado cuando se visualiza la web desde un navegado, no así cuando esta sea invocada por algún proceso que requiera la información del título y no ejecute Javascript (caso de los crawlers de Google). Habiendo dicho esto, para fines SEO es muy mala práctica cambiar el título con Javascript.
Saludos, Votos: 1 - Link respuesta -
Fecha: 15-12-2015 03:57:41 Muy bueno la alternativa fernando , siguiendo tu mismo esquema tambien podiamos utilizar los define que en si es mas limpio
expongo codigo
variables.php
<?php define("title", "titulo de la página"); define["lenguaje"] = "es"; define["otra_config"] = "otra"; ?>
header.php
<?php require "variables.php"; ?> <!DOCTYPE html> <html lang="<?php echo lenguaje;?>"> <head> <meta charset="UTF-8"> <title><?php echo title;?></title> <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> </head> <body>
footer.php
</body> </html>
index.php
<?php require('header.php'); ?> <div id="contenido"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Unde quae culpa nihil temporibus numquam placeat eligendi nemo a totam assumenda? Dolores quod natus molestias recusandae aliquam culpa eum inventore, magni? </div> <?php require('footer.php'); ?>
saludos Votos: 2 - Link respuesta -
Fecha: 15-12-2015 09:14:40 Muchas gracias chicos siempre se aprende algo nuevo con ustedes!
¡Saludos! Votos: 0 - Link respuesta -
Fecha: 15-12-2015 09:57:43 Juan, disculpa pero no estoy de acuerdo con el uso que hacer del Define de PHP, si bién se pueden crear constantes para el titulo y otros datos de la página, estas deben ser en mayusculas y separadas por underscore (hablando de una buena notación).
Por ejemplo:
define("TITULO_PAGINA", "Este es el titulo de la página");
Por lo dicho y considerando que los titulos por lo general son dinamicos y no constantes, yo no utilizaría constantes aquí.
Luego utilizas el define como un array y sin el $ delante, no se si es una nueva feacture de PHP, porque yo nunca lo he utilizado así (creo que no debería funcionar).
Saludos, Votos: 1 - Link respuesta -
Fecha: 15-12-2015 13:30:50 tienes razon fernando otra vez se me paso como hice un copy y pasate de tu codigo en el cual colocabas asi
$config['title'] = 'titulo de la página'; $config['lenguaje'] = 'es'; $config['otra_config'] = 'otra';
y luego quize hacerlo con define se me paso los []
<?php define("title", "titulo de la página"); define["lenguaje"] = "es"; define["otra_config"] = "otra"; ?>
en si deberia hacer asi
<?php define("title", "titulo de la página"); define("lenguaje","es"); define("otra_config","otra"); ?>
como vez tiene lo mismo titulo de la página,es,otra
y tienes mucho razon en decir que no se trabajaria para titles ya que para ello no puede ser estatico sino dinamico , gracias por la observacion , gracias a tu post me di cuenta que no cambie los [] , saludos Votos: 1 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
