You are on page 1of 236

Joomla! 1.5.

CRIF Las Acacias


Noviembre 2008
Juan Flix Mateos

Qu es Joomla!?

Un CMS (Content Managemente System) o


gestor de contenidos basado en
tecnologas web (como XHTML, CSS,
JavaScript y PHP), vlido tanto para Internet
como para intranets, de cdigo abierto
(open source), y gratuito.

Para qu sirve Joomla!?

Para presentar y gestionar contenidos de


diversa naturaleza a travs de la Web.

Artculos
Enlaces web
Contactos

Ofreciendo al destinatario final ciertas


opciones de interactuacin:

Enviar sus propios artculos


Participar en encuestas.
Colaborar en la gestin/administracin del sitio.

Y eso es todo?

No. Las posibilidades de Joomla! son infinitas


porque puede ser ampliado mediante:

Componentes
Mdulos
Plug-ins
Plantillas
Lenguajes (idiomas)

Quin debera utilizar Joomla!?

Cualquiera que desee presentar informacin a


travs de la Web y se reconozca en alguno de los
siguientes perfiles:

Ignorante: No tiene conocimientos para programar un sitio


web por s mismo.
Estresado: Carece de tiempo para programar un sitio web
por s mismo.
Interesado: Quiere aprovecharse del trabajo ya
desarrollado por otros.
Cotilla: Le gusta estar a la ltima en tecnologa.
Vago: Aplica como primer mandamiento la ley del mnimo
esfuerzo.

En definitiva, casi cualquiera

Y si no me convence Joomla!?

Hay otros CMS

Drupal
Xoops
http://www.opensourcecms.com/

Pero tambin hay otros sistemas de gestin de contenidos como los


Blogs, sistemas de teleformacin, sistemas de documentacin,
galeras multimedia, foros, comercio electrnico, groupware,

www.wordpress.org
Moodle
Wiki
Gallery
Simple Machines Forum
osCommerce
aTutor

Qu quiere decir Joomla!?

Es la trascripcin de una palabra swahili que


significa "todos juntos" o "como una sola
pieza".

Qu necesito para instalar Joomla!?

Un servidor Web (Apache 1.3 o superior


Recomendado 2.x) dotado de:

PHP (4.3.10 o superior) - Recomendado 5.2


Servidor de bases de datos MySQL (3.23 o
superior) Recomendado 4.1.x

Esto puede obtenerse:

Contratando un servicio de alojamiento (hosting),


que no tiene por qu ser de pago.
Instalando un servidor local en nuestro propio
ordenador.

Cmo funciona Joomla!?

Programa del curso

Instalacin de Joomla!

Descripcin de Joomla!
Extensiones

Remoto
Local
Linux (Ubuntu sobre VirtualBox)?

Comentarios
Foros
Agendas

Desarrollo de plantillas
Desarrollo de extensiones

Obtener Joomla! 1.5

www.joomla.org

Joomla_1.5.8-Stable-Full_Package.zip

www.joomlacode.org/

Projects> Browse Project Topics> Languages>


JoomlaSpanish>Ficheros

Idioma_es-ES_joomla_1.5.7_estable_admin.zip
Idioma_es-ES_joomla_1.5.7_estable_front.zip

Instalar Joomla! en remoto 1

Si disponemos de la opcin de descomprimir


archivos en remoto subiremos directamente el
archivo Joomla_1.5.8-Stable-Full_Package.zip, y lo
descomprimiremos en la carpeta raz de nuestro
alojamiento; en caso contrario, lo
descomprimiremos en local y subiremos los
archivos descomprimidos a la carpeta raz de
nuestro alojamiento.
http://filezilla-project.org/

Servidor: ftp.villatic.org
Usuario: crifjoomlaxx@villatic.org
Contrasea: crifjoomla
Puerto: 21

Instalar Joomla! en remoto 2


1.
2.

Seleccionar el idioma.
Corregir el problema de display_errors con
un archivo php.ini en las carpetas raz,
administrator e installation.
<?php
display_errors = 0;
?>

3.

Revisar la licencia.

Instalar Joomla! en remoto 3


Introducir los datos de la base de datos (si
se desea, utilizar la configuracin
avanzada):

4.

5.

Tipo: mysql
Servidor: localhost
Usuario: villa29_cjxx
Contrasea: crifjoomla
Nombre bd: villa29_crifjoomlaxx

Introducir los datos de la configuracin FTP

Instalar Joomla! en remoto 4


6.

7.

Introducir el nombre del sitio, los datos del


administrador e instalar los datos de
ejemplo predeterminados haciendo clic
sobre el botn correspondiente.
Borrar la carpeta installation y acceder a la
zona de portada o a la de administracin.

Instalar phpMyAdmin en remoto


1.

2.

3.

4.

Obtener los archivos de phpMyAdmin de


www.phpmyadmin.net.
Subir los archivos mediante FTP a una
carpeta nueva llamada phpmyadmin.
Renombrar el archivo config.sample.inc.php
como config.inc.php.
Escribir una clave secreta blowfish en la
lnea 17 del archivo config.inc.php.

Instalar WAMP y configurar


phpMyAdmin en local

Una vez instalado WAMP, acceder a phpMyAdmin


y, mediante la opcin Privilegios, asignar la
contrasea crifjoomla al usuario root, tanto del
servidor localhost como del servidor 127.0.0.1.
Despus, acceder al archivo
C:\wamp\apps\phpmyadmin2.11.5\config.inc.php y
escribir la misma contrasea en la lnea 73:
$cfg['Servers'][$i]['password']

= 'crifjoomla';

Crear la base de datos para Joomla! con


phpMyAdmin en local
Crear una base de datos llamada crifjoomla y con
el cotejamiento

utf8_general_ci: No reconoce la ni las letras


acentuadas pero es una de las ms rpidas.
utf8_spanish_ci: Espaol moderno; reconoce la pero
no la ll ni la ch.
utf8_general2_ci: Espaol tradicional; reconoce la , la ll
y la ch, pero es ms lento.

Crear un usuario llamado crifjoomla y con la


contrasea crifjoomla y en el servidor localhost.
Asignar al usuario crifjoomla todos los privilegios
de la base de datos crifjoomla.

Instalar Joomla! en local

Crear una carpeta llamada cursojoomla dentro de


C:\wamp\www y copiar en ella los archivos de
Joomla! 1.5.8.
Acceder a la pgina web http://localhost y
seleccionar en ella el proyecto cursojoomla para
iniciar la instalacin.
En este caso, por tratarse del servidor de desarrollo,
conviene dejar activada la directiva display_errors.
Repetir los mismos pasos que en el caso remoto,
pero sin instalar los datos de ejemplo.

Las contraseas en Joomla! 1.5

Las contraseas de Joomla! 1.5 se almacenan en


la tabla jos_users.
Su formato es cadena1:cadena2, en el que
cadena1 y cadena2 son 32 caracteres (letras
maysculas, minsculas y nmeros).
cadena2 se elige al azar.
cadena1 es el hash md5 calculado sobre la
cadena resultante de unir cadena2 al final de la
contrasea elegida.
http://md5-hash-online.waraxe.us/

EJERCICIO

Utilizando phpMyAdmin, cambiar la


contrasea del administrador.

Cambiar el idioma
1.

2.

Subir los paquetes de idioma obtenidos de


joomlaspanish.org mediante Extensiones>
Instalar/Desinstalar> Subir paquete.
Configurar estos nuevos paquetes como
predeterminados a travs de Extensiones>
Gestor de idiomas

Cambiar la zona horaria

En Sitio> Configuracin global> Servidor>


Configuracin de la localizacin,
seleccionar UTC +01:00 y pulsar Aplicar.

Grupos de usuarios en Joomla! 1.5

Usuarios del front-end


annimos
registrados
autores (de aqu en adelante, se consideran usuarios especiales)
editores
jefes de redaccin
Usuarios del back-end
gestores/managers
administradores
super administradores
Sus privilegios son incrementales en sentido descendente; por
ejemplo, un gestor posee los mismos privilegios que un jefe de
redaccin ms otros adicionales.

Secciones, categoras y artculos

Los contenidos de Joomla! slo admiten 2 niveles de


jerarquizacin:
Las secciones son el primer nivel o nivel principal
Cada seccin puede contener varias categoras, pero una
misma categora no puede pertenecer a ms de una seccin.
Generalmente los artculos estarn asignados a una seccin y a
una categora, aunque tambin se pueden crear artculos sin
clasificar.
Las secciones y categoras se pueden mostrar con dos formatos:
Diseo estndar: listado de los ttulos de las categoras en el
caso de las secciones, y de los ttulos de los artculos en el caso
de las categoras.
Diseo de blog: tanto para categoras como para secciones
muestra los ttulos y los prembulos de las noticias.

Crear secciones y categoras

Contenido> Gestor de secciones


Contenido> Gestor de categoras
En ambos casos merece destacar el hecho de que podemos
configurarlas para que sean accesibles al pblico en general, a los
usuarios registrados o a los usuarios especiales (que son todos
aqullos con un nivel igual o superior al de autor).
No obstante, el nivel de acceso no se aplica de modo descendente o
heredado desde las secciones a las categoras, aunque s de las
secciones a los artculos de sus categoras, y tambin de las
categoras a sus artculos; por ejemplo, una seccin puede requerir
acceso especial y, sin embargo, sus categoras ser de acceso pblico,
de modo que los usuarios annimos/registrados (no especiales) no
podran acceder a la presentacin (en lista ni en blog) de las categoras
que componen la seccin, pero s a las categoras en s, mostrando el
listado de artculos (en lista o en blog) que contienen, aunque sin
permitir el acceso a ellos.

EJERCICIO

Crear una seccin llamada Noticias con


acceso especial y, dentro de ella, una
categora llamada Pgina de inicio con
acceso pblico.

Crear un artculo

Contenido> Gestor de artculos> Nuevo


Tambin podemos establecer un nivel de acceso (pblico,
registrado o especial), independiente del que pudieran poseer la
seccin y categora, aunque afectado por el de stas. Por
ejemplo, si la seccin o la categora tienen acceso especial,
ningn artculo perteneciente a ellas ser accesible a un usuario
annimo/registrado aunque tenga nivel de acceso pblico.
Periodo de publicacin (desde cundo y durante cunto tiempo).
Publicar en la pgina principal o no. PRECAUCIN! Al asignar
un artculo pblico a la pgina principal, pero que pertenece a
una seccin o categora con acceso restringido, si sta est
configurada para mostrar el blog (que es lo predeterminado), se
mostrar el ttulo y el prembulo de la noticia (aunque
pertenezca a una categora con acceso restringido).

EJERCICIO

Crear cinco artculos de ejemplo en la


seccin/categora Noticias/Pgina de inicio con
acceso pblico, y configurarlos para que se
muestren en la pgina inicial.
Se muestran en la pgina inicial a pesar de que
pertenecen a una seccin con acceso especial? Se
muestra su informacin de blog (ttulo y prembulo)
pues pertenecen a una categora pblica, pero no
podramos acceder a los artculos en s pues
pertenecen a una seccin con acceso especial.

Artculos sin clasificar

Sirven para crear contenidos que no se adaptan a la


clasificacin de secciones/categoras de nuestro
sitio.
Contenido> Gestor de artculos> Nuevo y
seleccionar la opcin Sin seccin asignada en el
cuadro de lista Seccin.
Y, si no lo publicsemos en la pgina inicial, cmo
accederamos a este contenido? Mediante un tem
men.

Los mens

Los mens estn compuestos por items, y constituyen el sistema


de navegacin fundamental para acceder a los contenidos
(secciones, categoras, artculos y otros).
Los mens se gestionan a travs de Mens> Administrador de
mens.
Al crear un men nuevo es necesario indicar tambin el nombre
para un mdulo nuevo, que ser el encargado de visualizarlo.
Este mdulo no se habilita automticamente, por lo que
tendremos que publicarlo a travs de Extensiones>
Administrador de mdulos.
El ttulo que muestra el men en la portada es el de su mdulo,
no el del propio men.

Los items de men

Para ver/modificar los items que contiene un men


podemos hacer clic sobre el icono
en el
Administrador de mens, o elegir directamente el
nombre del men en el men Mens (valga la
redundancia).
Lo primero que deberemos hacer al crear un tem
nuevo es indicar a qu tipo de contenido (ms
precisamente, a qu tipo de componente) va a estar
vinculado (artculo, encuesta, contacto, usuario, )
Entre todos los items de todos los mens debe
haber uno predeterminado, que ser el destino que
se muestre al acceder a la portada de nuestro sitio
Joomla!.

EJERCICIO

Crear un artculo sin clasificar.


Crear un men llamado Men secundario.
Publicar el men.
Incluir en l un tem que enlace con el
artculo sin clasificar.

