Gracias por tu respuesta
macrofbb, pero esa parte la tenía clara. La duda estaba en qué debería poner en ese archivo (o en el mismo index, que también podía ser) para obtener el contenido de esas metaetiquetas distinto según el contenido.
Al final no he utilizado la función header(), pero he conseguido el resultado que buscaba de la siguiente manera (por si le vale a alguien más).
Además de lo que ya dije en el primer mensaje, para seleccionar el idioma de la págian utilizo lo siguiente:
Código PHP:
<!-- Selección de Idioma*/ -->
<?php
session_start();
if(!isset($_SESSION['idioma']) || !empty($_GET['lang']))
{
if(empty($lang))
{
$lang="es";
$lang = isset($_GET['lang']) ? $_GET['lang'] : "es";
}
$_SESSION['idioma']=$lang;
}
switch ($_SESSION['idioma']) {
case $_SESSION['idioma']: require("lang/".$_SESSION['idioma']."/".$_SESSION['idioma'].".php"); break; }
?>
Este código está en el fichero code.php, que se incluye al principio de todo el
index.php Código PHP:
<?php
//SE INCLUYE EL FICHERO core.php QUE CREAMOS
include ("resources/core.php");
?>
<!DOCTYPE html>
<html>
<div id="contenedor">
<?php
//INCLUIR CABECERA
include ("cabecera.php");
//INCLUIR MENU PRINCIPAL
include ("menu.php");
?>
<?php
//INCLUIR EL CONTENIDO DE LA PÁGINA
include ('content.php');
?>
<?php
//INCLUIR EL PIE DE PÁGINA
include ("pie.php");
?>
</div>
</html>
Con él lo que consigo es que, dependiendo de la opción de idioma escogida el texto que se muestre sea en un idioma u otro. Para ello tengo un fichero por idioma donde defino los arrays de las variables de las distintas páginas.
La idea es aprobechar estos ficheros para crear en ellos otros arrays de $keywords y $description que, dependiendo de la variable $content que se pasa en la url para mostrar el contenido, muestren una cosa u otra.
La idea es, que sin pasar más variables pueda modificar la descripción y las palabras clave de cada sección de la página. Además, estas palabras serán traducidas junto con el contenido de la página.
Así, por ejemplo, en el archivo
es.php que incluye los textos en español, incluyo lo siguiente:
Código PHP:
$keywords = array (
"default" => "keywords, para, cuando, content no tiene valor",
"contenido/nosotros.php" => "keywords, para, apratado, nosotros",
"contenido/contacto.php" => "keywords, para, apartado, contacto",
"contenido/productos.php" => "keywords, para, apartado, productos",
);
$description = array (
"default" => "descripción para cuando content no tiene valor",
"contenido/nosotros.php" => "descripción para el apratado: nosotros",
"contenido/contacto.php" => "descripción para el apartado: contacto",
"contenido/productos.php" => "descripción para el apartado: productos",
);
Por otra parte, en el documento
core.php incluyo lo siguiente justo después del código que antes señalé:
Código PHP:
<!--Metadatos según contenido -->
<?php
if(!isset($_GET['content']))
{
$content="default";
}
else {
$content = $_GET['content'];
}
?>
<meta name="keywords" content="<?php echo $keywords[$content]; ?>" />
Así, cuando cargo la página principal, $content todavía no tiene valor, y al ver el código encuentro esto:
Código HTML:
<!--Metadatos seg�n contenido -->
<meta name="keywords" content="keywords, para, cuando, content no tiene valor" />
<meta name="description" content="descripción para cuando content no tiene valor" />
Pero cuando estoy en el apartado "contacto" el código de la página es el siguiente:
Código HTML:
<!--Metadatos seg�n contenido -->
<meta name="keywords" content="keywords, para, apartado, contacto" />
<meta name="description" content="descripción para el apartado: contacto" />
¡Conseguido!
Supongo que a algunos les parecerá trivial, pero yo no he visto hacer esto antes, y espero que a otros les sirva.
Un saludo a todos.