Los archivos que necesitamos modificar los encontraremos en el directorio donde tengamos instalado Joomla, por ejemplo y para el resto del artículo utilizare como directorio raíz 'miweb', en vuestro caso el que proceda.
El template que voy a usar para este ejemplo es JA_Purity, este template viene incluido en el paquete de Joomla 1.5.
Las modificaciones que a continuación expongo solo son validas para Joomla 1.5.xx.
Extensiones Free para Joomla 1.5 y 1.6
Los archivos a modificar son los siguientes:
Core de Joomla 1.5.
miweb\components\com_content\models\category.php
miweb\components\com_content\models\frontpage.php
miweb\components\com_content\models\article.php
Template JA_Purity.
miweb\templates\ja_purity\html\com_content\article\default.php
miweb\templates\ja_purity\html\com_content\frontpage\default_item.php
miweb\templates\ja_purity\html\com_content\category\blog_item.php
miweb\templates\ja_purity\css\template.css
Vamos a ver uno por uno los archivos que tenemos que modificar en Joomla 1.5.xx. Para editar estos archivos debéis utilizar un editor de texto puro orientado a programadores, este tipo de editores no incluyen caracteres de control en el texto, podéis descargar PSPAD desde el aquí.
Recomiendo que estas modificaciones las realizaseis en un entorno de pruebas y no directamente en vuestro entorno de producción, una vez que hayáis realizado las modificaciones y comprobéis que el resultado es el correcto, podéis subir las modificaciones a vuestro entorno de producción o directamente sobrescribir los archivos en el entorno de producción con los modificados del entorno de pruebas.
1.- Editamos el archivo category.php y buscamos la siguiente línea de código PHP,
a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.attribs, a.images, a.urls,
El bloque completo es una query que recupera la información del artículo pero no esta incluida la columna que contiene el valor que nos interesa, la columna en cuestión es a.hits de la tabla content, añadimos la columna a.hits justo después de la columna a.attribs, la línea quedaría así,
a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.attribs, a.hits, a.images, a.urls,
2.- Editamos el archivo frontpage.php y buscamos la siguiente línea de código,
a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.images, a.attribs, a.urls,
En esta query pasa lo mismo que en el punto anterior, recupera la información del artículo pero no esta incluida la columna que contiene el valor que nos interesa, la columna en cuestión es la misma, a.hits de la tabla content, añadimos la columna a.hits justo después de la columna a.attribs, la línea quedaría así,
a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.images, a.attribs, a.hits, a.urls,
3.- Editamos el archivo article.php buscamos el siguiente bloque de código PHP:
{
$user =& JFactory::getUser();
$article =& JTable::getInstance('content');
$article->state = 1;
$article->cat_pub = null;
$article->sec_pub = null;
$article->cat_access = null;
$article->sec_access = null;
$article->author = null;
$article->created_by = $user->get('id');
$article->parameters = new JParameter( '' );
$article->text = '';
$this->_article = $article;
}
Y añadimos la siguiente línea al final del bloque y justo antes de la llave:
$article->hits = null;
El código quedaría así,
{
$user =& JFactory::getUser();
$article =& JTable::getInstance('content');
$article->state = 1;
$article->cat_pub = null;
$article->sec_pub = null;
$article->cat_access = null;
$article->sec_access = null;
$article->author = null;
$article->created_by = $user->get('id');
$article->parameters = new JParameter( '' );
$article->text = '';
$this->_article = $article;
$article->hits = null;
}
4.- Con esta modificación conseguiremos que muestre los hits en la vista del artículo cuando es seleccionado, editamos el archivo default.php y buscamos el siguiente bloque de código:
Justo después del bloque que muestra el autor del artículo insertamos el siguiente bloque,
5.- Esta modificación hace que los hits aparezcan en el artículo cuando esta visualizado en la página principal de la WEB (Frontpage), editamos el archivo default_item.php y repetiremos lo realizado en el punto 4 una vez hecho sustituimos la línea del código PHP siguiente,
Por esta otra
6.- Con esta modificación conseguimos que los hits aparezcan cuando tenemos la visualización de categorías en modo blog, editamos el archivo blog_item.php y repetiremos lo realizado en el punto 4 una vez hecho sustituimos la línea el código PHP siguiente,
Por esta otra
7.- Por último vamos crear una clase CSS par darle un poco de diseño a la visualización de los hits, editamos el fichero template.css y hacer las siguientes modificaciones.
Buscar la siguiente línea,
small, .small, .smalldark, .mosimage_caption, .createby, .createdate, .modifydate, a.readon, .img_caption
Y justo despues de .createdate insertamos nuestra clase .viewhits, la línea quedara así,
small, .small, .smalldark, .mosimage_caption, .createby, .createdate, .viewhits, .modifydate, a.readon, img_caption
8.- Esta parte es opcional y solo será necesaria si queréis incluir un imagen delante de los hits, buscamos el siguiente bloque de código CSS en el archivo template.css,
.modifydate {
width: 100%;
float: left;
}
Y justo después añadimos la definición de la clase,
.viewhits {
padding: 3px 3px 3px 20px;
background: url(/../images/icon-info.gif) no-repeat 0 2px;
}
El parámetro que controla que aparezcan o no los hits lo podemos cambiar desde la página de administración de nuestro Joomla, este parámetro lo encontraremos en Contenido/Gestor de artículos y pulsáis en el icono de Preferencias y buscáis el parámetro Impresiones, ver imagen.