La pgina inicial

La pgina inicial muestra el destino del tem de men


predeterminado.
Por defecto, el tem predeterminado Home est enlazado al
componente de contenidos (com_content) para mostrar en modo
Blog todos los artculos (sea cul sea el nivel de acceso de su
seccin/categora) que estn configurados para mostrarse en la
pgina inicial.
En cierta forma, al asignar un artculo a la pgina principal es
como si estuvisemos creando un duplicado suyo en una
seccin/categora pblica, de modo que la nica forma de
controlar su nivel de acceso en la pgina inicial es a travs del
nivel de acceso del propio artculo, sin que se vea afectado por
el de la seccin/categora real a la que pertenece.

Configurar el tem de men


predeterminado

Para configura el tem de men predeterminado slo hay que


acceder a l a travs del men Mens, activar la casilla que hay
a su izquierda, y pulsar el botn Predet.
Recuerde que el destino del tem predeterminado ser el que se
muestre al acceder a la portada de nuestro sitio Joomla!
Si no tiene ningn tem predeterminado, al acceder a la portada
de su sitio Joomla! se mostrar un error 404.
Curiosamente Joomla! no permite borrar el tem de men
predeterminado directamente, aunque s el men al que
pertenece.

EJERCICIO

Establecer como predeterminado el tem de


men enlazado al artculo sin clasificar.
Acceder a la portada del sitio para comprobar
que efectivamente se muestra el artculo sin
clasificar.
Volver a configurar como predeterminado el
tem de men Home.

Las plantillas

El aspecto (tanto su estructura como su


formato) de nuestro sitio Joomla! est
determinado por la plantilla predeterminada.
No obstante, el destino de cada tem de
men puede utilizar una plantilla diferente.
Las plantillas se gestionan a travs de
Extensiones> Administrador de plantillas.

EJERCICIO

Asignar la plantilla beez al tem de men


vinculado al artculo sin clasificar.

Posiciones de los mdulos en las plantillas

Las plantillas poseen marcadores de posicin


en los que podemos mostrar los mdulos.
Para ver dnde se encuentran estos
marcadores de posicin, seleccionaremos la
plantilla en Extensiones> Administrador de
plantillas y haremos clic sobre el botn
Vista previa.

EJERCICIO

Asignar el mdulo del men secundario al


marcador de posicin user3 de la plantilla.
Qu ocurre cuando hacemos clic sobre este
tem y se muestra con la plantilla beez?

Gestin de usuarios

Los usuarios se administran a travs de Sitio> Administrador de


usuarios.
No obstante, muchos sitios permiten que cualquiera pueda suscribirse a
ellos por s mismo a travs del mdulo mod_login (acceder). Esta
posibilidad est controlada por Sitio> Configuracin global> Sistema>
Permitir registro de nuevos usuarios.
Para crear el mdulo mod_login tendramos que seleccionar Extensiones>
Administrador de mdulos> Crear nuevo> Acceder.
Si permitimos que los usuarios puedan registrarse por s mismos, recibirn
un correo electrnico con un enlace sobre el que debern hacer clic para
que su cuenta se habilite. De este modo nos aseguramos de que nos han
proporcionado un email vlido. No obstante, podemos desactivar este
sistema de email y habilitar directamente las cuentas seleccionando No en
Sitio> Configuracin global> Sistema> Activacin de cuena para los
nuevos usuarios.

EJERCICIO

Insertar el mdulo acceder en la pgina de


inicio, pero configurando el sistema para que
no permita el registro de nuevos usuarios.

Usuarios del front-end (portada)

Annimo: Slo puede ver las zonas pblicas del front-end.


Registrado: Tiene acceso a zonas privadas del front-end pero
no puede contribuir con contenidos. No es considerado como
usuario especial.
Autor: Puede contribuir con contenidos desde el front-end, que
podrn ser modificados por l mismo o por un editor (o superior)
y que debern ser aprobados por un jefe de redaccin (o
superior) antes de su publicacin.
Editor: Posee los mismos privilegios que el autor, adems de
poder editar incluso los contenidos de los que no es autor;
aunque no puede aprobar ningn contenido para su publicacin.
Jefe de redaccin: Suma a los privilegios del editor la
posibilidad de aprobar contenidos para su publicacin.

EJERCICIO

Crear los siguientes usuarios

Nombre

Clave

Tipo

registrado

registrado

registrado

autor

autor

autor

editor

editor

editor

jefe

jefe

jefe

Contribuir con artculos desde la portada

Para que los usuarios especiales puedan


contribuir con artculos desde la portada
tendremos que proporcionarles un tem de
men vinculado al formulario del componente
de contenidos, es decir, elegiremos como
tipo del tem del men Enlace interno>
Artculos> Artculo> Diseo para
introducir artculos.

EJERCICIO

Crear en el men secundario un tem llamado Enviar artculo


que sirva para contribuir con artculos.
Qu pasa cuando un annimo o registrado hace clic sobre este
tem?
Asignar al tem el nivel de acceso especial.
Enviar un artculo como autor para que se muestre en la pgina
inicial.
Comprobar que el editor puede verlo y modificarlo pero no
publicarlo.
Comprobar que el jefe de redaccin s puede publicarlo.
Qu ocurre si el editor termina su sesin mientras est en la
pantalla de edicin del artculo y posteriormente intenta editarlo
el jefe de redaccin?

Desbloqueo global

Cuando un usuario est modificando un contenido, Joomla!


bloquea ese contenido para evitar que pueda ser alterado por
otros usuarios.
Sin embargo, si el usuario inicial no guarda o cancela la edicin
del contenido, ste permanecer bloqueado.
Para anular este bloqueo hay que seleccionar Herramientas>
Desbloqueo global desde el back-end, pero no todos los
usuarios con acceso al back-end tienen acceso a este comando.

Usuarios del back-end

Gestor/Manager: Puede crear secciones/categoras


y gestionar los contenidos en general, pero no
puede gestionar los usuarios, ni los mens, ni
instalar extensiones.
Administrador: Tiene permiso para todo excepto
para crear super-administradores, instalar idiomas o
plantillas, cambiar la configuracin global del sitio o
enviar correos masivos. Tampoco puede cerrar la
sesin que tenga iniciada otro usuario.
Super administrador: Tiene el poder absoluto.
Puede haber varios super-administradores en un
mismo sistema.

EJERCICIO

Crear los siguientes usuarios

Nombre

Clave

Tipo

manager

manager

manager

administrador

administrador

administrador

omnipotente

omnipotente

superadministrador

EJERCICIO

Intentar crear un usuarios superadministrador desde la cuenta del


administrador. Es posible?
Entrar en la portada como usuario registrado
e intentar cerrar la sesin de este usuario
desde el back-end con la cuenta del
administrador es posible? y con la del
omnipotente?

Administrador multimedia (1/2)

Nuestro sitio Joomla! tiene asociada una galera


multimedia organizada en carpetas, y configurable a
travs de las siguientes opciones de Sitio>
Configuracin global> Sistema:
Extensiones permitidas: No podremos subir ningn
archivo cuya extensin no est incluida en esta lista
(salvo que lo incluyamos expresamente en
Extensiones ignoradas).
Tamao mximo: El tamao mximo de los archivos
que est permitido subir.
Ruta al directorio de archivos: Es la ruta a la que
accede el Administrador multimedia.
Ruta al directorio de imgenes: Es la nica ruta a la
que se pueden subir archivos desde el front-end.

Administrador multimedia (2/2)

Restringir la subida de archivos: Si activamos esta opcin, los usuarios por


debajo de gestor slo podrn enviar los tipos de archivos que especifiquemos en
Extensiones para imgenes autorizadas si no se consiguen verificar los tipos
MIME.
Verificar los tipos MIME: Permite comprobar si el encabezado MIME del archivo
realmente coincide con su extensin.
Extensiones para imgenes autorizadas: Son las nicas extensiones que se
admitirn de usuarios inferiores a manager si Restringir la subida de archivos
est activada. La validez de la imagen no se asegura slo con su extensin, sino
tambin comprobando el encabezado del propio archivo, de modo que slo se
podrn utilizar aqu extensiones que correspondan realmente a imgenes.
Extensiones ignoradas: Aqu podramos indicar alguna extensin para que
jams se restrinja la subida de este tipo de archivos ni se compruebe su tipo
MIME.
Tipos MIME autorizados: Son los tipos que se permitirn subir.
Tipo MIME no autorizado: Son los tipos que no se permitirn subir
Activar el sistema Flash para subir archivos: Utiliza una pequea aplicacin
Flash para mostrar grficamente el proceso de subida de los archivos.

Insertar una imagen en un artculo

Existen dos formas de insertar una imagen en un


artculo:

A travs del icono


de TinyMCE podemos insertar
imgenes que ya estn publicadas en Internet indicando
su URL.
A travs del botn Imagen que hay debajo del cuadro de
texto del artculo podemos elegir cualquier imagen del
Administrador multimedia o subir nuevas imgenes.

Insertar un vnculo/artculo en un artculo

Basta con seleccionar el texto que queremos que


acte como vnculo y pulsar el icono
de
TinyMCE para indicar el URL de destino.
Tenga en cuenta que utilizando como URL
images/stories/ podr acceder a las
imgenes/archivos subidos al Administrador
multimedia.

EJERCICIO

Configura el sitio para que los usuarios autor,


editor y jefe de redaccin puedan subir
archivos PDF.
Como jefe, subir un archivo PDF al
Administrador multimedia aparece el
archivo?
Crear un vnculo al archivo PDF subido
dentro del artculo funciona el vnculo?

Definir el prembulo de un artculo

Al crear el cuerpo de una noticia podemos


insertar un enlace "Leer ms" pulsando el
botn Leer ms que hay en la zona inferior.
Este salto se simboliza en el editor de la
noticia como una lnea roja.
Slo puede haber un enlace de este tipo en
la noticia.
Todo lo que haya delante de este enlace se
considerar perteneciente al prembulo, y se
mostrar en la vista de Blog.

Paginar un artculo (1/2)

Podemos dividir el artculo para que se muestre en varias


pginas.
El lector podr pasar de pgina a travs de una tabla de
contenidos o a travs de enlaces a cada una de las pginas,
adems de mediante los enlaces Siguiente y Anterior.
Para insertar un salto de pgina en el cuerpo de la noticia
pulsaremos el botn Salto de pgina de la zona inferior.
Indicaremos el nombre de la pgina y aparecer una lnea gris
en la zona superior que trasladaremos (mediante cortar y pegar)
a la posicin que nos interese.
No conviene que haya saltos de pgina dentro del prembulo (si
ste existiere), pues anularan la funcin "Leer ms". De hecho,
es conveniente utilizar un prembulo, pues en caso contrario los
enlaces Siguiente y Anterior pueden provocar resultados
inesperados cuando la noticia se muestra como Blog.

Paginar un artculo (2/2)

Para configurar si queremos que aparezca la


tabla de contenidos o no recurriremos a
Extensiones> Administrador de plug-ins>
Content PageBreak, donde dispondremos
de las siguientes opciones:

Tabla de contenidos: Muestra la tabla de


contenidos con los ttulos de las pginas o bien
slo los nmeros de las pginas.
Mostrar todo: Si se activa la tabla, esta opcin
ofrece al lector la posibilidad de mostrar el artculo
en una sola pgina.

EJERCICIO

Crear un artculo con un prembulo y 3


pginas.
Configurarlo para que muestre y oculte la
tabla de contenidos.

Metadatos de los artculos

Al crear un artculo disponemos de la seccin


Informacin de metadatos, en la que
podemos indicar una descripcin, palabras
clave, robots y autor.
Esta informacin es importante, pues pueden
consultarla otros componentes/mdulos
como los de bsqueda y los de banners.

Valoracin de los artculos

Joomla! permite a los usuarios valorar los artculos emitiendo un


voto.
Para activar esta posibilidad recurriremos a Contenidos>
Administrador de artculos> Preferencias y seleccionaremos
la opcin Mostrar de la seccin Calificacin/Votacin del
artculo.
El sistema de votacin est basado en el plug-in ContentRating que, de forma predeterminada, est activado.
En la base de datos de Joomla! se almacena la direccin IP
desde la que se ha producido la ltima votacin, de modo que no
se podr emitir otro voto desde esa IP hasta que se registre un
voto procedente de una IP diferente.

Suscripcin de noticias

Hay 2 formas de mostrar una suscripcin


RSS:

Mediante el componente Suscripcin de


noticias, que permite clasificar las suscripciones
en categoras, pero que, por ser un componente,
debe ser vinculado a travs de un tem de men.
Mediante un mdulo de tipo Presentacin de la
suscripcin, que, por ser un mdulo, puede
mostrarse en cualquier pgina de nuestro sitio,
pero que no admite categoras.

