|
Joomla: Títulos de artículos en H1
|
02 de Enero de 2008 en Programación, PHP, Joomla
Lecturas: 2,574
|
Ahora que es tan importante para el SEO determinar perfectamente los tags HTML, me encuentro que Joomla, que pinta ciertas cosas en la página pasando de la plantilla, dibuja los títulos de los artículos en una columna de una tabla con un estilo determinado en vez de usar el H1. Que dibuje el contenido propiamente a base de tablas es feo, pero lo acepto. Lo que no acepto es que los títulos no sean definidos como tal. En este pequeño HowTo explico qué tocar para que los títulos sean definidos como H1.
La parte interna que se dedica a la maquetación del contenido es el componente Content. El archivo a editar es components/com_content/content.html.php y sobre la línea 617 está la funcion Title que construye el título:
PHP:
function Title ( & $row, & $params, & $access ) {
if ( $params-> get( 'item_title' ) ) {
if ( $params-> get( 'link_titles' ) && $row-> link_on != '' ) {
?>
<td class= "contentheading<?php echo $params->get( 'pageclass_sfx' ); ?>" width= "100%">
<a href= "<?php echo $row->link_on;?>" class= "contentpagetitle<?php echo $params->get( 'pageclass_sfx' ); ?>">
<?php echo $row-> title;?></a>
<?php HTML_content:: EditIcon( $row, $params, $access ); ?>
</td>
<?php
} else {
?>
<td class= "contentheading<?php echo $params->get( 'pageclass_sfx' ); ?>" width= "100%">
<?php echo $row-> title;?>
<?php HTML_content:: EditIcon( $row, $params, $access ); ?>
</td>
<?php
}
} else {
?>
<td class= "contentheading<?php echo $params->get( 'pageclass_sfx' ); ?>" width= "100%">
<?php HTML_content:: EditIcon( $row, $params, $access ); ?>
</td>
<?php
}
}
Realmente no nos vamos a meter a modificar la forma en que se maqueta el contenido (de momento ) así que sencillamente mantendremos la columna pero añadiremos un H1 rodeando el echo del título y moveremos la declaración de la clase que le da el estilo al H1. Dejaremos la función de la siguiente manera:
PHP:
function Title ( & $row, & $params, & $access ) {
if ( $params-> get( 'item_title' ) ) {
if ( $params-> get( 'link_titles' ) && $row-> link_on != '' ) {
?>
<td width= "100%">
<a href= "<?php echo $row->link_on;?>" class= "contentpagetitle<?php echo $params->get( 'pageclass_sfx' ); ?>">
<h1 class= "contentheading<?php echo $params->get( 'pageclass_sfx' ); ?>"><?php echo $row-> title;?></h1></a>
<?php HTML_content:: EditIcon( $row, $params, $access ); ?>
</td>
<?php
} else {
?>
<td width= "100%">
<h1 class= "contentheading<?php echo $params->get( 'pageclass_sfx' ); ?>"><?php echo $row-> title;?></h1>
<?php HTML_content:: EditIcon( $row, $params, $access ); ?>
</td>
<?php
}
} else {
?>
<td class= "contentheading<?php echo $params->get( 'pageclass_sfx' ); ?>" width= "100%">
<?php HTML_content:: EditIcon( $row, $params, $access ); ?>
</td>
<?php
}
}
En mi caso no ha sido necesario, pero puede que debamos ajustar un poco la hoja de estilos. Éso es todo
Tags: Joomla, patch, PHP, Programación
|
Leer los Comentarios
|
|
|
Escribe un Comentario