Componente Suscripcin de noticias


(com_newsfeeds)

Este componente se gestiona a travs de


Componentes> Suscripcin de noticias.
Antes de poder crear una suscripcin es necesario
configurar las categoras (Componentes>
Suscripcin de noticias> Categoras> Crear).
Para crear una nueva suscripcin utilizaremos
Componentes> Suscripcin de noticias>
Suscripciones> Crear e indicaremos el URL
(enlace) del proveedor.
Al crear el tem del men podremos optar entre:

Mostrar la lista de categoras.


Mostrar las suscriciones de una categora concreta.
Mostrar las noticias de una suscripcin concreta.

EJERCICIO

Crear una categora de suscripciones


llamada Prensa.
Crear una suscripcin a la pgina de
deportes del ABC dentro de la categoras
Prensa y asignarla el nombre Deportes.
Crear un tem de men en el men
secundario que permita acceder
directamente a esta suscripcin.

Mdulo Presentacin de la suscripcin


(mod_feed)

Este mdulo nos permite mostrar una suscripcin


concreta (independiente de las del componente
descrito anteriormente) en cualquier pgina de
nuestro sitio.
Para crear una instancia de este mdulo
seleccionaremos Extensiones> Administrador de
mdulos> Crear nuevo> Presentacin de la
subscripcin e indicaremos el URL del
alimentador.

EJERCICIO

Crear una instancia del mdulo Presentacin


de la suscripcin en la pgina inicial para
mostrar las noticias de economa de El Pas.

Nuestro sitio como fuente de sindicacin


(mod_syndicate)

Cada pgina de nuestro sitio que muestre contenidos (artculos)


puede ofrecer informacin fuente para agregadores u otros sitios
con slo incluir en ella una instancia del mdulo Subscripcin
de noticias.
Este mdulo admite los estndares RSS y Atom y, por
convenido, suele ubicarse en el marcador de posicin syndicate
de la plantilla (que, por lo general, est en la zona inferior).
Ntese que ese mdulo genera el feed a partir del contenido de
la pgina en la que se encuentra. Por ejemplo, si la pgina
muestra una categora concreta, el feed slo contendr los
artculos de esa categora.

EJERCICIO

Crear 2 categoras en la seccin Noticias


llamadas Cursos y Recursos.
Escribir un artculo de ejemplo en cada una
de ellas.
Crear un tem en el men secundario para
cada una de estas categoras.
Incluir el mdulo Subscripcin de noticias
(mod_syndicate) slo en las pginas de
estas dos categoras.

Bsquedas

Disponemos de un componente y de un
mdulo de bsquedas:

El componente Search
El mdulo mod_search

El componente Search

El componente Search se crea directamente a


travs de un tem de men, y entre sus
caractersticas cabe destacar:

La posibilidad de permitir elegir al usuario dnde quiere


buscar (artculos, contactos, categoras, suscripciones de
noticias, ) mediante el parmetro bsico Usar las reas
de bsqueda
A travs de Componentes> Bsqueda podemos ver la
estadstica de las bsquedas realizadas en nuestro sitio
por los usuarios. Estas estadsticas se activan mediante
Preferencias> Buscar las estadsticas de bsqueda.
Busca dentro de los metadata de los artculos, pero no
dentro de los artculos de las subscripciones de noticias.

El mdulo mod_search

El mdulo acta en realidad como un vnculo al


componente, con la ventaja de que podemos
mostrarlo (por ser un mdulo) en las pginas que
queramos.
Para crear un mdulo de este tipo recurriremos a
Extensiones> Administrador de mdulos> Crear
nuevo> Buscar.
Por supuesto, las bsquedas realizadas a travs de
este mdulo tambin se reflejan en Preferencias>
Buscar las estadsticas de bsqueda.

EJERCICIO

Crear un tem de men vinculado al


componente Buscar.
Crear un mdulo de bsqueda que se
muestre slo en algunas pginas.

Encuestas

Joomla! nos permite configurar encuestas con hasta 12


opciones.
Las encuestas se crean desde el back-end mediante el men
Componentes> Encuestas.
Una vez creada la encuesta podremos publicarla o no, y para
mostrarla necesitaremos un mdulo mod_poll.
Los resultados de las encuestas estn disponibles a travs del
propio componente, de modo que podemos acceder a ellos a
travs de un tem de men.
El mdulo puede tener un nivel de acceso restringido y, sin
embargo, los resultados (mostrados a travs de un tem de
men) pueden ser de acceso pblico.
Aunque el componente Encuestas permite establecer un
Intervalo de tiempo entre votos desde un mismo ordenador,
este sistema est basado en cookies y es fcilmente esquivable.

EJERCICIO

Crear dos encuestas y publicarlas slo en la


pgina principal mediante sus respectivos
mdulos.
Configurar estos mdulos para que tengan
acceso especial.
Crear un tem de men que permita acceder
a los resultados de las encuestas
pblicamente.

Enlaces Web

Podemos incluir en nuestro sitio Joomla! una coleccin de


enlaces web clasificados en categoras.
Las categoras y los enlaces se administran a travs de
Componentes> Enlaces web.
Este componente nos permite generar tems de men para
mostrar
La lista de categoras
Los enlaces que forman parte de una categora
El formulario para proponer nuevos enlaces. Este formulario slo
es accesible para los usuarios especiales (no annimos ni
registrados).
Los enlaces propuestos se aprueban automticamente, aunque
se enva un mail al administrador para que pueda verificarlos.

EJERCICIO

Crear 2 categoras de enlaces web, una de acceso


pblico y otra de acceso especial.
Crear un tem de men que permita acceder a la
lista de categoras.
Crear 2 sub-tems de men, dentro del anterior, que
permitan acceder a cada una de las categoras.
Qu nivel de acceso deberan tener estos subitem?
Crear un tercer sub-tem de men que permita
proponer nuevos enlaces. Qu nivel de acceso
debera tener este sub-item?

Contactos

Joomla! nos permite mantener una agenda de contactos


clasificados en categoras.
La creacin/edicin de los contactos slo es posible a travs del
back-end mediante Componentes> Administrador de
contactos.
Las categoras y los propios contactos pueden tener su propio
nivel de acceso.
Mediante tems de men podemos mostrar la lista de categoras
o un contacto concreto.
Los contactos pueden enlazarse a un usuario concreto de
nuestro sistema Joomla!, de modo que cuando accedamos a l
mediante Sitio> Administrador de usuarios podamos ver y
modificar tambin su informacin de contacto.

EJERCICIO

Crear 2 categoras de contactos: Amigos y


Clientes.
Crear varios contactos en cada una de estas
categoras.
Crear tems de men que permitan acceder a
la lista de categoras y a un contacto
concreto.
Pueden crearse nuevos contactos desde el
front-end?

Banners

Joomla! nos ofrece un potente gestor de anuncios basado en


clientes/categoras/banners.
Los banners son imgenes que debemos almacenar mediante el
Administrador multimedia en /images/banners.
Los banners pueden tener un nmero de impresiones concreto o
ilimitado.
Automticamente se mantiene un registro del nmero de
impresiones y del nmero de clics.
Opcionalmente, a travs de Componentes> Banner>
Banners> Preferencias, podemos mantener un registro de las
fechas en las que se producen las impresiones y/o los clics.
Para mostrar los banners es necesario un mdulo de tipo
banner. Este mdulo puede mostrar los banners aleatoriamente,
ordenadamente o segn el contenido de la propia pgina.

Banners: categoras y clientes

Cada Banner debe tener:


Una categora
Un cliente
Una imagen
Las categoras no son dependientes de los clientes ni viceversa.
Las categoras nos permiten establecer niveles de acceso, pues
los banners en s no ofrecen esta posibilidad.
Las categoras se gestionan mediante Componentes> Banner>
Categoras.
Los clientes son bsicamente una base de datos de contactos
para nuestro uso particular. Se gestionan mediante
Componentes> Banner> Clientes.

Banners: Crear un banner

El banner en s suele ser una imagen de 468x60 pxeles almacenada en la


carpeta /images/banners, a la que podemos acceder mediante el Administrador
multimedia.
Para crear el banner recurriremos a Componentes> Banner> Banners.
Los banners pueden ser destacados o no. Los destacados siempre aparecen
en primer lugar cuando se muestran varios banners dentro de la misma pgina.
Los banners tienen un orden, que puede elegirse como criterio en el momento
de visualizarlos en la pgina, aunque tambin se pueden mostrar
aleatoriamente.
Es fundamental indicar el destino del banner mediante la opcin URL al hacer
clic.
El nmero de impresiones del banner puede ser ilimitado o especificarse
mediante Clics comprados. Al alcanzar el lmite, el banner dejar
automticamente de estar publicado.
Adems, los banners pueden tener asociadas etiquetas, de modo que slo se
muestren cuando en la pgina que est viendo el usuario haya un artculo que
contenga alguna de esas etiquetas entre sus palabras clave (no busca en la
descripcin).

Banners: Mostrar los banners

La gestin de los banners se realiza a travs del componente, como hemos


explicado anteriormente, pero su visualizacin est encargada al mdulo
mod_banners.
Algunos parmetros interesantes de este mdulo son:
Destino: Dnde se mostrar la URL asociada la banner si el usuarios
hiciera clic sobre l.
Cantidad: Nmero de banners a mostrar; siempre aparecern en primer
lugar los destacados.
Clientes y Categoras: Permite filtrar los banners para que slo se
muestren los de un determinado cliente o categora.
Buscar por etiquetas: Slo se mostrarn los banners cuyas etiquetas
coincidan con alguna de las palabras clave del artculo que contiene la
pgina.
Aleatorio: Dentro de los banners destacados, podemos elegir
mostrarlos ordenados o aleatoriamente.
Generalmente el mdulo mod_banners se configura para ser mostrado en
todas las pginas, pues hay artculos que no tienen un tem de men
especfico, sino que se llega a ellos a travs de categoras/secciones o
bsquedas.

Banners: Registro de impresiones y clics

Mediante el botn Preferencias de


Componentes> Banner podemos indicar
que se registren las fechas en las que se
muestran los banners y/o se hace clic sobre
ellos.
Estas estadsticas se almacenan en la tabla
jos_bannertrack.

EJERCICIO

Crear un artculo que tenga como palabra clave "joomla".


Crear 2 clientes de banners llamados "Cliente 1" y "Cliente 2"
Crear 2 categoras de banners llamadas "Categora 1" y
"Categora 2"
Crear 2 banners, uno asociado al cliente 1 y a la categora 1, y
otro asociado al cliente 2 y a la categora 2.
Realizar distintas pruebas con el mdulo, para que se muestre 1
banner, los dos, ordenadamente, aleatoriamente, buscando
etiquetas,
Activar las distintas opciones de registro y comprobar que
efectivamente se almacenan en la tabla jos_bannertrack
mediante phpMyAdmin.

Mdulo Contenido archivado

Este mdulo muestra una lista con formato mes, ao que nos
permite acceder a los artculos archivados.
La longitud de esta lista est controlada por el parmetro
Cantidad. Por supuesto, siempre se muestra del ms
reciente al ms antiguo.
Para archivar artculos tendramos que seleccionarlos en
Contenidos> Administrador de artculos y pulsar el botn
Archivar.
Los artculos archivados no se pueden editar ni se incluyen
en las bsquedas.
Los artculos archivados se pueden restaurar con el botn
Restaurar.
Nota: Tambin existe el componente Lista de artculos
archivados que ofrece muchos ms criterios de ordenacin.

EJERCICIO

Archivar varios artculos, modificando su


fecha de creacin para que correspondan a
meses diferentes.
Incluir el mdulo Contenido archivado y
comprobar su funcionamiento.
Crear un tem de men que conduzca a una
pgina de contenidos archivados.

Mdulo Ruta de acceso

Muestra el "camino de migas" (bread


crumbs) a travs de los tems de mens.
Puede producir resultados duplicados en
caso de utilizar tems de mens anidados
dentro del tem que conduce a la pgina
inicial.
El separados predeterminado es >>, pero
podemos elegir cualquier otro.
Este mdulo suele incluirse en la seccin
breadcrumb de la plantilla.

Mdulo ltimas publicaciones

Muestra los ltimos artculos publicados y asignados a alguna


seccin/categoras.
Esta lista tiene en cuenta el nivel de acceso de la
seccin/categora y del propio artculo.
Algunos parmetros de inters:
Cantidad: Cuntos artculos se incluyen en la lista.
Orden: Si se muestran primero los ltimos publicados o los
ltimos modificados.
Autores: Permite filtrar por autores. Por ejemplo, puede ser til
para que un usuario vea los ltimos artculos publicados que no
son suyos.
ID: Permite especificar un ID concreto de seccin y/o categora
para que sean las nicas tenidas en cuenta para la elaboracin
de la lista. Estos ID estn disponibles en el administrador de
secciones/categoras.

EJERCICIO

Cuando un usuario inicie su sesin, redirigirlo a una pgina en la


que se le ofrezca la posibilidad de modificar sus datos de usuario
y adems se muestren los ltimos mensajes publicados que no
son suyos.
PISTA: Habr que crear un tem de men en un men no
publicado y cuyo tipo sea Usuario> Diseo del formulario del
usuario, y recurrir al parmetro URL de redireccionamiento de
inicio de sesin del mdulo login para enviar al usuario a la
pgina de ese men.
Copie el enlace de esta pgina e intente acceder como usuario
annimo. Qu problema se produce si pulsa el botn
Guardar?cmo podra evitarlo?

Mdulo Destacadas

Muestra uno o ms artculos de la categora que


seleccionemos.
El artculo puede elegirse al azar o mostrarse todos
los de la categora en horizontal o vertical.
Tambin podemos limitar el nmero de artculos a
mostrar.
Puede resultar til tener una categora para noticias
de estilo "post-it", es decir, breves pero importantes,
y mostrarlas en la columna derecha de la pgina
principal.

EJERCICIO

Crear una categora de artculos llamada


postit e incluir en ella varias noticias breves.
Configurar un mdulo para que se muestren
todas estas noticias verticalmente en la
columna derecha de la pgina principal, sin
el ttulo del artculo, sin los ttulos enlazados,
y sin la posibilidad de leer ms all del
prembulo.

Mdulo Imagen aleatoria

Elige una imagen al azar de la carpeta y con


el formato (GIF/PNG/JPG) que le
indiquemos y la muestra dentro del mdulo.
Nos permite especificar el tamao mximo
de las imgenes, y tambin un URL de
redireccionamiento al hacer clic sobre la
imagen.
El URL de la carpeta es siempre relativo a la
carpeta raz de Joomla!. Por ejemplo,
/images/stories.

EJERCICIO

Mediante el administrador multimedia, crear


una carpeta llamada MisFotos (dentro de
images) e incluir en ella varias imgenes
(por ejemplo, de National Geographics).
Configurar el mdulo Imagen aleatoria para
que muestre imgenes al azar de esta
carpeta y, en caso de hacer clic sobre alguna
de ellas, dirija al usuario a la pgina de
National Geographics.

Mdulo Quin est en lnea

Permite mostrar el nmero de usuarios


registrados y annimos que estn visitando
el sitio, o slo el nombre de los usuarios
registrados que estn visitando el sitio, o
ambos.
Si vamos a mostrar el nombre de los
usuarios quizs sea aconsejable asignar a
este mdulo el nivel de acceso, al menos,
registrado.

EJERCICIO

Configurar un mdulo Quin est en lnea


que muestre los nombres de los usuarios
que estn visitando el sitio, pero slo a los
usuarios con nivel registrado o superior.

Mdulo HTML personalizado

Este mdulo puede resultar til cuando


queremos mostrar informacin esttica (texto
e imgenes) en alguna pgina de nuestro
sitio, aprovechando los elementos HTML.

Mdulo Pie de pgina

Este mdulo simplemente muestra la


informacin de copyright de Joomla! junto
con el nombre de nuestro sitio web.

Mdulo Contenido ms ledo

Este mdulo muestra la lista de los artculos que han tenido ms


accesos.
El nmero de accesos puede consultarse en la columna Clics de
Administrador de contenidos.
Mediante los parmetros de este mdulo podemos establecer la
longitud de la lista y si queremos incluir en ella tambin los
artculos configurados para mostrarse en la pgina inicial, pero lo
ms importante es que podemos filtrar las secciones y
categoras que se tendrn en cuenta a travs de su ID. Este ID
puede consultarse Administrador de secciones y
Administrador de categoras. Si desea filtrar varias
secciones/categoras, escriba sus nmeros separados por
comas.

EJERCICIO

Configurar un mdulo de tipo Contenido


ms ledo para que muestre los ttulos de los
artculos ms ledos de dos categoras (que
identificaremos mediante sus ID separados
por comas).

Mdulo Items relacionados

Cuando accedemos a una pgina en la que


se muestra un artculo, este mdulo localiza
los ttulos de todos los dems artculos que
pudieran compartir alguna palabra clave
(dentro de los meta datos) con l, y los
muestra en una lista.
El nico parmetro de este mdulo relevante
es el que permite mostrar la fecha junto a los
ttulos de los artculos.

EJERCICIO

Crear 3 artculos que compartan una misma


palabra clave.
Crear un tem de men que permita acceder
a uno de estos artculos.
Insertar un mdulo de tipo Items
relacionados que se muestre en todas las
pginas, configurado para aparecer en la
posicin footer e indicando la fecha de los
artculos relacionados.

Mdulo Secciones

Muestra una lista de las secciones disponibles en


nuestro sitio web.
Aunque existe un parmetro llamado Mostrar
enlaces no autorizados que podra mostrar incluso
las secciones a las que el usuario no tiene acceso
por su nivel de privilegios, esta opcin an no est
implementada.
Podemos determinar la longitud de la lista, que
aparece ordenada segn el ID de las secciones.

Mdulo Wrapper

Este mdulo crea un intraframe (iframe), es


decir, un marco capaz de mostrar otra pgina
web dentro de nuestro sitio.
Para configurar este mdulo deberemos
indicar el URL de la pgina que queremos
mostrar.

EJERCICIO

Crear un mdulo de tipo Wrapper con 500


pxeles de altura y cuya URL sea
www.villatic.org/carpetaJuanfe/campoMinas/
campoMinas.html

Mensajera interna del back-end

Es importante que los usuarios del back-end mantengan un vnculo


estrecho entre s para facilitar las tareas de administracin,
especialmente en sitios muy complejos. Con este objetivo Joomla!
nos ofrece un sistema de mensajera interna para el back-end, al
que se accede mediante el icono con forma de sobre que hay en la
zona superior derecha. Para enviar un mensaje hay que pulsar el
botn Crear.
Los super-administradores tambin pueden acceder a este sistema
mediante las opciones Leer los mensajes y Escribir un mensaje
del men Herramientas.
A travs de este sistema el super-administrador recibe una
notificacin cada vez que algn usuario especial enva un artculo
(sin embargo, las notificaciones de envo de enlaces web (que no
requieren aprobacin) se notifican al administrador a travs del
correo externo).
Si lo deseamos, podemos solicitar tambin que se nos notifiquen
por e-mail externo los mensajes que recibamos en el correo interno;
para ello recurriremos al botn Preferencias.

EJERCICIO

Enviar un mensaje interno desde el manager


al super-administrador y que ste lo conteste.
Configurar la notificacin de mensajes
internos a travs de e-mail externo para el
super-administrador.

Correo masivo

El super-administrador tiene la posibilidad de


enviar e-mails a grupos concretos de
usuarios, o a un grupo y a todos sus
inferiores.
Esta opcin est disponible a travs de
Herramientas> Correo masivo.
Suele ser aconsejable mantener activada la
casilla Recipients as BCC, pues de otro
modo se revelaran la direcciones de correo
electrnico a todos los destinatarios.

Ampliar Joomla!

1.

2.
3.

4.

Para ampliar las posibilidades de Joomla! podemos instalar


extensiones, que pueden ser de varios tipos:
Componentes
Mdulos
Plug-ins
Idiomas
Plantillas
Afortunadamente, cualquiera que sea su tipo, todas ellas se
instalan de la misma forma.
Obtenemos el archivo comprimido (generalmente en formato
ZIP) de la extensin que queremos instalar.
Seleccionamos Extensiones> Instalar/Desinstalar.
Pulsamos el botn Examinar para seleccionar el archivo
comprimido.
Pulsamos el botn Subir archivo & instalar.

yvComment: Comentarios

yvComment es una extensin que permite a los


usuarios comentar los artculos publicados en
Joomla!, de modo que adquirimos as una de las
principales caractersticas de los blogs.
Esta extensin es muy interesante porque ilustra
cmo pueden aprovecharse los componentes
intrnsecos de Joomla! para obtener nuevas
funcionalidades; en este caso, los comentarios se
almacenan como artculos de una seccin y
categora concreta.

yvComment: Obtencin

La versin que vamos a utilizar es la 1.15, y


est compuesta por un componente, un plugin y, opcionalmente, un archivo de idioma.
Estos 3 archivos se descargan de
http://joomlacode.org/gf/project/yvcomment/frs/:

yvCommentComponent1.15.000.zip
yvCommentPlugin1.15.000.zip
yvCommentLanguagePack_es-ES_1.15.000.zip

yvComment: Preparativos previos a la


instalacin

Antes de instalar yvComment debemos crear una


seccin y una categora dentro de ella para indicar
al programa que almacene en ella los comentarios.
Por ejemplo, crear la seccin Comentarios y,
dentro de ella, la categora Comentarios.
Si queremos permitir que los usuarios annimos
puedan comentar noticias tendremos que crear un
usuario nuevo con nivel de autor (por ejemplo,
comentarioAnonimo), que figurar como remitente
de todos los comentarios annimos.

yvComment: Instalacin

Instalar los 3 archivos anteriores mediante


Extensiones> Instalar/desinstalar.
El paquete de idioma se instala como un
plug-in, pero no es necesario publicarlo;
yvComment lo detecta y se traduce
instantneamente al castellano.

yvComment: Configuracin bsica

El componente meramente ofrece una lista de todos los


comentarios.
Toda la configuracin de yvComment se realiza a travs de su
plug-in Extensiones> Administrador de plug-ins> yvcomment
Los parmetros fundamentales que debemos configurar son:

Utilizar tabla de contenido 'Content': S


Seccin para comentarios
Categora para los comentarios

Adems, por supuesto, debemos activar el plug-in.

yvComment: Configurar la presentacin y


el acceso a los comentarios

Usar archivo CSS influye sobre el


aspecto de presentacin de los
comentarios.
Enlazar el texto 'Comentarios(n)'
controla cmo se gestionan los
comentarios en las pginas que
muestran artculos en forma de blog:

No: Muestra el nmero de comentarios.


Pgina de artculo con comentarios:
Convierte el nmero de comentarios en un
enlace, o muestra el enlace agrega tu
comentario si no hay ninguno previo.
Comentarios de un artculo: Igual que la
opcin anterior (pero tambin afecta al
primer artculo de la pgina).
Ocultar: No muestra ninguna informacin
referente a los enlaces.

Nombre del autor enlazable: Vincula el


nombre del autor a la pgina web que
tengamos registrada para l en los
contactos.

yvComment: Configurar qu secciones


admiten comentarios

Podemos indicar los Ids


de las secciones que
deseemos que admitan
(o no admitan)
comentarios.
Se puede configurar la
longitud mxima del
comentarios, y el
tiempo mnimo entre
comentarios de un
mismo usuario para
cualquier artculo.

yvComment: Gestionar los comentarios


annimos

Nombre de usuario de Visitante


debe ser el usuario que
configuramos como autor en los
preparativos previos a la instalacin.
La opcin Verificar nombre de
visitante impide que se utilice un
nombre parecido al de algn
miembro registrado de Joomla!
Si los comentarios no se publican
automticamente, tendrn el mismo
tratamiento que un artculo
cualquiera, es decir, debern ser
aprobados por un jefe o superior.
La gestin desde el back-end se
realiza mediante Componentes>
yvComment que, en la zona
inferior, ofrece la til posibilidad de
filtrar los comentarios por estado
(publicados, no publicados, )

yvComment: Combatir el spam

yvComment nos permite solicitar una cadena


de caracteres inaccesible a los robots antes
de admitir los comentarios procedentes de
usuarios annimos.
No obstante, esta funcionalidad se apoya en
un plug-in llamado Bigo Captcha, que
deberemos instalar y activar. Su nico
parmetro de configuracin es la longitud de
la cadena de seguridad.

yvComment: smileys

Mediante el plug-in yvSmiley podemos


ampliar las posibilidades de yvComment.
Una vez instalado y activado este plug-in,
conviene configurarlo activando su parmetro
Enable Smiley replacement for the whole
page y desactivando su parmetro Enable
Smileys for the texto of articles.

yvComment: Notificacin de nuevos


comentarios

Puede resultar til notificar a ciertos usuarios


mediante e-mail la llegada de nuevos
comentarios procedentes de usuarios sin
privilegios para aprobar artculos (inferiores a
jefes).
La lista de usuarios debe separarse mediante
comas.

yvComment: Vistas de comentarios

El componente yvComment nos ofrece dos


vistas para items de mens:

Comentarios de un artculo: Muestra todos los


comentarios de un artculo y permite aadir
nuevos, pero no editar los existentes.
Lista de comentarios: Muestra los comentarios
de una seccin y/o categora permitiendo a los
usuarios con privilegios suficientes modificarlos.

Attachments: Adjuntar archivos a los


artculos

Esta extensin permite adjuntar archivos a


los artculos.
Est compuesta por un componente y dos
plug-ins que deberemos instalar en este
orden:

attachments_plugin.zip
add_attachment_btn_plugin.zip
attachments_component.zip

Una vez instalados los plug-ins, no debemos


olvidar activarlos.

Attachments: Configuracin

La configuracin de esta extensin se realiza a travs de


Componentes> Archivos adjuntos> Preferencias:
Podemos decidir quin puede ver y quin puede agregar
archivos adjuntos. Generalmente slo interesa que el propio
autor pueda adjuntar nuevos archivos.
Podemos configurar que los archivos adjuntos se publiquen
automticamente, si no debern ser aprobados desde el backend.
Podemos elegir la carpeta en la que se almacenarn los archivos
adjuntos, y solicitar que se almacenen con un prefijo que
coincida con el id del artculo.
Existe un modo de descarga segura que impide accesos directos
a los archivos; slo se podr acceder a travs de nuestro sitio
una vez indicadas las credenciales.
Podemos ocultar los archivos adjuntos de ciertas
secciones/categoras con el formato (idSeccin/idCategora) y
separados por comas.

Attachments: Utilizacin

No se pueden adjuntar archivos en el mismo


momento de la creacin de un artculo; slo
podremos hacerlo despus de guardarlo
mediante dos mtodos:

Editando el artculo y utilizando el botn Agregar


un archivo adjunto, que aparece junto a
Imagen, Salto de pgina,
Utilizando el enlace Agregar un archivo adjunto
que se muestra al visualizar el artculo
independientemente o en formato de blog.

Remository: Gestor de descargas

Remository es un componente que nos permite


configurar un gestor de descargas con las
siguientes caractersticas:

Contenedores o carpetas configurables.


Edicin de roles para subir/descargar/modificar descargas.
Gestor de grupos.
Filtrado de archivos para que slo se puedan subir ciertas
extensiones.

No es necesario crear un tem de men, pues se


crea automticamente durante la instalacin.

Remository: Configuracin

Componentes> Remository>
Configuration donde las fichas ms
importantes son:

Permisos: Aqu podemos establecer las


extensiones de los archivos admitidos, si las
subidas se autopublicarn,
Download text: Nos permite eliminar la
publicidad de Google.

Remository: Grupos/roles

Mediante Manage groups podemos


seleccionar varios usuarios de Joomla! y
asignarles un nombre de rol concreto.
Al configurar un contenedor podremos indicar
que grupo de usuarios tiene permiso para
subir/bajar/editar las descargas.

Remository: Contenedores

Los contenedores son una jerarqua de subcarpetas


para organizar las descargas.
Se administran mediante Manage containers.
Pueden estar publicados o no.
Los contenedores pueden anidarse unos dentro de
otros.
Al crear un contenedor podemos asignarle un nivel
de acceso (para subidas, bajadas y ediciones) y un
icono identificativo.

Remository: Aprobacin y publicacin de


descargas

Por defecto, el administrador deber aprobar las


descargas propuestas por los usuarios a travs de
Approve uploads (aunque mediante la
configuracin de permisos podemos establecer que
las descargas propuestas por usuarios registrados
se aprueben y publiquen automticamente).
Las descargas aprobadas pueden publicarse o
despublicarse mediante Manage files.
Manage files tambin nos permite crear
automticamente nuevas descargas con archivos
subidos desde nuestro propio ordenador o remotos.

Remository: Valoracin y comentarios de


descargas

Remository permite a los usuarios puntuar y


comentar las descargas (aunque puede evitarse
mediante la configuracin de permisos).
Las votaciones pueden consultarse mediante
Statistics, que nos muestra las 5 descargas ms
solicitadas, las 5 mejor valoradas y las 5 que ms
han sido votadas (independientemente de si los
votos fueran positivos o negativos).
Los comentarios de las descargas pueden borrarse
mediante Manage files.

JEvents: Calendarios y eventos

JEvents es un potente gestor de


agenda/calendario/eventos.
Los eventos deben clasificarse en categoras
y disponen de mltiples opciones de
repeticin.
JEvents es bsicamente un componente,
aunque tambin ofrece mdulos e incluso
plug-ins muy interesantes.

JEvents: Componente y mdulos

Instalaremos el componente y los 4 mdulos


siguientes:

mod_events_cal: Permite mostrar un calendario


mensual en miniatura.
mod_events_latest: Muestra los eventos
prximos (posteriores o anteriores, segn
configuracin) a la fecha actual.
mod_events_legend: Muestra la relacin entre
categoras y colores.
mod_events_switchview: Permite elegir entre
varios estilos de calendario diferentes.

JEvents: Instalacin

Tras instalar el componente y los mdulos:

Crear una categora de eventos mediante


Componentes> JEvents> Manage categories.

Obsrvese que las categoras pueden anidarse unas


dentro de otras y que admiten un color identificativo.

Publicar la categora.
En el Cpanel de JEvents, dentro de la ficha
derecha Setup, hacer clic sobre los 2 vnculos
siguientes:

Migrate admin menus and update databases


Migrate all events to icalEvents

JEvents: Configuracin del componente_


Component1

La configuracin del componente y de


algunos aspectos de los mdulos se realiza
seleccionando Configuration en el cPanel.

Email del admin en el que le sern notificados los


nuevos eventos pendientes de aprobacin.
Quin tiene acceso al componente
Quin puede enviar eventos desde el front-end
Formato de la fecha: Continental en nuestro caso

JEvents: Configuracin del componente_


Component2

Los parmetros de esta ficha controlan el


aspecto del calendario:

Aos extremos (mximo y mnimo)


Vista inicial del componente (mensual, semanal,
anual, )
La informacin que debe mostrarse en el detalle
de los eventos, es decir, al hacer clic sobre un
evento (nmero de accesos, email, )

JEvents: Configuracin del mdulo


Calendar

El mdulo Calendar muestra una vista en miniatura


del mes actual.
Este mdulo puede configurarse desde el propio
Administrador de mdulos (por ejemplo, aqu
podremos indicar que se muestren slo los eventos
de ciertas categoras) o desde la ficha Calendar del
componente.
Los parmetros de configuracin disponibles en el
componente permiten establecer los lmites para
que se muestren los meses anteriores y posterior,
de modo que el mdulo podra llegar a mostrar
hasta 3 meses.

JEvents: Configuracin del mdulo Latest


Events

Dispone de opciones de configuracin en el


componente y en el mdulo:

En el componente podemos establecer


principalmente el nmero de eventos y el modo
(si se rellenan las plazas disponibles con eventos
ya pasados, y hasta qu fecha)
Los parmetros del mdulo permiten filtrar las
categoras o particularizar los parmetros
establecidos en el componente.

JEvents: Configuracin de los tooltips

La ficha Tooltip de la configuracin del


mdulo ofrece parmetros sobre el aspecto
de los tooltips que aparecen al colocar el
puntero sobre una fecha que contiene
eventos.

Posicin
Sombra

JEvents: Configuracin del mdulo


mod_events_legend

Este mdulo slo tiene sentido cuando se


muestra en una pgina asociada al
componente JEvents; en cualquier otra
pgina mostrar un mensaje de aviso.

JEvents: Gestin de eventos

En sus versiones anteriores, JEvents


utilizaba un formato propio para almacenar
los eventos; sin embargo, ahora quiere
sumarse al estndar iCalendar, de modo que
es conveniente que slo creemos eventos de
este tipo y que los gestionemos mediante
Manage iCAL events.
Los eventos no se publican automticamente

JEvents: El mdulo Events View Switcher

Este mdulo simplemente sirve para alterar


el aspecto visual del componente en s, y de
todos los mdulos que dependen de l.

SlimBox plug-in para Joomla 1.5

Este plug-in permite mostrar versiones ampliadas


de las imgenes de un modo muy atractivo.
Las versiones en miniatura y a tamao completo de
las imgenes deberemos crearlas y subirlas
nosotros mismos.
La sintaxis es {slimbox a1;a2;a4;} donde a1, a2,
a3, son ternas con el formato imagen a tamao
completo, imagen en miniatura, ttulo. Las rutas de
las imgenes estn referidas a la carpeta raz de
Joomla!.
Para que slo se muestre la primera miniatura
podemos utilizar {slimboxsingle }

EasyTube plug-in

Este plug-in nos permite insertar fcilmente


en nuestros artculos vdeos de YouTube y
GoogleVideo.
Su sintaxis es:

[youtube:url_del_video ancho alto]


[googlevideo:url_del_video ancho alto]

Plantillas: Instalacin y gestin

Las plantillas son las responsables del aspecto con que se


muestra nuestro sitio Joomla!
Se instalan a travs de Extensiones> Instalar/Desinstalar
Se gestionan mediante Extensiones> Administrador de
plantillas
El back-end y el front-end pueden utilizar plantillas
diferentes.
Adems, cada pgina de nuestro sitio tambin puede usar
un plantilla diferente.
Existe una plantilla predeterminada, que ser la que se
aplique en las pginas para las que no se haya
especificado una plantilla concreta.

Plantillas: Edicin

Al editar una plantilla podemos:

Asignrsela a items de men concretos.


Modificar sus parmetros de configuracin, si los ofreciera.
Previsualizarla para ver su aspecto e identificar los
contenedores de posicin para mdulos y su estilo. Los
estilos determinan cmo se muestran los mdulos y son:

none
outline
table
horz
rounded
xhtml

Modificar el cdigo (HTML y CSS) de la plantilla.

Plantillas: EJERCICIO

Descargar una plantilla de joomlahut.com o


joomla24.com
Instalar la plantilla
Previsualizar la plantilla para conocer los
nombres de los contenedores de posicin
para mdulos.

Plantillas: Estructura de carpetas

Las plantillas del front-end se instalan dentro de una


subcarpeta de la carpeta templates (cuyo nombre
debe coincide exactamente con el de la propia
plantilla) y suelen contener la siguiente estructura
de subcarpetas:

css: Contiene los archivos css


images: Contiene las imgenes que se utilizan en los
archivos css
html: Contiene los archivos necesarios para definir estilos
de presentacin de mdulos personalizados.
javascript: Algunas plantillas utilizan esta carpeta para
almacenar sus guiones javaScript.

Plantillas: Los archivos fundamentales

templateDetails.xml: Contiene toda la informacin referente a la


plantilla. Esta informacin se utiliza, por ejemplo, durante la
instalacin, para permitir al usuario seleccionar las posiciones de
los mdulos o para definir los parmetros de configuracin de la
propia plantilla.
index.php: Establece la estructura de la plantilla, es decir,
configura los contenedores en los que se mostrarn los
componentes y mdulos.
template.css: Establece el aspecto de la plantilla.
params.ini: En este archivo se almacenan los valores
configurados para los parmetros de la plantilla.
template_thumbnail.xxx: Contiene la imagen en miniatura de la
plantilla que se muestra en el back-end cuando el usuario coloca
el puntero sobre el nombre de la plantilla.

Plantillas: templateDetails.xml
Este archivo debe
encontrarse en la
carpeta raz de la
plantilla y el valor de
name se utiliza para
crear la carpeta de la
plantilla durante la
instalacin.
Sus secciones
principales son:
files
positions
params

<?xml version="1.0" encoding="utf-8"?>


<!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN"
"http://dev.joomla.org/xml/1.5/template-install.dtd">
<install version="1.5" type="template">
<name>rhuk_milkyway</name>
<creationDate>11/20/06</creationDate>
<author>Andy Miller</author>
<authorEmail>rhuk@rockettheme.com.com</authorEmail>
<authorUrl>http://www.rockettheme.com</authorUrl>
<copyright></copyright>
<license>GNU/GPL</license>
<version>1.0.2</version>
<description>Descripcin</description>
<files>
</files>
<positions>
</positions>
<params>
</params>
</install>

Plantillas: templateDetails.xml, la seccin


<files>
En esta seccin
deberemos
referenciar todos los
archivos de los que
hace uso la plantilla,
incluido el propio
templateDetails.xml,
aadiendo sus rutas
de acceso relativas.

<files>
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
<filename>template_thumbnail.png</filename>
<filename>params.ini</filename>
<filename>images/arrow.png</filename>
<filename>images/indent1.png</filename>

Plantillas: templateDetails.xml, la seccin


<positions>
En esta seccin se recogen los
nombres de los contenedores
de posicin entre los que podr
elegir el usuario para colocar
sus mdulos.
Estos nombres deben coincidir
exactamente con los que se
crearn en el archivo index.php
de la plantilla.
Si el archivo index.php
contiene posiciones no
incluidas en esta seccin, el
usuario no podr elegirlas en el
cuadro de lista desplegable de
posicionamiento de los
mdulos y tendr que escribir
su nombre manualmente.

<positions>
<position>breadcrumb</position>
<position>left</position>
<position>right</position>
<position>top</position>
<position>user1</position>
<position>user2</position>
<position>user3</position>
<position>user4</position>
<position>footer</position>
<position>debug</position>
<position>syndicate</position>
</positions>

Plantillas: templateDetails.xml, la seccin


<params>
En esta seccin podemos definir parmetros de configuracin de la plantilla. Estos
parmetros sern configurables por el usuario a travs de Administrador de plantillas,
y nosotros podremos acceder a los valores configurados desde el archivo index.php de
la plantilla mediante this->params->get('nombreDelParametro').
La configuracin establecida por el usuario se almacena en el archivo params.ini dentro
de la carpeta raz de la plantilla. Este archivo debemos crearlo manualmente y
referenciarlo en la seccin <files>
<params>
<param name="colorVariation" type="list" default="white" label="Color
Variation" description="Color variation to use">
<option value="blue">Blue</option>
<option value="red">Red</option>
<option value="green">Green</option>
<option value="orange">Orange</option>
<option value="black">Black</option>
<option value="white">White</option>
</param>
</params>

Plantillas: index.php

En este archivo se establece la relacin jerrquica


(en otras palabras, de dependencia) entre las
distintas secciones de la plantilla.
Generalmente se utilizan elementos <div>, aunque
a veces sigue recurrindose a elementos <table>
por su mejor compatibilidad con navegadores
antiguos a la hora de colocar elementos con
precisin.
Para incluir un mdulo se utiliza:
<jdoc:include type="modules" name="posicin" style="estilo"
/>

Y para incluir el componente se utiliza:


<jdoc:include type="component" />

Plantillas: template.css

En este archivo se determina la posicin y el aspecto de las


distintas secciones que componen la plantilla utilizando estilos
CSS.
Cada uno de estos estilos est compuesto por:
un selector: define a quin se aplica el estilo
una o ms declaraciones: definen el aspecto del estilo. Cada
declaracin est compuesta por:

una propiedad
un valor
body {
font-family: Helvetica,Arial,sans-serif;
line-height: 1.3em;
margin: 0px 0px 0px 0px;
font-size: 12px;
color: #333;
}

Plantillas: Tipos de selectores CSS

De elemento: utiliza el nombre del elemento


De id: #id
De clase: .clase
pseudoclase (:hover, :active, )
pseudoelemento (:first-letter, :before, )
Relativos

Descendiente: div p (cualquier prrafo anidado


directamente dentro de div)
Descendiente directo: div>p (cualquier prrafo anidado
inmediatamente dentro de un div)
Adyacente: div+p (cualquier prrafo posterior a un div)
Grupo: div, p (cualquier div y cualquier prrafo)

Plantillas: El modelo de caja

Una plantilla bsica

Vamos a crear una plantilla muy sencilla


llamada plantilla_basica.
Cree la siguiente jerarqua de carpetas:

plantilla_basica dentro de templates


images dentro de plantilla_basica
css dentro de plantilla_basica

Una plantilla bsica: index.php (I)

Cree un archivo llamado index.php dentro de la carpeta


plantilla_basica con el siguiente contenido:

<?php
defined( '_JEXEC' ) or die( 'No eres bien recibido' );
?>
<html>
<head>
</head>
<body>
</body>
</html>

Una plantilla bsica: templateDetails.xml


(I)

Cree un archivo llamado templateDetails.xml dentro de la carpeta


plantilla_basica con el siguiente contenido:

<install version="1.5" type="template">


<name>plantilla_basica</name>
<creationDate>22/04/08</creationDate>
<author>Juanfe</author>
<version>1.0</version>
<description>Mi primera plantilla</description>
<files>
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
</files>
</install>

Una plantilla bsica: index.php (II)


<?php
defined( '_JEXEC' ) or die( 'No eres bien
recibido' );
?>
<html>
<head>
<jdoc:include type="head" />
</head>
<body>
</body>
</html>

Una plantilla bsica: EJERCICIO

Comprobar que la plantilla se muestra en


Administrador de plantillas
Asignar la plantilla a un tem de men cuyo destino
sea un artculo concreto
Especificar los metadatos del artculo
Acceder al artculo. Aparentemente la pgina est
en blanco.
Acceder al cdigo fuente de la pgina: Se
mostrarn los metadatos del artculo junto con otra
informacin.

Una plantilla bsica: jdoc:include

jdoc:include es una directiva que Joomla! sustituye


por el contenido que le indiquemos mediante el
atributo type y aplicando el formato que
especifiquemos mediante style. Los valores
posibles de type son:

component: incluye el componente


head: incluye la informacin de cabecera (metadatos)
message: incluye mensajes del sistema y de error
module: incluye un mdulo concreto al que identificaremos
por su nombre mediante el atributo adicional name
modules: incluye todos los mdulos que estn asignados
a la posicin que especifiquemos mediante el atributo
adicional name

Una plantilla bsica: index.php (III)


Compruebe

que al introducir la siguiente modificacin s


aparece el componente:

<?php
defined( '_JEXEC' ) or die( 'No eres bien recibido' );
?>
<html>
<head>
<jdoc:include type="head" />
</head>
<body>
<jdoc:include type="component" />
</body>
</html>

Una plantilla bsica: index.php (IV)


Compruebe

que al introducir la siguiente modificacin


aparecen los mdulos debajo del componente; recuerde que el
archivo index.php establece la jerarqua, mientras que el
archivo template.css establece la posicin/aspecto:

<body>
<div id="logo"></div>
<div id="col_principal">
<jdoc:include type="component" />
</div>
<div id="col_izquierda">
<jdoc:include type="modules" name="left" />
</div>
</body>

Una plantilla bsica: template.css (I)


Cree

un archivo llamado template.css dentro de la carpeta css


con el siguiente contenido y compruebe que no afecta a la
pgina por qu?...

#col_principal{
width: 60%;
float: right;
border: solid black 2px;
}
#col_izquierda{
width: 35%;
float: right;
}

Una plantilla bsica: index.php (V)

porque debemos vincular la hoja de estilos css con


el archivo de la plantilla index.php

<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="<?php echo $this>baseurl ?>/templates/<?php echo $this>template; ?>/css/template.css" type="text/css" />
</head>

Una plantilla bsica: $this

$this es una variable que hace referencia a


la pgina en s, es decir, al objeto jdocument.
Algunas de sus propiedades, a las que se
puede acceder con el operador ->, son:

template: Nombre de la plantilla asignada a la


pgina
title: Ttulo de la pgina (no de la plantilla)
description: Descripcin de la pgina
language: Idioma de la pgina
baseurl: URL de la pgina.

Una plantilla bsica: template.css (II)


Para

insertar la imagen del logotipo recurrimos a la hoja de


estilos. Previamente cree una imagen en la carpeta images
llamada logo.png de 200x100 pxeles:

#logo{
width: 100%;
height: 100px;
background: url(../images/logo.png) center top no-repeat;
}
#col_principal{
width: 60%;
float: right;
border: solid black 2px;
}

Una plantilla bsica: estilos estndar para


los mdulos (I)

none: No crea ningn contenedor. No muestra el ttulo de los


mdulos nunca.
table: Presenta el mdulo dentro de un table de clase
.moduletable, e incluye su ttulo en un elemento th.
horz: Igual que table, pero anidado a su vez en otro table con
width=100%
xhtml: Presenta el mdulo dentro de un div de clase
.moduletable, e incluye su ttulo en un elemento h3.
rounded: El contenido del mdulo se anida sucesivamente en 4
elementos div para permitir insertar las imgenes de las
esquinas. El div ms externo usa module como nombre de clase.
El ttulo se incluye en un elemento h3.
outline: Slo se utiliza para previsualizar la informacin de los
contenedores de posicin.

Una plantilla bsica: estilos estndar para


los mdulos (II)
Cambie en index.php el estilo de la columna izquierda a xhtml:
<div id="col_izquierda">
<jdoc:include type="modules" name="left" style="xhtml"/>
</div>
Introduzca los siguientes estilos en template.css.
div.moduletable{
div.moduletable h3{
font-weight: bold;
border: 2px black solid;
font-family:
background: #cccccc;
Helvetica,Arial,sans-serif;
padding: 5px;
margin: 2px;
font-size: 20px;
}
text-align: center;
color: blue;
background: white;
border: 2px #999999 dotted;
margin: 5px;
}

Una plantilla bsica: Sufijo de clase del


mdulo (I)

Entre los parmetros avanzados de los


mdulos contamos con Sufijo de clase del
mdulo. Este sufijo se aade al nombre de
la clase utilizado por el estilo de presentacin
del contenedor del mdulo. Por ejemplo, si
utilizamos el estilo xhtml para mostrar un
mdulo que usa el sufijo _menu, el nombre
de clase del div no ser simplemente
moduletable, sino moduletable_menu

Una plantilla bsica: Sufijo de clase del


mdulo (II)
Configure alguno de los mdulos de la columna
izquierda para que use como sufijo _menu,
modifique el estilo que tenamos del h3 para que
aplique tambin a los h3 de esta nueva clase, e
incluya en tempalte.css el siguiente estilo:
div.moduletable_menu{
border: 2px #008826 solid;
background: #aaffc2;
padding: 5px;
margin: 2px;
}

Una plantilla bsica: EJERCICIO

Averige cmo se muestran los mens.


Cree un estilo que elimine el boliche de los
mens.
Cree un estilo que muestre cada tem de
men en color rojo, con un fondo blanco, un
borde negro y sin subrayar.
Cree un estilo que cambie el fondo de los
tems de mens a amarillo cuando se
coloque el puntero del ratn sobre ellos.

Una plantilla bsica: SOLUCIN


EJERCICIO
ul.menu, ul.menu ul{
list-style-type: none;
}
ul.menu li a{
display: block;
color: red;
background: white;
border: 1px solid black;
text-decoration: none;
}
ul.menu li a:hover{
background: yellow;
}

Una plantilla bsica: mens redondeados


(I)

Configuramos la columna izquierda para que use el estilo rounded en lugar de xhtml.

<div id="col_izquierda">
<jdoc:include type="modules" name="left" style="rounded"/>
</div>

Incluimos el selector div.module en el estilo que ya tenamos de div.moduletable y


tambin en el de los encabezados h3

div.moduletable, div.module{
border: 2px black solid;
background: #cccccc;
padding: 5px;
margin: 2px;
}
div.moduletable h3, div.moduletable_menu h3, div.module h3,
div.module_menu h3{
font-weight: bold;

Una plantilla bsica: mens redondeados


(II)

Creamos los estilos correspondientes a los cuatro div de module_menu,


teniendo en cuenta el solapamiento de las imgenes

div.module_menu{
background: url(../images/redAbaDer.png) 100%
100% no-repeat;
margin-bottom: 5px;
}
div.module_menu div{
background: url(../images/redAbaIzq.png) 0
100% no-repeat}
div.module_menu div div{
background: url(../images/redArrDer.png) 100% 0
no-repeat;
}
div.module_menu div div div{
background: url(../images/redArrIzq.png) 0 0 norepeat;
}

Una plantilla bsica: Favicon


Crear una imagen de 16x16 pxeles, convertirla a
formato ico con alguna herramienta online, como
www.favicongenerator.com o
http://tools.dynamicdrive.com/favicon/ y almacenarla
con el nombre favicon.ico en la carpeta images.
Referenciar en el archivo index.php de la plantilla el
nuevo favicon:
<jdoc:include type="head" />
<link rel="shortcut icon" href="<?php echo $this>baseurl ?>/templates/<?php echo $this>template; ?>/images/favicon.ico" />

Una plantilla bsica: un men de lengetas


(I)
Empezaremos creando una nueva seccin entre el logo y las
columnas
<div id="logo"></div>
<div id="user3">
<jdoc:include type="modules" name="user3"/>
</div>
y definimos su estilo para que se muestre centrado
#user3{
width: 650px;
position: relative;
left: 50%;
margin-left: -325px;
}

Una plantilla bsica: un men de lengetas


(II)

Definimos estilos especficos para los elementos de lista de esta nueva


posicin. La imagen de la lengeta mide 100x30 pxeles

#user3 ul{
text-align: center;
}
#user3 li{
float: left;
width: 100px;
height: 30px;
background: url(../images/lengueta.png) no-repeat;
padding-top: 5px;
}

Una plantilla bsica: un men de lengetas


(III)
#user3 li a{
color: blue;
background: transparent;
height: 30px;
border: 0px;
}
#user3 li a:hover{
color: navy;
}

Una plantilla bsica: un men de lengetas


(IV)
Y creamos una divisin bajo el
men que no admita elementos
flotantes a ninguno de sus lados
<div id="user3">
<jdoc:include type="modules" name="user3"/>
</div>
<div class="separadorHorizontal"></div>
con su correspondiente estilo:
.separadorHorizontal{
clear: both;
width: 100%;
}

Una plantilla bsica: Tercera columna


opcional (I)

Supongamos que queremos disponer de una


columna 'right' pero que slo se muestre
cuando realmente tenga mdulos asignados.
En caso de mostrarse tendramos que
reconfigurar los anchos de las 3 columnas,
por ejemplo:

col_izquierda: 20%
col_principal: 55%
col_derecha: 20%

Una plantilla bsica: Tercera columna


opcional (II)
Recurriremos al mtodo $this>countModules('right') para saber si hay mdulos
a la derecha o no, mostrando la columna slo
cuando sea necesario.
<div class="separadorHorizontal"></div>
<?php if($this->countModules('right')): ?>
<div id="col_derecha">
<jdoc:include type="modules" name="right"
style="xhtml"/>
</div>
<?php endif; ?>
<div id="col_principal">

Una plantilla bsica: Tercera columna


opcional (III)
Para poder modificar el ancho de las columnas originales cuando sea
necesario, les asignamos nombres de clase alternativos
<?php if($this->countModules('right')): ?>
<div id="col_principal_reducida">
<?php else: ?>
<div id="col_principal">
<?php endif; ?>
<jdoc:include type="component" />
</div>
<?php if($this->countModules('right')): ?>
<div id="col_izquierda_reducida">
<?php else: ?>
<div id="col_izquierda">
<?php endif; ?>
<jdoc:include type="modules" name="left" style="rounded"/>

Una plantilla bsica: Tercera columna


opcional (IV)
Creamos el estilo de la 3 columna:
#col_derecha{
width:20%;
float: right;
margin: 0;
padding: 0;
max-width: 400px;
}

Una plantilla bsica: Tercera columna


opcional (V)
#col_principal_reducida{
width: 55%;
float: right;
border: solid black 2px;
margin: 0;
padding: 0;
}
#col_izquierda_reducida{
width: 20%;
float: right;
margin: 0;
padding: 0;
max-width: 400px;
}

Una plantilla bsica: Parmetros de


plantilla (I)
Vamos a permitir que el color de fondo del logo se elija mediante un parmetro de la
plantilla, pero previamente actualizaremos en el archivo templateDetails.xml todo el trabajo
atrasado
<files>
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
<filename>css/template.css</filename>
<filename>images/logo.png</filename>
<filename>images/favicon.ico</filename>
<filename>images/lengueta.png</filename>
<filename>images/redAbaDer.png</filename>
<filename>images/redAbaIzq.png</filename>
<filename>images/redArrIzq.png</filename>
<filename>images/redArrDer.png</filename>
</files>
<positions>
<position>left</position>
<position>right</position>
<position>user3</position>
</positions>

Una plantilla bsica: Parmetros de


plantilla (II)
La definicin del parmetro en el archivo
templateDetails.xml es la siguiente:
<params>
<param name="colorFondo" type="list"
default="azul" label="Color de fondo"
description="Elija un color para el fondo del
logotipo">
<option value="azul">Azul</option>
<option value="rojo">Rojo</option>
<option value="verde">Verde</option>
</param>
</params>

Una plantilla bsica: Parmetros de


plantilla (III)
Para que se puedan almacenar los valores de los
parmetros configurados por el usuario debemos
crear en la raz de la plantilla un archivo llamado
params.ini, e incluirlo en la seccin files de
templateDetails.xml
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
<filename>params.ini</filename>
<filename>css/template.css</filename>

Una plantilla bsica: Parmetros de


plantilla (IV)
Modificamos el archivo index.php para que
se aada un sufijo a la clase del logo en
funcin del color elegido
<body>
<div id="logo_<?php echo $this>params->get('colorFondo'); ?>"></div>
<div id="user3">

Una plantilla bsica: Parmetros de


plantilla (V)

Y, por ltimo, creamos los estilos necesarios:

#logo_azul{
width: 100%;
height: 100px;
background: blue url(../images/logo.png) center top no-repeat;
}
#logo_verde{
width: 100%;
height: 100px;
background: green url(../images/logo.png) center top no-repeat;
}
#logo_rojo{
width: 100%;
height: 100px;
background: red url(../images/logo.png) center top no-repeat;
}

Clonar un sitio Joomla! (I)

La necesidad de clonar un sitio Joomla!


puede suscitarse por causas muy diversas:

El sitio Joomla! original se ha corrompido y


queremos restituirlo a partir de una copia de
seguridad
Deseamos cambiar el servidor en el que tenemos
alojado Joomla!
Queremos crear muchos sitios Joomla! con una
misma configuracin inicial de una forma sencilla
y rpida

Clonar un sitio Joomla! (II)


El procedimiento general a seguir sera:

1.

2.
3.

4.

5.

6.

Poner en modo Offline el sitio original para impedir que


puedan introducirse modificaciones desde el front-end en
la bases de datos (por ejemplo, nuevos artculos).
Realizar una copia de seguridad de la base de datos.
Trasladar todos los archivos del sitio Joomla! original a su
nueva ubicacin, preferiblemente mediante FTP.
Restaurar la copia de seguridad de la base de datos en el
nuevo servidor.
Introducir las modificaciones necesarias en el archivo
configuration.php
Verificar ciertos aspectos dependientes del servidor,
como las funciones de correo

Crear una copia de seguridad de la base de


datos de Joomla!

El modo ms sencillo de crear una copia de


seguridad de una base de datos es a travs
de la funcin de exportacin de
phpMyAdmin.
No obstante, para el caso concreto de
Joomla! existe una extensin que realiza
copias de seguridad diarias de forma
automtica (con la posibilidad incluso de
envirnoslas por correo electrnico). Su
nombre es LazyBackup.

LazyBackup

No olvidar activar el plug-in.


LazyBackup crea automticamente
una copia de seguridad de la base
de datos de Joomla! y la almacena
en la carpeta media. El archivo de
seguridad tiene la extensin sql o
gz, segn qu valor asignemos al
parmetro Compress backup file.
Su ejecucin se produce cuando
alguien accede a nuestra pgina
web, bien desde el front-end o bien
desde el back-end (si no accede
nadie no se crea copia de seguridad
ese da).
Para que slo se cree una copia de
seguridad diaria (aunque accedan
ms personas a nuestro sitio ese
mismo da) es fundamental asignar
el valor No al parmetro Testing de
ese plug-in.

Restaurar una copia de seguridad de la


base de datos

Aunque phpMyAdmin ofrece la posibilidad de


importar (restaurar) bases de datos, puede generar
problemas cuando se trata de archivos muy grandes
(generalmente por encima de 2 MB).
Lo ideal sera realizar la restauracin a travs de
una conexin telnet con el servidor de base de
datos, pero no todos los ISP ofrecen esta
posibilidad.
La alternativa es recurrir a un script llamado
bigdump.php.

bigdump.php (I)
Antes de subir bigdump.php a nuestro servidor de
destino deberemos abrirlo con un editor de textos
(por ejemplo, scite) y configurar los siguientes
valores :
// Database configuration
$db_server = 'localhost';
$db_name = '';
$db_username = '';
$db_password = '';
$db_connection_charset = 'utf8'; //IMPORTANTE
PARA NO PERDER LOS ACENTOS

bigdump.php (II)

A continuacin subiremos bigdump.php


mediante FTP a una carpeta del servidor de
destino, preferiblemente a la carpeta media
de Joomla, pues en esta misma carpeta se
encontrarn ya las copias de seguridad
realizadas con LazyBackup anteriormente.

bigdump.php (III)

A continuacin subiremos
bigdump.php mediante FTP a
una carpeta del servidor de
destino, preferiblemente a la
carpeta media de Joomla, pues
en esta misma carpeta se
encontrarn ya las copias de
seguridad realizadas con
LazyBackup anteriormente.
Al acceder al script se mostrar
la lista de los archivos de copia
de seguridad existentes, y
podremos hacer clic sobre el
enlace Start Import de aqul
que queramos restaurar.
Si la importacin es correcta,
aparecer una pantalla similar a
sta indicndolo.

Adaptar el archivo configuration.php (I)

El archivo configuration.php de Joomla! debe


conocer la informacin de acceso a la base de
datos y las rutas absolutas a las carpetas de
archivos temporales (tmp) y de informes (log).
Para conocer la ruta absoluta de nuestro sitio
Joomla! colocaremos un archivo php con el
siguiente contenido en la carpeta raz y
accederemos a l mediante el navegador.

<?php echo __FILE__; ?>

Adaptar el archivo configuration.php (II)


Concretamente, las lneas a configurar sern las siguientes:
var $dbtype = 'mysql'; //Tipo de base de datos
var $host = 'localhost'; //Nombre del servidor; generalmente
localhost
var $user = 'villa29_replica'; //usuario de la base de datos
var $password = 'laquesea'; //contrasea del usuario
var $db = 'villa29_replica'; //nombre de la base de datos
var $dbprefix = 'jos_'; //prefijo de las tablas de Joomla!
var $log_path = '/home/villa29/public_html/replica/logs'; //ruta
absoluta a la carpeta de informes
var $tmp_path = '/home/villa29/public_html/replica/tmp'; //ruta
absoluta a la carpeta temporal

Verificar la rplica

Debe prestarse especial atencin a la


verificacin de las funciones de correo, la
configuracin de la capa FTP, y el
funcionamiento de las extensiones que
requieran gestin de archivos (remository,
attachments, )
Por cuestiones de seguridad, no olvide borrar
el archivo bigdump.php y el archivo que
utiliz para averiguar la ruta global.

Crear un componente bsico

Joomla 1.5! recomienda utilizar el esquema de


desarrollo MVC (Model View Controller) en el que:

Model: Los modelos se encargan de preparar los distintos


conjuntos de datos necesarios para el componente.
View: Las vistas se encargan de presentar los datos.
Controller: Los controladores se encargan de la lgica de
la aplicacin, decidiendo cundo se debe recurrir a cada
vista y a cada modelo.

Sin embargo, en este ejemplo adoptaremos un


sistema ms bsico, en el que simplemente
aislaremos la presentacin del resto (la preparacin
de los datos y la lgica de la aplicacin).

Crear un componente bsico

Nuestro componente permitir mostrar las


calificaciones de los alumnos, pero slo a
sus respectivos padres.
Cree una subcarpeta llamada
com_calificaciones en cada una de las
siguientes carpetas:

components
administrator/components

Crear un componente bsico


Dentro de la carpeta
/components/com_calificaciones, cree un archivo
llamado calificaciones.php con el siguiente
contenido:
<?php
defined('_JEXEC') or die ('No eres bien recibido');
echo '<div
class="componentheading">Calificaciones</div>';
?>
Acceda al componente desde el front-end
escribiendo en el navegador la ruta de su sitio
seguida de index.php?option=com_calificaciones

Crear un componente bsico


Dentro de la carpeta
/administrator/components/com_calificaciones, cree
un archivo llamado admin.calificaciones.php con
el siguiente contenido:
<?php
defined('_JEXEC') or die ('No eres bien recibido');
echo 'Calificaciones';
?>
Acceda al componente desde el back-end
escribiendo en el navegador la ruta de su sitio
seguida de
/administrator/index.php?option=com_calificaciones

Crear un componente bsico

Para que Joomla!


reconozca el componente
debemos registrarlo en su
tabla jos_components.
Acceda a esta tabla
mediante phpMyAdmin e
inserte en ella un nuevo
registro configurado del
modo indicado.
Compruebe que ahora s
puede crear un tem de
men para acceder al
componente desde el frontend.

Crear un componente bsico

En el back-end, nuestro componente


permitir mostrar la lista completa de
alumnos y acceder a alumnos concretos.
Necesitaremos 2 barras de herramientas:

Una para la lista completa que permita


publicar/despublicar/modificar/crear alumnos.
Una para los modos de modificacin y creacin
de alumnos que permita aplicar/guardar/cancelar
los cambios.

Crear un componente bsico

En el back-end, nuestro componente


permitir mostrar la lista completa de
alumnos o acceder a alumnos concretos.
Necesitaremos 2 barras de herramientas:

Una para la lista completa que permita


publicar/despublicar/modificar/crear alumnos.
Una para los modos de modificacin y creacin
de alumnos que permita aplicar/guardar/cancelar
los cambios.

Crear un componente bsico


Empezaremos
creando el archivo
responsable de la
presentacin de
las barras de
herramientas.
Dentro de la
carpeta
/administrator/com
ponents/com_califi
caciones, cree un
archivo llamado
toolbar.calificaci
ones.html.php
con el contenido
indicado

<?php
defined('_JEXEC') or die ('No eres bien recibido');
class TOOLBAR_calificaciones{
function _NEW(){
JToolBarHelper::save();
JToolBarHelper::apply();
JToolBarHelper::cancel();
}
function _DEFAULT(){
JToolBarHelper::title(JText::_('Calificaciones'),
'generic.png');
JToolBarHelper::publishList();
JToolBarHelper::unpublishList();
JToolBarHelper::editList();
JToolBarHelper::deleteList();
JToolBarHelper::addNew();
}
}
?>

Crear un componente bsico


Y ahora creamos el
archivo responsable
del funcionamiento
de las barras de
herramientas.
Dentro de la carpeta
/administrator/comp
onents/com_calificac
iones, cree un
archivo llamado
toolbar.calificacion
es.php con el
contenido indicado.
Compruebe que se
presenta la barra de
herramientas
predeterminada pero
que sus botones an
no funcionan.

<?php
defined('_JEXEC') or die ('No eres bien recibido');
require_once(JApplicationHelper::getPath('toolbar_h
tml'));
switch($task){
case 'edit':
case 'add':
TOOLBAR_calificaciones::_NEW();
break;
default:
TOOLBAR_calificaciones::_DEFAULT();
break;
}
?>

Crear un componente bsico


Para que los botones de las barras de herramientas
funciones, necesitamos una fuente de datos, es decir una
tabla en la base de datos.
Mediante phpMyAdmin, cree una tabla llamada
jos_calificaciones dentro de la base de datos Joomla! con
7 campos configurados del modo indicado.

Crear un componente bsico


<?php
Para aprovechar las
funciones de gestin
defined('_JEXEC') or die ('No eres bien
recibido');
de tablas ya
implementadas en la
class TableCalificaciones extends JTable{
clase Jtable de
var $id=null;
Joomla! crearemos
var $Nombre=null;
una clase propia que la
var $idAutorizado=null;
extienda.
var $calificacion1=null;
Dentro de
var $calificacion2=null;
/administrator/com_cali
var $calificacion3=null;
ficaciones, cree una
var $publicado=null;
subcarpeta llamada
function __construct(&$db){
tables y, dentro de
ella, un archivo
parent::__construct('#__calificaciones','id',$db);
llamado
}
calificaciones.php
con el contenido
}
indicado.
?>

Crear un componente bsico


<?php
Necesitamos un
defined('_JEXEC') or die ('No eres bien recibido');
formulario para
echo 'Calificaciones';
introducir/editar las
require_once(JApplicationHelper::getPath('admin_htm
calificaciones de los
l'));
usuarios.
JTABLE::addIncludePath(JPATH_COMPONENT.DS.'
tables');
Empezaremos
switch($task){
definiendo su lgica,
case 'add':
para lo que
editarCalificacion($option);
recurriremos al archivo
break;
admin.calificaciones.
}
php.

function editarCalificacion($option){
$fila =& JTable::getInstance('Calificaciones','Table');
$campoPublicado=JHTML::_('select.booleanlist','publi
cado','class=inputbox',$fila->publicado);
HTML_calificaciones::editarCalificacion($fila,$campoP
ublicado,$option);
}
?>

Crear un componente bsico


Para definir el aspecto del formulario, creamos un nuevo archivo en
/administrator/components/com_calificaciones llamado
admin.calificaciones.html.php con el contenido indicado

<?php
defined('_JEXEC') or die ('No eres bien recibido');
class HTML_calificaciones{
function
editarCalificacion($fila,$campoPublicado,$option){
?>
<form action="index.php" method="post"
name="formularioAdministracion" id="adminForm">

Crear un componente bsico


<fieldset class="adminForm">
<legend>Calificaciones de alumno</legend>
<table class="admintable">
<tr>
<td width='80' align='right' class='key'>
Nombre:
</td>
<td>
<input class='text_area' type='text' name='Nombre' id='Nombre' size='50'
maxlength='255' value="<?php echo $fila->Nombre;?>" />
</td>
</tr>
<tr>
<td width='80' align='right' class='key'>
idAutorizado:
</td>
<td>
<input class='text_area' type='text' name='idAutorizado' id='idAutorizado'
size='50' maxlength='11' value="<?php echo $fila->idAutorizado;?>" />
</td>

Crear un componente bsico


</tr>
<?php for($i=1;$i<=3;$i++){
$valorCalificacion='calificacion'.$i;
?>
<tr>
<td width='80' align='right' class='key'>
Calificacion<?php echo $i; ?>:
</td>
<td>
<input class='text_area' type='text'
name='calificacion<?php echo $i; ?>' id='calificacion<?php echo $i; ?>'
size='50' maxlength='255' value="<?php echo $fila->$valorCalificacion; ?>"
/>
</td>
</tr>
<?php } ?>

Crear un componente bsico


<tr>
<td width='80' align='right' class='key'>
Publicado:
</td>
<td>
<?php echo $campoPublicado; ?>
</td>
</tr>
</table>
</fieldset>

Crear un componente bsico


<input type='hidden' name='id' value="<?php echo
$fila->id; ?>" />
<input type='hidden' name='option'
value="<?php echo $option; ?>" />
<input type='hidden' name='task' value="" />
</form>
<?php
}
}
?>

Crear un componente bsico

Ahora aadimos en admin.calificaciones.php la funcin que se


encargar de recibir los datos de este formulario y almacenarlos
en la base de datos

function guardarCalificacion($option){
global $mainframe;
echo $option;
$fila =& JTable::getInstance('Calificaciones','Table');
$fila->bind(JRequest::get('post'));
$fila->store();
$mainframe->redirect('index.php?option=com_calificaciones',
'Calificacion guardada');
}

Crear un componente bsico

Pero para que admin.calificaciones.php sepa que debe


ejecutar la funcin anterior debemos aadir el caso add en el
switch de $task
switch($task){
case 'add':
editarCalificacion($option);
break;
case 'save':
guardarCalificacion($option);
break;
}

Crear un componente bsico

Vamos a comprobar que todo funciona


correctamente:

Acceda con su navegador a


/administrator/index.php?option=com_calificacion
es&task=add
Escriba unos datos de ejemplo y pulse el botn
Guardar.
Verifique con phpMyAdmin que los datos se han
almacenado en la tabla jos_calificaciones

Crear un componente bsico

Inserte en admin.calificaciones.php esta funcin para gestionar


la lgica que permitir mostrar un listado de todas las
calificaciones.

function mostrarCalificaciones($option){
$db =& JFactory::getDBO();
$consulta="SELECT * FROM #__calificaciones";
$db->setQuery ($consulta);
$filas= $db->loadObjectList();
HTML_calificaciones::mostrarCalificaciones($option, $filas);
}

Crear un componente bsico

Aprovechando que estamos en admin.calificaciones.php cree el caso


default en el switch para que, en ausencia de un $task concreto, se
muestre el listado de calificaciones:

switch($task){
case 'add':
editarCalificacion($option);
break;
case 'save':
guardarCalificacion($option);
break;
default:
mostrarCalificaciones($option);
break;
}

Crear un componente bsico


En el archivo admin.calificaciones.html.php, insertamos la
funcin mostrarClasificaciones, cuyo cdigo es el siguiente:
function mostrarCalificaciones($option,$filas){
?>
<form action="index.php" method="post"
name="adminForm">
<table class="adminlist">
<thead>
<tr>
<th width='20'>
<input type="checkbox" name="activar"
value="" onclick="checkAll(<?php echo count($filas); ?>" />
</th>

Crear un componente bsico


<th>Nombre</th>
<th width="10%">idAutorizado</th>
<th width="15%">Calificacion1</th>
<th width="15%">Calificacion2</th>
<th width="15%">Calificacion3</th>
<th width="5%" nowrap="nowrap">Publicado</th>
</tr>
</thead>
<?php
$alternar=0;
$total=count($filas);

Crear un componente bsico


for($i=0;$i<$total;$i++){
$fila= &$filas[$i];
$seleccionado=JHTML::_('grid.id',$i,$fila->id);
$publicado=JHTML::_('grid.published',$fila,$i);
?>
<tr class="<?php echo "row$activado"; ?>">
<td>
<?php echo $seleccionado; ?>
</td>
<td>
<?php echo $fila->Nombre; ?>
</td>

Crear un componente bsico


<td>
<?php echo $fila->idAutorizado; ?>
</td>
<td>
<?php echo $fila->calificacion1; ?>
</td>
<td>
<?php echo $fila->calificacion2; ?>
</td>
<td>
<?php echo $fila->calificacion3; ?>
</td>

Crear un componente bsico


<td align="center">
<?php echo $publicado; ?>
</td>
</tr>
<?php
$alternar=!$alternar;
}
?>
</table>
<input type="hidden" name="option" value="<?php echo
$option; ?>" />
<input type="hidden" name="task" value="" />
<input type="hidden" name="boxchecked" value="0" />
</form>

Crear un componente bsico

Comprobamos que todo funciona


correctamente ejecutando desde el back-end
Componentes>Calificaciones

Crear un componente bsico


Para que los administradores puedan editar las
calificaciones aprovecharemos la funcin que ya
tenemos para introducir nuevas calificaciones:
editarCalificacion. Introduzca en ella el siguiente
cdigo:
$fila =& JTable::getInstance('Calificaciones','Table');
$cid=JRequest::getVar('cid',array(0),'','array');
$id=$cid[0];
$fila->load($id);

Crear un componente bsico


En el switch de $task introducimos la
modificacin necesaria para que edit y add
conduzcan a la funcin editarCalificacion
switch($task){
case 'edit':
case 'add':
editarCalificacion($option);
break;

Crear un componente bsico

El funcin Aplicar funciona exactamente igual que


Guardar, salvo porque nos mantiene en la misma
pgina, es decir mantiene el $task.
En admin.calificaciones.php, inclusa su caso en el
switch de $task indicando que tambin desea enviar
a la funcin el propio valor de $task
case 'apply':
case 'save':
guardarCalificacion($option,$task);
break;

Crear un componente bsico


De modo que en la
funcin
guardarCalificacion
de
admin.calificacion.ph
p slo tendremos
que incluir este
nuevo parmetro y
sustituir la ltima
lnea por un cdigo
que discrimine si
estamos guardando
o simplemente
aplicando los
cambios.
Comprueba que
funciona
correctamente
aadiendo y
aplicando cambios.

function guardarCalificacion($option,$task){
global $mainframe;
$fila =& JTable::getInstance('Calificaciones','Table');
$fila->bind(JRequest::get('post'));
$fila->store();
switch($task){
case 'apply':
$mensaje="Se han aplicado los cambios";
$destino='index.php?option='.$option.'&task=edit&cid[]='.
$fila->id;
break;
case 'save':
default:
$mensaje="Se han guardado los cambios";
$destino='index.php?option='.$option;
break;
}
$mainframe->redirect($destino,$mensaje);
}

Crear un componente bsico


Volvemos ahora nuestra mirada al front-end, donde ampliaremos
el cdigo de /components/calificaciones.php para mostrar las
calificaciones de los alumnos para los que el usuario est
autorizado:
<?php
defined('_JEXEC') or die ('No eres bien recibido');
echo '<div class="componentheading">Calificaciones</div>';
jimport('joomla.application.helper');
require_once(JApplicationHelper::getPath('html'));
JTable::addIncludePath(JPATH_ADMINISTRATOR.DS.'comp
onents'.DS.$option.DS.'tables');

Crear un componente bsico


switch($task){
default:
mostrarCalificacionAutorizado($option);
break;
}
function mostrarCalificacionAutorizado($option){
$usuario=& JFactory::getUser();
$db=& JFactory::getDBO();
$consulta="SELECT * FROM #__calificaciones WHERE
idAutorizado='$usuario->id' AND publicado='1'";
$db->setQuery($consulta);
$filas=$db->loadObjectList();
HTML_calificaciones::mostrarCalificacionAutorizado($filas,$option);
}
?>

Crear un componente bsico


Y, por ltimo, creamos en /components/com_calificaciones el archivo
calificaciones.html.php con el siguiente contenido:
<?php
defined('_JEXEC') or die ('No eres bien
recibido');
class HTML_calificaciones{
function
mostrarCalificacionAutorizado($filas,$option
){
?>
<table>
<?php foreach($filas as $fila){
echo
"<tr>
<td>
$fila->Nombre
</td>
<td>
$fila->calificacion1
</td>

<td>
$fila->calificacion2
</td>
<td>
$fila->calificacion3
</td>
</tr>";
}?>
</table>
<?php
}
}
?>

You might also like