SlideShare ist ein Scribd-Unternehmen logo
1 von 236
Downloaden Sie, um offline zu lesen
Joomla! 1.5.x


    CRIF Las Acacias
    Noviembre 2008
    Juan Félix Mateos
¿Qué es Joomla!?

 Un CMS (Content Managemente System) o
 gestor de contenidos basado en
 tecnologías web (como XHTML, CSS,
 JavaScript y PHP), válido tanto para Internet
 como para intranets, de código abierto
 (open source), y gratuito.
¿Para qué sirve Joomla!?

 Para presentar y gestionar contenidos de
 diversa naturaleza a través de la Web.
   Artículos
   Enlaces web
   Contactos
 Ofreciendo al destinatario final ciertas
 opciones de interactuación:
   Enviar sus propios artículos
   Participar en encuestas.
   Colaborar en la gestión/administración del sitio.
¿Y eso es todo?

 No. Las posibilidades de Joomla! son infinitas
 porque puede ser ampliado mediante:
   Componentes
   Módulos
   Plug-ins
   Plantillas
   Lenguajes (idiomas)
¿Quién debería utilizar Joomla!?

 Cualquiera que desee presentar información a
 través 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 tecnología.
   Vago: Aplica como primer mandamiento la ley del mínimo
   esfuerzo.
 En definitiva, casi cualquiera…
¿Y si no me convence Joomla!?
 Hay otros CMS
   Drupal
   Xoops
   http://www.opensourcecms.com/
 Pero también hay otros sistemas de gestión de contenidos como los
 Blogs, sistemas de teleformación, sistemas de documentación,
 galerías multimedia, foros, comercio electrónico, groupware, …
   www.wordpress.org
   Moodle
   Wiki
   Gallery
   Simple Machines Forum
   osCommerce
   aTutor
¿Qué quiere decir Joomla!?

 Es la trascripción de una palabra swahili que
 significa quot;todos juntosquot; o quot;como una sola
 piezaquot;.
¿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.
¿Cómo funciona Joomla!?
Programa del curso

 Instalación de Joomla!
   Remoto
   Local
   ¿Linux (Ubuntu sobre VirtualBox)?
 Descripción de Joomla!
 Extensiones
   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 opción de descomprimir
 archivos en remoto subiremos directamente el
 archivo Joomla_1.5.8-Stable-Full_Package.zip, y lo
 descomprimiremos en la carpeta raíz de nuestro
 alojamiento; en caso contrario, lo
 descomprimiremos en local y subiremos los
 archivos descomprimidos a la carpeta raíz de
 nuestro alojamiento.
 http://filezilla-project.org/
   Servidor: ftp.villatic.org
   Usuario: crifjoomlaxx@villatic.org
   Contraseña: crifjoomla
   Puerto: 21
Instalar Joomla! en remoto 2

      Seleccionar el idioma.
1.

      Corregir el problema de display_errors con
2.
      un archivo php.ini en las carpetas raíz,
      administrator e installation.
     <?php
     display_errors = 0;
     ?>
      Revisar la licencia.
3.
Instalar Joomla! en remoto 3

     Introducir los datos de la base de datos (si
4.
     se desea, utilizar la configuración
     avanzada):
       Tipo: mysql
       Servidor: localhost
       Usuario: villa29_cjxx
       Contraseña: crifjoomla
       Nombre bd: villa29_crifjoomlaxx
     Introducir los datos de la configuración FTP
5.
Instalar Joomla! en remoto 4

     Introducir el nombre del sitio, los datos del
6.
     administrador e instalar los datos de
     ejemplo predeterminados haciendo clic
     sobre el botón correspondiente.
     Borrar la carpeta installation y acceder a la
7.
     zona de portada o a la de administración.
Instalar phpMyAdmin en remoto

     Obtener los archivos de phpMyAdmin de
1.
     www.phpmyadmin.net.
     Subir los archivos mediante FTP a una
2.
     carpeta nueva llamada phpmyadmin.
     Renombrar el archivo config.sample.inc.php
3.
     como config.inc.php.
     Escribir una clave secreta blowfish en la
4.
     línea 17 del archivo config.inc.php.
Instalar WAMP y configurar
phpMyAdmin en local
  Una vez instalado WAMP, acceder a phpMyAdmin
  y, mediante la opción Privilegios, asignar la
  contraseña crifjoomla al usuario root, tanto del
  servidor localhost como del servidor 127.0.0.1.
  Después, acceder al archivo
  C:wampappsphpmyadmin2.11.5config.inc.php y
  escribir la misma contraseña en la línea 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 más rápidas.
     utf8_spanish_ci: Español moderno; reconoce la ñ pero
     no la ll ni la ch.
     utf8_general2_ci: Español tradicional; reconoce la ñ, la ll
     y la ch, pero es más lento.
   Crear un usuario llamado crifjoomla y con la
   contraseña 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:wampwww y copiar en ella los archivos de
 Joomla! 1.5.8.
 Acceder a la página web http://localhost y
 seleccionar en ella el proyecto cursojoomla para
 iniciar la instalación.
 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 contraseñas en Joomla! 1.5

  Las contraseñas 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
  mayúsculas, minúsculas y números).
  cadena2 se elige al azar.
  cadena1 es el hash md5 calculado sobre la
  cadena resultante de unir cadena2 al final de la
  contraseña elegida.
  http://md5-hash-online.waraxe.us/
EJERCICIO

 Utilizando phpMyAdmin, cambiar la
 contraseña del administrador.
Cambiar el idioma

     Subir los paquetes de idioma obtenidos de
1.
     joomlaspanish.org mediante Extensiones>
     Instalar/Desinstalar> Subir paquete.
     Configurar estos nuevos paquetes como
2.
     predeterminados a través de Extensiones>
     Gestor de idiomas
Cambiar la zona horaria

 En Sitio> Configuración global> Servidor>
 Configuración de la localización,
 seleccionar UTC +01:00 y pulsar Aplicar.
Grupos de usuarios en Joomla! 1.5
 Usuarios del front-end
    anónimos
    registrados
    autores (de aquí en adelante, se consideran usuarios especiales)
    editores
    jefes de redacción
 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
 redacción más otros adicionales.
Secciones, categorías y artículos


 Los contenidos de Joomla! sólo admiten 2 niveles de
 jerarquización:
    Las secciones son el primer nivel o nivel principal
    Cada sección puede contener varias categorías, pero una
    misma categoría no puede pertenecer a más de una sección.
    Generalmente los artículos estarán asignados a una sección y a
    una categoría, aunque también se pueden crear artículos sin
    clasificar.
 Las secciones y categorías se pueden mostrar con dos formatos:
    Diseño estándar: listado de los títulos de las categorías en el
    caso de las secciones, y de los títulos de los artículos en el caso
    de las categorías.
    Diseño de blog: tanto para categorías como para secciones
    muestra los títulos y los preámbulos de las noticias.
Crear secciones y categorías
 Contenido> Gestor de secciones
 Contenido> Gestor de categorías

 En ambos casos merece destacar el hecho de que podemos
 configurarlas para que sean accesibles al público en general, a los
 usuarios registrados o a los usuarios especiales (que son todos
 aquéllos 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 categorías, aunque sí de las
 secciones a los artículos de sus categorías, y también de las
 categorías a sus artículos; por ejemplo, una sección puede requerir
 acceso especial y, sin embargo, sus categorías ser de acceso público,
 de modo que los usuarios anónimos/registrados (no especiales) no
 podrían acceder a la presentación (en lista ni en blog) de las categorías
 que componen la sección, pero sí a las categorías en sí, mostrando el
 listado de artículos (en lista o en blog) que contienen, aunque sin
 permitir el acceso a ellos.
EJERCICIO

 Crear una sección llamada Noticias con
 acceso especial y, dentro de ella, una
 categoría llamada Página de inicio con
 acceso público.
Crear un artículo
 Contenido> Gestor de artículos> Nuevo
 También podemos establecer un nivel de acceso (público,
 registrado o especial), independiente del que pudieran poseer la
 sección y categoría, aunque afectado por el de éstas. Por
 ejemplo, si la sección o la categoría tienen acceso especial,
 ningún artículo perteneciente a ellas será accesible a un usuario
 anónimo/registrado aunque tenga nivel de acceso público.
 Periodo de publicación (desde cuándo y durante cuánto tiempo).
 Publicar en la página principal o no. ¡PRECAUCIÓN! Al asignar
 un artículo público a la página principal, pero que pertenece a
 una sección o categoría con acceso restringido, si ésta está
 configurada para mostrar el blog (que es lo predeterminado), se
 mostrará el título y el preámbulo de la noticia (aunque
 pertenezca a una categoría con acceso restringido).
EJERCICIO

 Crear cinco artículos de ejemplo en la
 sección/categoría Noticias/Página de inicio con
 acceso público, y configurarlos para que se
 muestren en la página inicial.
 ¿Se muestran en la página inicial a pesar de que
 pertenecen a una sección con acceso especial? Se
 muestra su información de blog (título y preámbulo)
 pues pertenecen a una categoría pública, pero no
 podríamos acceder a los artículos en sí pues
 pertenecen a una sección con acceso especial.
Artículos sin clasificar

 Sirven para crear contenidos que no se adaptan a la
 clasificación de secciones/categorías de nuestro
 sitio.
 Contenido> Gestor de artículos> Nuevo y
 seleccionar la opción Sin sección asignada en el
 cuadro de lista Sección.
 Y, si no lo publicásemos en la página inicial, ¿cómo
 accederíamos a este contenido? Mediante un ítem
 menú.
Los menús
 Los menús están compuestos por items, y constituyen el sistema
 de navegación fundamental para acceder a los contenidos
 (secciones, categorías, artículos y otros).
 Los menús se gestionan a través de Menús> Administrador de
 menús.
 Al crear un menú nuevo es necesario indicar también el nombre
 para un módulo nuevo, que será el encargado de visualizarlo.
 Este módulo no se habilita automáticamente, por lo que
 tendremos que publicarlo a través de Extensiones>
 Administrador de módulos.
 El título que muestra el menú en la portada es el de su módulo,
 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 menús, o elegir directamente el
 nombre del menú en el menú Menús (valga la
 redundancia).
 Lo primero que deberemos hacer al crear un ítem
 nuevo es indicar a qué tipo de contenido (más
 precisamente, a qué tipo de componente) va a estar
 vinculado (artículo, encuesta, contacto, usuario, …)
 Entre todos los items de todos los menús debe
 haber uno predeterminado, que será el destino que
 se muestre al acceder a la portada de nuestro sitio
 Joomla!.
EJERCICIO

 Crear un artículo sin clasificar.
 Crear un menú llamado Menú secundario.
 Publicar el menú.
 Incluir en él un ítem que enlace con el
 artículo sin clasificar.
La página inicial
 La página 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 artículos (sea cuál sea el nivel de acceso de su
 sección/categoría) que estén configurados para mostrarse en la
 página inicial.
 En cierta forma, al asignar un artículo a la página principal es
 como si estuviésemos creando un duplicado suyo en una
 sección/categoría pública, de modo que la única forma de
 controlar su nivel de acceso en la página inicial es a través del
 nivel de acceso del propio artículo, sin que se vea afectado por
 el de la sección/categoría real a la que pertenece.
Configurar el ítem de menú
predeterminado
 Para configura el ítem de menú predeterminado sólo hay que
 acceder a él a través del menú Menús, activar la casilla que hay
 a su izquierda, y pulsar el botón 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 ningún í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 artículo sin clasificar.
 Acceder a la portada del sitio para comprobar
 que efectivamente se muestra el artículo 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 través de
 Extensiones> Administrador de plantillas.
EJERCICIO

 Asignar la plantilla beez al ítem de menú
 vinculado al artículo sin clasificar.
Posiciones de los módulos en las plantillas

 Las plantillas poseen marcadores de posición
 en los que podemos mostrar los módulos.
 Para ver dónde se encuentran estos
 marcadores de posición, seleccionaremos la
 plantilla en Extensiones> Administrador de
 plantillas y haremos clic sobre el botón
 Vista previa.
EJERCICIO

 Asignar el módulo del menú secundario al
 marcador de posición user3 de la plantilla.
 ¿Qué ocurre cuando hacemos clic sobre este
 ítem y se muestra con la plantilla beez?
Gestión de usuarios
 Los usuarios se administran a través de Sitio> Administrador de
 usuarios.
 No obstante, muchos sitios permiten que cualquiera pueda suscribirse a
 ellos por sí mismo a través del módulo mod_login (acceder). Esta
 posibilidad está controlada por Sitio> Configuración global> Sistema>
 Permitir registro de nuevos usuarios.
 Para crear el módulo mod_login tendríamos que seleccionar Extensiones>
 Administrador de módulos> Crear nuevo> Acceder.
 Si permitimos que los usuarios puedan registrarse por sí mismos, recibirán
 un correo electrónico con un enlace sobre el que deberán hacer clic para
 que su cuenta se habilite. De este modo nos aseguramos de que nos han
 proporcionado un email válido. No obstante, podemos desactivar este
 sistema de email y habilitar directamente las cuentas seleccionando No en
 Sitio> Configuración global> Sistema> Activación de cuena para los
 nuevos usuarios.
EJERCICIO

 Insertar el módulo acceder en la página de
 inicio, pero configurando el sistema para que
 no permita el registro de nuevos usuarios.
Usuarios del front-end (portada)
 Anónimo: Sólo puede ver las zonas públicas 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
 podrán ser modificados por él mismo o por un editor (o superior)
 y que deberán ser aprobados por un jefe de redacción (o
 superior) antes de su publicación.
 Editor: Posee los mismos privilegios que el autor, además de
 poder editar incluso los contenidos de los que no es autor;
 aunque no puede aprobar ningún contenido para su publicación.
 Jefe de redacción: Suma a los privilegios del editor la
 posibilidad de aprobar contenidos para su publicación.
EJERCICIO

  Crear los siguientes usuarios



Nombre            Clave           Tipo
registrado        registrado      registrado
autor             autor           autor
editor            editor          editor
jefe              jefe            jefe
Contribuir con artículos desde la portada

 Para que los usuarios especiales puedan
 contribuir con artículos 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>
 Artículos> Artículo> Diseño para
 introducir artículos.
EJERCICIO
 Crear en el menú secundario un ítem llamado Enviar artículo
 que sirva para contribuir con artículos.
 ¿Qué pasa cuando un anónimo o registrado hace clic sobre este
 ítem?
 Asignar al ítem el nivel de acceso especial.
 Enviar un artículo como autor para que se muestre en la página
 inicial.
 Comprobar que el editor puede verlo y modificarlo pero no
 publicarlo.
 Comprobar que el jefe de redacción sí puede publicarlo.
 ¿Qué ocurre si el editor termina su sesión mientras está en la
 pantalla de edición del artículo y posteriormente intenta editarlo
 el jefe de redacción?
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 edición
 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/categorías
 y gestionar los contenidos en general, pero no
 puede gestionar los usuarios, ni los menús, ni
 instalar extensiones.
 Administrador: Tiene permiso para todo excepto
 para crear super-administradores, instalar idiomas o
 plantillas, cambiar la configuración global del sitio o
 enviar correos masivos. Tampoco puede cerrar la
 sesión 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     super-
                                  administrador
EJERCICIO

 Intentar crear un usuarios super-
 administrador desde la cuenta del
 administrador. ¿Es posible?
 Entrar en la portada como usuario registrado
 e intentar cerrar la sesión 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 galería
 multimedia organizada en carpetas, y configurable a
 través de las siguientes opciones de Sitio>
 Configuración global> Sistema:
    Extensiones permitidas: No podremos subir ningún
    archivo cuya extensión no esté incluida en esta lista
    (salvo que lo incluyamos expresamente en
    Extensiones ignoradas).
    Tamaño máximo: El tamaño máximo 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 imágenes: 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 opción, los usuarios por
   debajo de gestor sólo podrán enviar los tipos de archivos que especifiquemos en
   Extensiones para imágenes 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 extensión.
   Extensiones para imágenes autorizadas: Son las únicas extensiones que se
   admitirán de usuarios inferiores a manager si Restringir la subida de archivos
   está activada. La validez de la imagen no se asegura sólo con su extensión, sino
   también comprobando el encabezado del propio archivo, de modo que sólo se
   podrán utilizar aquí extensiones que correspondan realmente a imágenes.
   Extensiones ignoradas: Aquí podríamos indicar alguna extensión para que
   jamás se restrinja la subida de este tipo de archivos ni se compruebe su tipo
   MIME.
   Tipos MIME autorizados: Son los tipos que se permitirán subir.
   Tipo MIME no autorizado: Son los tipos que no se permitirán subir
   Activar el sistema Flash para subir archivos: Utiliza una pequeña aplicación
   Flash para mostrar gráficamente el proceso de subida de los archivos.
Insertar una imagen en un artículo

 Existen dos formas de insertar una imagen en un
 artículo:
   A través del icono     de TinyMCE podemos insertar
   imágenes que ya estén publicadas en Internet indicando
   su URL.
   A través del botón Imagen que hay debajo del cuadro de
   texto del artículo podemos elegir cualquier imagen del
   Administrador multimedia o subir nuevas imágenes.
Insertar un vínculo/artículo en un artículo

 Basta con seleccionar el texto que queremos que
 actúe como vínculo 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
 imágenes/archivos subidos al Administrador
 multimedia.
EJERCICIO

 Configura el sitio para que los usuarios autor,
 editor y jefe de redacción puedan subir
 archivos PDF.
 Como jefe, subir un archivo PDF al
 Administrador multimedia ¿aparece el
 archivo?
 Crear un vínculo al archivo PDF subido
 dentro del artículo ¿funciona el vínculo?
Definir el preámbulo de un artículo

 Al crear el cuerpo de una noticia podemos
 insertar un enlace quot;Leer más…quot; pulsando el
 botón Leer más que hay en la zona inferior.
 Este salto se simboliza en el editor de la
 noticia como una línea roja.
 Sólo puede haber un enlace de este tipo en
 la noticia.
 Todo lo que haya delante de este enlace se
 considerará perteneciente al preámbulo, y se
 mostrará en la vista de Blog.
Paginar un artículo (1/2)
 Podemos dividir el artículo para que se muestre en varias
 páginas.
 El lector podrá pasar de página a través de una tabla de
 contenidos o a través de enlaces a cada una de las páginas,
 además de mediante los enlaces Siguiente y Anterior.
 Para insertar un salto de página en el cuerpo de la noticia
 pulsaremos el botón Salto de página de la zona inferior.
 Indicaremos el nombre de la página y aparecerá una línea gris
 en la zona superior que trasladaremos (mediante cortar y pegar)
 a la posición que nos interese.
 No conviene que haya saltos de página dentro del preámbulo (si
 éste existiere), pues anularían la función quot;Leer másquot;. De hecho,
 es conveniente utilizar un preámbulo, pues en caso contrario los
 enlaces Siguiente y Anterior pueden provocar resultados
 inesperados cuando la noticia se muestra como Blog.
Paginar un artículo (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 títulos de las páginas o bien
   sólo los números de las páginas.
   Mostrar todo: Si se activa la tabla, esta opción
   ofrece al lector la posibilidad de mostrar el artículo
   en una sola página.
EJERCICIO

 Crear un artículo con un preámbulo y 3
 páginas.
 Configurarlo para que muestre y oculte la
 tabla de contenidos.
Metadatos de los artículos

 Al crear un artículo disponemos de la sección
 Información de metadatos, en la que
 podemos indicar una descripción, palabras
 clave, robots y autor.
 Esta información es importante, pues pueden
 consultarla otros componentes/módulos
 como los de búsqueda y los de banners.
Valoración de los artículos
 Joomla! permite a los usuarios valorar los artículos emitiendo un
 voto.
 Para activar esta posibilidad recurriremos a Contenidos>
 Administrador de artículos> Preferencias y seleccionaremos
 la opción Mostrar de la sección Calificación/Votación del
 artículo.
 El sistema de votación está basado en el plug-in Content-
 Rating que, de forma predeterminada, está activado.
 En la base de datos de Joomla! se almacena la dirección IP
 desde la que se ha producido la última votación, de modo que no
 se podrá emitir otro voto desde esa IP hasta que se registre un
 voto procedente de una IP diferente.
Suscripción de noticias

 Hay 2 formas de mostrar una suscripción
 RSS:
   Mediante el componente Suscripción de
   noticias, que permite clasificar las suscripciones
   en categorías, pero que, por ser un componente,
   debe ser vinculado a través de un ítem de menú.
   Mediante un módulo de tipo Presentación de la
   suscripción, que, por ser un módulo, puede
   mostrarse en cualquier página de nuestro sitio,
   pero que no admite categorías.
Componente Suscripción de noticias
(com_newsfeeds)
 Este componente se gestiona a través de
 Componentes> Suscripción de noticias.
 Antes de poder crear una suscripción es necesario
 configurar las categorías (Componentes>
 Suscripción de noticias> Categorías> Crear).
 Para crear una nueva suscripción utilizaremos
 Componentes> Suscripción de noticias>
 Suscripciones> Crear e indicaremos el URL
 (enlace) del proveedor.
 Al crear el ítem del menú podremos optar entre:
   Mostrar la lista de categorías.
   Mostrar las suscriciones de una categoría concreta.
   Mostrar las noticias de una suscripción concreta.
EJERCICIO

 Crear una categoría de suscripciones
 llamada Prensa.
 Crear una suscripción a la página de
 deportes del ABC dentro de la categorías
 Prensa y asignarla el nombre Deportes.
 Crear un ítem de menú en el menú
 secundario que permita acceder
 directamente a esta suscripción.
Módulo Presentación de la suscripción
(mod_feed)
 Este módulo nos permite mostrar una suscripción
 concreta (independiente de las del componente
 descrito anteriormente) en cualquier página de
 nuestro sitio.
 Para crear una instancia de este módulo
 seleccionaremos Extensiones> Administrador de
 módulos> Crear nuevo> Presentación de la
 subscripción e indicaremos el URL del
 alimentador.
EJERCICIO

 Crear una instancia del módulo Presentación
 de la suscripción en la página inicial para
 mostrar las noticias de economía de El País.
Nuestro sitio como fuente de sindicación
(mod_syndicate)
 Cada página de nuestro sitio que muestre contenidos (artículos)
 puede ofrecer información fuente para agregadores u otros sitios
 con sólo incluir en ella una instancia del módulo Subscripción
 de noticias.
 Este módulo admite los estándares RSS y Atom y, por
 convenido, suele ubicarse en el marcador de posición syndicate
 de la plantilla (que, por lo general, está en la zona inferior).
 Nótese que ese módulo genera el feed a partir del contenido de
 la página en la que se encuentra. Por ejemplo, si la página
 muestra una categoría concreta, el feed sólo contendrá los
 artículos de esa categoría.
EJERCICIO

 Crear 2 categorías en la sección Noticias
 llamadas Cursos y Recursos.
 Escribir un artículo de ejemplo en cada una
 de ellas.
 Crear un ítem en el menú secundario para
 cada una de estas categorías.
 Incluir el módulo Subscripción de noticias
 (mod_syndicate) sólo en las páginas de
 estas dos categorías.
Búsquedas

 Disponemos de un componente y de un
 módulo de búsquedas:
  El componente Search
  El módulo mod_search
El componente Search

 El componente Search se crea directamente a
 través de un ítem de menú, y entre sus
 características cabe destacar:
   La posibilidad de permitir elegir al usuario dónde quiere
   buscar (artículos, contactos, categorías, suscripciones de
   noticias, …) mediante el parámetro básico Usar las áreas
   de búsqueda
   A través de Componentes> Búsqueda podemos ver la
   estadística de las búsquedas realizadas en nuestro sitio
   por los usuarios. Estas estadísticas se activan mediante
   Preferencias> Buscar las estadísticas de búsqueda.
   Busca dentro de los metadata de los artículos, pero no
   dentro de los artículos de las subscripciones de noticias.
El módulo mod_search

 El módulo actúa en realidad como un vínculo al
 componente, con la ventaja de que podemos
 mostrarlo (por ser un módulo) en las páginas que
 queramos.
 Para crear un módulo de este tipo recurriremos a
 Extensiones> Administrador de módulos> Crear
 nuevo> Buscar.
 Por supuesto, las búsquedas realizadas a través de
 este módulo también se reflejan en Preferencias>
 Buscar las estadísticas de búsqueda.
EJERCICIO

 Crear un ítem de menú vinculado al
 componente Buscar.
 Crear un módulo de búsqueda que se
 muestre sólo en algunas páginas.
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 módulo mod_poll.
 Los resultados de las encuestas están disponibles a través del
 propio componente, de modo que podemos acceder a ellos a
 través de un ítem de menú.
 El módulo puede tener un nivel de acceso restringido y, sin
 embargo, los resultados (mostrados a través de un ítem de
 menú) pueden ser de acceso público.
 Aunque el componente Encuestas permite establecer un
 Intervalo de tiempo entre votos desde un mismo ordenador,
 este sistema está basado en cookies y es fácilmente esquivable.
EJERCICIO

 Crear dos encuestas y publicarlas sólo en la
 página principal mediante sus respectivos
 módulos.
 Configurar estos módulos para que tengan
 acceso especial.
 Crear un ítem de menú que permita acceder
 a los resultados de las encuestas
 públicamente.
Enlaces Web
 Podemos incluir en nuestro sitio Joomla! una colección de
 enlaces web clasificados en categorías.
 Las categorías y los enlaces se administran a través de
 Componentes> Enlaces web.
 Este componente nos permite generar ítems de menú para
 mostrar
    La lista de categorías
    Los enlaces que forman parte de una categoría
    El formulario para proponer nuevos enlaces. Este formulario sólo
    es accesible para los usuarios especiales (no anónimos ni
    registrados).
 Los enlaces propuestos se aprueban automáticamente, aunque
 se envía un mail al administrador para que pueda verificarlos.
EJERCICIO

 Crear 2 categorías de enlaces web, una de acceso
 público y otra de acceso especial.
 Crear un ítem de menú que permita acceder a la
 lista de categorías.
 Crear 2 sub-ítems de menú, dentro del anterior, que
 permitan acceder a cada una de las categorías.
 ¿Qué nivel de acceso deberían tener estos sub-
 item?
 Crear un tercer sub-ítem de menú que permita
 proponer nuevos enlaces. ¿Qué nivel de acceso
 debería tener este sub-item?
Contactos
 Joomla! nos permite mantener una agenda de contactos
 clasificados en categorías.
 La creación/edición de los contactos sólo es posible a través del
 back-end mediante Componentes> Administrador de
 contactos.
 Las categorías y los propios contactos pueden tener su propio
 nivel de acceso.
 Mediante ítems de menú podemos mostrar la lista de categorías
 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 también su información de contacto.
EJERCICIO

 Crear 2 categorías de contactos: Amigos y
 Clientes.
 Crear varios contactos en cada una de estas
 categorías.
 Crear ítems de menú que permitan acceder a
 la lista de categorías 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/categorías/banners.
 Los banners son imágenes que debemos almacenar mediante el
 Administrador multimedia en /images/banners.
 Los banners pueden tener un número de impresiones concreto o
 ilimitado.
 Automáticamente se mantiene un registro del número de
 impresiones y del número de clics.
 Opcionalmente, a través 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 módulo de tipo
 banner. Este módulo puede mostrar los banners aleatoriamente,
 ordenadamente o según el contenido de la propia página.
Banners: categorías y clientes
 Cada Banner debe tener:
    Una categoría
    Un cliente
    Una imagen
 Las categorías no son dependientes de los clientes ni viceversa.
 Las categorías nos permiten establecer niveles de acceso, pues
 los banners en sí no ofrecen esta posibilidad.
 Las categorías se gestionan mediante Componentes> Banner>
 Categorías.
 Los clientes son básicamente 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 píxeles 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 página.
 Los banners tienen un orden, que puede elegirse como criterio en el momento
 de visualizarlos en la página, aunque también se pueden mostrar
 aleatoriamente.
 Es fundamental indicar el destino del banner mediante la opción URL al hacer
 clic.
 El número de impresiones del banner puede ser ilimitado o especificarse
 mediante Clics comprados. Al alcanzar el límite, el banner dejará
 automáticamente de estar publicado.
 Además, los banners pueden tener asociadas etiquetas, de modo que sólo se
 muestren cuando en la página que está viendo el usuario haya un artículo que
 contenga alguna de esas etiquetas entre sus palabras clave (no busca en la
 descripción).
Banners: Mostrar los banners
 La gestión de los banners se realiza a través del componente, como hemos
 explicado anteriormente, pero su visualización está encargada al módulo
 mod_banners.
 Algunos parámetros interesantes de este módulo son:
    Destino: Dónde se mostrará la URL asociada la banner si el usuarios
    hiciera clic sobre él.
    Cantidad: Número de banners a mostrar; siempre aparecerán en primer
    lugar los destacados.
    Clientes y Categorías: Permite filtrar los banners para que sólo se
    muestren los de un determinado cliente o categoría.
    Buscar por etiquetas: Sólo se mostrarán los banners cuyas etiquetas
    coincidan con alguna de las palabras clave del artículo que contiene la
    página.
    Aleatorio: Dentro de los banners destacados, podemos elegir
    mostrarlos ordenados o aleatoriamente.
 Generalmente el módulo mod_banners se configura para ser mostrado en
 todas las páginas, pues hay artículos que no tienen un ítem de menú
 específico, sino que se llega a ellos a través de categorías/secciones o
 búsquedas.
Banners: Registro de impresiones y clics

 Mediante el botón 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 estadísticas se almacenan en la tabla
 jos_bannertrack.
EJERCICIO
 Crear un artículo que tenga como palabra clave quot;joomlaquot;.
 Crear 2 clientes de banners llamados quot;Cliente 1quot; y quot;Cliente 2quot;
 Crear 2 categorías de banners llamadas quot;Categoría 1quot; y
 quot;Categoría 2quot;
 Crear 2 banners, uno asociado al cliente 1 y a la categoría 1, y
 otro asociado al cliente 2 y a la categoría 2.
 Realizar distintas pruebas con el módulo, 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.
Módulo Contenido archivado
 Este módulo muestra una lista con formato mes, año que nos
 permite acceder a los artículos archivados.
 La longitud de esta lista está controlada por el parámetro
 Cantidad. Por supuesto, siempre se muestra del más
 reciente al más antiguo.
 Para archivar artículos tendríamos que seleccionarlos en
 Contenidos> Administrador de artículos y pulsar el botón
 Archivar.
 Los artículos archivados no se pueden editar ni se incluyen
 en las búsquedas.
 Los artículos archivados se pueden restaurar con el botón
 Restaurar.
 Nota: También existe el componente Lista de artículos
 archivados que ofrece muchos más criterios de ordenación.
EJERCICIO

 Archivar varios artículos, modificando su
 fecha de creación para que correspondan a
 meses diferentes.
 Incluir el módulo Contenido archivado y
 comprobar su funcionamiento.
 Crear un ítem de menú que conduzca a una
 página de contenidos archivados.
Módulo Ruta de acceso

 Muestra el quot;camino de migasquot; (bread
 crumbs) a través de los ítems de menús.
 Puede producir resultados duplicados en
 caso de utilizar ítems de menús anidados
 dentro del ítem que conduce a la página
 inicial.
 El separados predeterminado es >>, pero
 podemos elegir cualquier otro.
 Este módulo suele incluirse en la sección
 breadcrumb de la plantilla.
Módulo Últimas publicaciones
 Muestra los últimos artículos publicados y asignados a alguna
 sección/categorías.
 Esta lista tiene en cuenta el nivel de acceso de la
 sección/categoría y del propio artículo.
 Algunos parámetros de interés:
    Cantidad: Cuántos artículos 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 artículos publicados que no
    son suyos.
    ID: Permite especificar un ID concreto de sección y/o categoría
    para que sean las únicas tenidas en cuenta para la elaboración
    de la lista. Estos ID están disponibles en el administrador de
    secciones/categorías.
EJERCICIO
 Cuando un usuario inicie su sesión, redirigirlo a una página en la
 que se le ofrezca la posibilidad de modificar sus datos de usuario
 y además 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> Diseño del formulario del
 usuario, y recurrir al parámetro URL de redireccionamiento de
 inicio de sesión del módulo login para enviar al usuario a la
 página de ese menú.
 Copie el enlace de esta página e intente acceder como usuario
 anónimo. ¿Qué problema se produce si pulsa el botón
 Guardar?¿cómo podría evitarlo?
Módulo Destacadas

 Muestra uno o más artículos de la categoría que
 seleccionemos.
 El artículo puede elegirse al azar o mostrarse todos
 los de la categoría en horizontal o vertical.
 También podemos limitar el número de artículos a
 mostrar.
 Puede resultar útil tener una categoría para noticias
 de estilo quot;post-itquot;, es decir, breves pero importantes,
 y mostrarlas en la columna derecha de la página
 principal.
EJERCICIO

 Crear una categoría de artículos llamada
 postit e incluir en ella varias noticias breves.
 Configurar un módulo para que se muestren
 todas estas noticias verticalmente en la
 columna derecha de la página principal, sin
 el título del artículo, sin los títulos enlazados,
 y sin la posibilidad de leer más allá del
 preámbulo.
Módulo 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 módulo.
 Nos permite especificar el tamaño máximo
 de las imágenes, y también un URL de
 redireccionamiento al hacer clic sobre la
 imagen.
 El URL de la carpeta es siempre relativo a la
 carpeta raíz de Joomla!. Por ejemplo,
 /images/stories.
EJERCICIO

 Mediante el administrador multimedia, crear
 una carpeta llamada MisFotos (dentro de
 images) e incluir en ella varias imágenes
 (por ejemplo, de National Geographics).
 Configurar el módulo Imagen aleatoria para
 que muestre imágenes al azar de esta
 carpeta y, en caso de hacer clic sobre alguna
 de ellas, dirija al usuario a la página de
 National Geographics.
Módulo Quién está en línea

 Permite mostrar el número de usuarios
 registrados y anónimos que están visitando
 el sitio, o sólo el nombre de los usuarios
 registrados que están visitando el sitio, o
 ambos.
 Si vamos a mostrar el nombre de los
 usuarios quizás sea aconsejable asignar a
 este módulo el nivel de acceso, al menos,
 registrado.
EJERCICIO

 Configurar un módulo Quién está en línea
 que muestre los nombres de los usuarios
 que están visitando el sitio, pero sólo a los
 usuarios con nivel registrado o superior.
Módulo HTML personalizado

 Este módulo puede resultar útil cuando
 queremos mostrar información estática (texto
 e imágenes) en alguna página de nuestro
 sitio, aprovechando los elementos HTML.
Módulo Pie de página

 Este módulo simplemente muestra la
 información de copyright de Joomla! junto
 con el nombre de nuestro sitio web.
Módulo Contenido más leído
 Este módulo muestra la lista de los artículos que han tenido más
 accesos.
 El número de accesos puede consultarse en la columna Clics de
 Administrador de contenidos.
 Mediante los parámetros de este módulo podemos establecer la
 longitud de la lista y si queremos incluir en ella también los
 artículos configurados para mostrarse en la página inicial, pero lo
 más importante es que podemos filtrar las secciones y
 categorías que se tendrán en cuenta a través de su ID. Este ID
 puede consultarse Administrador de secciones y
 Administrador de categorías. Si desea filtrar varias
 secciones/categorías, escriba sus números separados por
 comas.
EJERCICIO

 Configurar un módulo de tipo Contenido
 más leído para que muestre los títulos de los
 artículos más leídos de dos categorías (que
 identificaremos mediante sus ID separados
 por comas).
Módulo Items relacionados

 Cuando accedemos a una página en la que
 se muestra un artículo, este módulo localiza
 los títulos de todos los demás artículos que
 pudieran compartir alguna palabra clave
 (dentro de los meta datos) con él, y los
 muestra en una lista.
 El único parámetro de este módulo relevante
 es el que permite mostrar la fecha junto a los
 títulos de los artículos.
EJERCICIO

 Crear 3 artículos que compartan una misma
 palabra clave.
 Crear un ítem de menú que permita acceder
 a uno de estos artículos.
 Insertar un módulo de tipo Items
 relacionados que se muestre en todas las
 páginas, configurado para aparecer en la
 posición footer e indicando la fecha de los
 artículos relacionados.
Módulo Secciones

 Muestra una lista de las secciones disponibles en
 nuestro sitio web.
 Aunque existe un parámetro llamado Mostrar
 enlaces no autorizados que podría mostrar incluso
 las secciones a las que el usuario no tiene acceso
 por su nivel de privilegios, esta opción aún no está
 implementada.
 Podemos determinar la longitud de la lista, que
 aparece ordenada según el ID de las secciones.
Módulo Wrapper

 Este módulo crea un intraframe (iframe), es
 decir, un marco capaz de mostrar otra página
 web dentro de nuestro sitio.
 Para configurar este módulo deberemos
 indicar el URL de la página que queremos
 mostrar.
EJERCICIO

 Crear un módulo de tipo Wrapper con 500
 píxeles de altura y cuya URL sea
 www.villatic.org/carpetaJuanfe/campoMinas/
 campoMinas.html
Mensajería interna del back-end
 Es importante que los usuarios del back-end mantengan un vínculo
 estrecho entre sí para facilitar las tareas de administración,
 especialmente en sitios muy complejos. Con este objetivo Joomla!
 nos ofrece un sistema de mensajería 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
 botón Crear.
 Los super-administradores también pueden acceder a este sistema
 mediante las opciones Leer los mensajes y Escribir un mensaje
 del menú Herramientas.
 A través de este sistema el super-administrador recibe una
 notificación cada vez que algún usuario especial envía un artículo
 (sin embargo, las notificaciones de envío de enlaces web (que no
 requieren aprobación) se notifican al administrador a través del
 correo externo).
 Si lo deseamos, podemos solicitar también que se nos notifiquen
 por e-mail externo los mensajes que recibamos en el correo interno;
 para ello recurriremos al botón Preferencias.
EJERCICIO

 Enviar un mensaje interno desde el manager
 al super-administrador y que éste lo conteste.
 Configurar la notificación de mensajes
 internos a través 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 opción está disponible a través de
 Herramientas> Correo masivo.
 Suele ser aconsejable mantener activada la
 casilla Recipients as BCC, pues de otro
 modo se revelarían la direcciones de correo
 electrónico a todos los destinatarios.
Ampliar Joomla!
      Para ampliar las posibilidades de Joomla! podemos instalar
      extensiones, que pueden ser de varios tipos:
        Componentes
        Módulos
        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
 1.
        ZIP) de la extensión que queremos instalar.
        Seleccionamos Extensiones> Instalar/Desinstalar.
 2.

        Pulsamos el botón Examinar para seleccionar el archivo
 3.
        comprimido.
        Pulsamos el botón Subir archivo & instalar.
 4.
yvComment: Comentarios

 yvComment es una extensión que permite a los
 usuarios comentar los artículos publicados en
 Joomla!, de modo que adquirimos así una de las
 principales características de los blogs.
 Esta extensión es muy interesante porque ilustra
 cómo pueden aprovecharse los componentes
 intrínsecos de Joomla! para obtener nuevas
 funcionalidades; en este caso, los comentarios se
 almacenan como artículos de una sección y
 categoría concreta.
yvComment: Obtención

 La versión que vamos a utilizar es la 1.15, y
 está compuesta por un componente, un plug-
 in 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
instalación
 Antes de instalar yvComment debemos crear una
 sección y una categoría dentro de ella para indicar
 al programa que almacene en ella los comentarios.
 Por ejemplo, crear la sección Comentarios y,
 dentro de ella, la categoría Comentarios.
 Si queremos permitir que los usuarios anónimos
 puedan comentar noticias tendremos que crear un
 usuario nuevo con nivel de autor (por ejemplo,
 comentarioAnonimo), que figurará como remitente
 de todos los comentarios anónimos.
yvComment: Instalación

 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
 instantáneamente al castellano.
yvComment: Configuración básica
 El componente meramente ofrece una lista de todos los
 comentarios.
 Toda la configuración de yvComment se realiza a través de su
 plug-in Extensiones> Administrador de plug-ins> yvcomment
 Los parámetros fundamentales que debemos configurar son:
   Utilizar tabla de contenido 'Content': Sí
   Sección para comentarios
   Categoría para los comentarios
 Además, por supuesto, debemos activar el plug-in.
yvComment: Configurar la presentación y
el acceso a los comentarios
                      Usar archivo CSS influye sobre el
                      aspecto de presentación de los
                      comentarios.
                      Enlazar el texto 'Comentarios(n)'…
                      controla cómo se gestionan los
                      comentarios en las páginas que
                      muestran artículos en forma de blog:
                         No: Muestra el número de comentarios.
                         Página de artículo con comentarios:
                         Convierte el número de comentarios en un
                         enlace, o muestra el enlace agrega tu
                         comentario si no hay ninguno previo.
                         Comentarios de un artículo: Igual que la
                         opción anterior (pero también afecta al
                         primer artículo de la página).
                         Ocultar: No muestra ninguna información
                         referente a los enlaces.
                      Nombre del autor enlazable: Vincula el
                      nombre del autor a la página 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 máxima del
                     comentarios, y el
                     tiempo mínimo entre
                     comentarios de un
                     mismo usuario para
                     cualquier artículo.
yvComment: Gestionar los comentarios
anónimos
                     Nombre de usuario de Visitante
                     debe ser el usuario que
                     configuramos como autor en los
                     preparativos previos a la instalación.
                     La opción Verificar nombre de
                     visitante impide que se utilice un
                     nombre parecido al de algún
                     miembro registrado de Joomla!
                     Si los comentarios no se publican
                     automáticamente, tendrán el mismo
                     tratamiento que un artículo
                     cualquiera, es decir, deberán ser
                     aprobados por un jefe o superior.
                     La gestión 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 anónimos.
 No obstante, esta funcionalidad se apoya en
 un plug-in llamado Bigo Captcha, que
 deberemos instalar y activar. Su único
 parámetro de configuración 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 parámetro
 Enable Smiley replacement for the whole
 page y desactivando su parámetro Enable
 Smileys for the texto of articles.
yvComment: Notificación 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 artículos (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 menús:
  Comentarios de un artículo: Muestra todos los
  comentarios de un artículo y permite añadir
  nuevos, pero no editar los existentes.
  Lista de comentarios: Muestra los comentarios
  de una sección y/o categoría permitiendo a los
  usuarios con privilegios suficientes modificarlos.
Attachments: Adjuntar archivos a los
artículos
 Esta extensión permite adjuntar archivos a
 los artículos.
 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: Configuración
 La configuración de esta extensión se realiza a través de
 Componentes> Archivos adjuntos> Preferencias:
    Podemos decidir quién puede ver y quién puede agregar
    archivos adjuntos. Generalmente sólo interesa que el propio
    autor pueda adjuntar nuevos archivos.
    Podemos configurar que los archivos adjuntos se publiquen
    automáticamente, si no deberán ser aprobados desde el back-
    end.
    Podemos elegir la carpeta en la que se almacenarán los archivos
    adjuntos, y solicitar que se almacenen con un prefijo que
    coincida con el id del artículo.
    Existe un modo de descarga segura que impide accesos directos
    a los archivos; sólo se podrá acceder a través de nuestro sitio
    una vez indicadas las credenciales.
    Podemos ocultar los archivos adjuntos de ciertas
    secciones/categorías con el formato (idSección/idCategoría) y
    separados por comas.
Attachments: Utilización

 No se pueden adjuntar archivos en el mismo
 momento de la creación de un artículo; sólo
 podremos hacerlo después de guardarlo
 mediante dos métodos:
   Editando el artículo y utilizando el botón Agregar
   un archivo adjunto, que aparece junto a
   Imagen, Salto de página, …
   Utilizando el enlace Agregar un archivo adjunto
   que se muestra al visualizar el artículo
   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 características:
   Contenedores o carpetas configurables.
   Edición de roles para subir/descargar/modificar descargas.
   Gestor de grupos.
   Filtrado de archivos para que sólo se puedan subir ciertas
   extensiones.
 No es necesario crear un ítem de menú, pues se
 crea automáticamente durante la instalación.
Remository: Configuración

 Componentes> Remository>
 Configuration donde las fichas más
 importantes son:
  Permisos: Aquí podemos establecer las
  extensiones de los archivos admitidos, si las
  subidas se autopublicarán, …
  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 jerarquía 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: Aprobación y publicación de
descargas
 Por defecto, el administrador deberá aprobar las
 descargas propuestas por los usuarios a través de
 Approve uploads (aunque mediante la
 configuración de permisos podemos establecer que
 las descargas propuestas por usuarios registrados
 se aprueben y publiquen automáticamente).
 Las descargas aprobadas pueden publicarse o
 despublicarse mediante Manage files.
 Manage files también nos permite crear
 automáticamente nuevas descargas con archivos
 subidos desde nuestro propio ordenador o remotos.
Remository: Valoración y comentarios de
descargas
 Remository permite a los usuarios puntuar y
 comentar las descargas (aunque puede evitarse
 mediante la configuración de permisos).
 Las votaciones pueden consultarse mediante
 Statistics, que nos muestra las 5 descargas más
 solicitadas, las 5 mejor valoradas y las 5 que más
 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 categorías
 y disponen de múltiples opciones de
 repetición.
 JEvents es básicamente un componente,
 aunque también ofrece módulos e incluso
 plug-ins muy interesantes.
JEvents: Componente y módulos

 Instalaremos el componente y los 4 módulos
 siguientes:
  mod_events_cal: Permite mostrar un calendario
  mensual en miniatura.
  mod_events_latest: Muestra los eventos
  próximos (posteriores o anteriores, según
  configuración) a la fecha actual.
  mod_events_legend: Muestra la relación entre
  categorías y colores.
  mod_events_switchview: Permite elegir entre
  varios estilos de calendario diferentes.
JEvents: Instalación

 Tras instalar el componente y los módulos:
   Crear una categoría de eventos mediante
   Componentes> JEvents> Manage categories.
     Obsérvese que las categorías pueden anidarse unas
     dentro de otras y que admiten un color identificativo.
   Publicar la categoría.
   En el Cpanel de JEvents, dentro de la ficha
   derecha Setup, hacer clic sobre los 2 vínculos
   siguientes:
     Migrate admin menus and update databases
     Migrate all events to icalEvents
JEvents: Configuración del componente_
Component1
 La configuración del componente y de
 algunos aspectos de los módulos se realiza
 seleccionando Configuration en el cPanel.
   Email del admin en el que le serán notificados los
   nuevos eventos pendientes de aprobación.
   Quién tiene acceso al componente
   Quién puede enviar eventos desde el front-end
   Formato de la fecha: Continental en nuestro caso
JEvents: Configuración del componente_
Component2
 Los parámetros de esta ficha controlan el
 aspecto del calendario:
   Años extremos (máximo y mínimo)
   Vista inicial del componente (mensual, semanal,
   anual, …)
   La información que debe mostrarse en el detalle
   de los eventos, es decir, al hacer clic sobre un
   evento (número de accesos, email, …)
JEvents: Configuración del módulo
Calendar
 El módulo Calendar muestra una vista en miniatura
 del mes actual.
 Este módulo puede configurarse desde el propio
 Administrador de módulos (por ejemplo, aquí
 podremos indicar que se muestren sólo los eventos
 de ciertas categorías) o desde la ficha Calendar del
 componente.
 Los parámetros de configuración disponibles en el
 componente permiten establecer los límites para
 que se muestren los meses anteriores y posterior,
 de modo que el módulo podría llegar a mostrar
 hasta 3 meses.
JEvents: Configuración del módulo Latest
Events
 Dispone de opciones de configuración en el
 componente y en el módulo:
   En el componente podemos establecer
   principalmente el número de eventos y el modo
   (si se rellenan las plazas disponibles con eventos
   ya pasados, y hasta qué fecha)
   Los parámetros del módulo permiten filtrar las
   categorías o particularizar los parámetros
   establecidos en el componente.
JEvents: Configuración de los tooltips

 La ficha Tooltip de la configuración del
 módulo ofrece parámetros sobre el aspecto
 de los tooltips que aparecen al colocar el
 puntero sobre una fecha que contiene
 eventos.
   Posición
   Sombra
JEvents: Configuración del módulo
mod_events_legend
 Este módulo sólo tiene sentido cuando se
 muestra en una página asociada al
 componente JEvents; en cualquier otra
 página mostrará un mensaje de aviso.
JEvents: Gestión de eventos

 En sus versiones anteriores, JEvents
 utilizaba un formato propio para almacenar
 los eventos; sin embargo, ahora quiere
 sumarse al estándar iCalendar, de modo que
 es conveniente que sólo creemos eventos de
 este tipo y que los gestionemos mediante
 Manage iCAL events.
 Los eventos no se publican automáticamente
JEvents: El módulo Events View Switcher

 Este módulo simplemente sirve para alterar
 el aspecto visual del componente en sí, y de
 todos los módulos que dependen de él.
SlimBox plug-in para Joomla 1.5

 Este plug-in permite mostrar versiones ampliadas
 de las imágenes de un modo muy atractivo.
 Las versiones en miniatura y a tamaño completo de
 las imágenes deberemos crearlas y subirlas
 nosotros mismos.
 La sintaxis es {slimbox a1;a2;a4;…} donde a1, a2,
 a3, … son ternas con el formato imagen a tamaño
 completo, imagen en miniatura, título. Las rutas de
 las imágenes están referidas a la carpeta raíz de
 Joomla!.
 Para que sólo se muestre la primera miniatura
 podemos utilizar {slimboxsingle …}
EasyTube plug-in

 Este plug-in nos permite insertar fácilmente
 en nuestros artículos vídeos de YouTube y
 GoogleVideo.
 Su sintaxis es:
  [youtube:url_del_video ancho alto]
  [googlevideo:url_del_video ancho alto]
Plantillas: Instalación y gestión

 Las plantillas son las responsables del aspecto con que se
 muestra nuestro sitio Joomla!
 Se instalan a través de Extensiones> Instalar/Desinstalar
 Se gestionan mediante Extensiones> Administrador de
 plantillas
 El back-end y el front-end pueden utilizar plantillas
 diferentes.
 Además, cada página de nuestro sitio también puede usar
 un plantilla diferente.
 Existe una plantilla predeterminada, que será la que se
 aplique en las páginas para las que no se haya
 especificado una plantilla concreta.
Plantillas: Edición

 Al editar una plantilla podemos:
   Asignársela a items de menú concretos.
   Modificar sus parámetros de configuración, si los ofreciera.
   Previsualizarla para ver su aspecto e identificar los
   contenedores de posición para módulos y su estilo. Los
   estilos determinan cómo se muestran los módulos y son:
     none
     outline
     table
     horz
     rounded
     xhtml
   Modificar el código (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 posición
 para módulos.
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 imágenes que se utilizan en los
   archivos css
   html: Contiene los archivos necesarios para definir estilos
   de presentación de módulos personalizados.
   javascript: Algunas plantillas utilizan esta carpeta para
   almacenar sus guiones javaScript.
Plantillas: Los archivos fundamentales
 templateDetails.xml: Contiene toda la información referente a la
 plantilla. Esta información se utiliza, por ejemplo, durante la
 instalación, para permitir al usuario seleccionar las posiciones de
 los módulos o para definir los parámetros de configuración de la
 propia plantilla.
 index.php: Establece la estructura de la plantilla, es decir,
 configura los contenedores en los que se mostrarán los
 componentes y módulos.
 template.css: Establece el aspecto de la plantilla.
 params.ini: En este archivo se almacenan los valores
 configurados para los parámetros 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
                          <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?>
Este archivo debe         <!DOCTYPE install PUBLIC quot;-//Joomla! 1.5//DTD template 1.0//ENquot;
encontrarse en la         quot;http://dev.joomla.org/xml/1.5/template-install.dtdquot;>
                          <install version=quot;1.5quot; type=quot;templatequot;>
carpeta raíz de la                       <name>rhuk_milkyway</name>
plantilla y el valor de                  <creationDate>11/20/06</creationDate>
                                         <author>Andy Miller</author>
name se utiliza para                     <authorEmail>rhuk@rockettheme.com.com</authorEmail>
                                         <authorUrl>http://www.rockettheme.com</authorUrl>
crear la carpeta de la                   <copyright></copyright>
plantilla durante la                     <license>GNU/GPL</license>
                                         <version>1.0.2</version>
instalación.                             <description>Descripción</description>

Sus secciones                          <files>
principales son:                       </files>

files                                  <positions>
                                       </positions>
positions
                                       <params>
params                                 </params>

                          </install>
Plantillas: templateDetails.xml, la sección
<files>
                         <files>
En esta sección            <filename>index.php</filename>
deberemos                  <filename>templateDetails.xml</filename>
                           <filename>template_thumbnail.png</filename>
referenciar todos los      <filename>params.ini</filename>
archivos de los que        <filename>images/arrow.png</filename>
                           <filename>images/indent1.png</filename>
hace uso la plantilla,
incluido el propio
templateDetails.xml,
añadiendo sus rutas
de acceso relativas.
Plantillas: templateDetails.xml, la sección
<positions>
                                   <positions>
En esta sección se recogen los
                                            <position>breadcrumb</position>
nombres de los contenedores
de posición entre los que podrá             <position>left</position>
elegir el usuario para colocar              <position>right</position>
sus módulos.                                <position>top</position>
Estos nombres deben coincidir               <position>user1</position>
exactamente con los que se
                                            <position>user2</position>
crearán en el archivo index.php
                                            <position>user3</position>
de la plantilla.
                                            <position>user4</position>
Si el archivo index.php
                                            <position>footer</position>
contiene posiciones no
                                            <position>debug</position>
incluidas en esta sección, el
                                            <position>syndicate</position>
usuario no podrá elegirlas en el
                                   </positions>
cuadro de lista desplegable de
posicionamiento de los
módulos y tendrá que escribir
su nombre manualmente.
Plantillas: templateDetails.xml, la sección
<params>
En esta sección podemos definir parámetros de configuración de la plantilla. Estos
parámetros serán configurables por el usuario a través 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 configuración establecida por el usuario se almacena en el archivo params.ini dentro
de la carpeta raíz de la plantilla. Este archivo debemos crearlo manualmente y
referenciarlo en la sección <files>
<params>
           <param name=quot;colorVariationquot; type=quot;listquot; default=quot;whitequot; label=quot;Color
Variationquot; description=quot;Color variation to usequot;>
                    <option value=quot;bluequot;>Blue</option>
                    <option value=quot;redquot;>Red</option>
                    <option value=quot;greenquot;>Green</option>
                    <option value=quot;orangequot;>Orange</option>
                    <option value=quot;blackquot;>Black</option>
                    <option value=quot;whitequot;>White</option>
           </param>
</params>
Plantillas: index.php

 En este archivo se establece la relación jerárquica
 (en otras palabras, de dependencia) entre las
 distintas secciones de la plantilla.
 Generalmente se utilizan elementos <div>, aunque
 a veces sigue recurriéndose a elementos <table>
 por su mejor compatibilidad con navegadores
 antiguos a la hora de colocar elementos con
 precisión.
 Para incluir un módulo se utiliza:
  <jdoc:include type=quot;modulesquot; name=quot;posiciónquot; style=quot;estiloquot;
    />
 Y para incluir el componente se utiliza:
 <jdoc:include type=quot;componentquot; />
Plantillas: template.css
 En este archivo se determina la posición 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 quién se aplica el estilo
    una o más declaraciones: definen el aspecto del estilo. Cada
    declaración 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 párrafo anidado
   directamente dentro de div)
   Descendiente directo: div>p (cualquier párrafo anidado
   inmediatamente dentro de un div)
   Adyacente: div+p (cualquier párrafo posterior a un div)
   Grupo: div, p (cualquier div y cualquier párrafo)
Plantillas: El modelo de caja
Una plantilla básica

 Vamos a crear una plantilla muy sencilla
 llamada plantilla_basica.
 Cree la siguiente jerarquía de carpetas:
   plantilla_basica dentro de templates
   images dentro de plantilla_basica
   css dentro de plantilla_basica
Una plantilla básica: 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 básica: templateDetails.xml
(I)
  Cree un archivo llamado templateDetails.xml dentro de la carpeta
  plantilla_basica con el siguiente contenido:

<install version=quot;1.5quot; type=quot;templatequot;>
   <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 básica: index.php (II)

<?php
       defined( '_JEXEC' ) or die( 'No eres bien
recibido' );
?>
<html>
       <head>
             <jdoc:include type=quot;headquot; />
       </head>
       <body>
       </body>
</html>
Una plantilla básica: EJERCICIO

 Comprobar que la plantilla se muestra en
 Administrador de plantillas
 Asignar la plantilla a un ítem de menú cuyo destino
 sea un artículo concreto
 Especificar los metadatos del artículo
 Acceder al artículo. Aparentemente la página está
 en blanco.
 Acceder al código fuente de la página: Se
 mostrarán los metadatos del artículo junto con otra
 información.
Una plantilla básica: 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 información de cabecera (metadatos)
   message: incluye mensajes del sistema y de error
   module: incluye un módulo concreto al que identificaremos
   por su nombre mediante el atributo adicional name
   modules: incluye todos los módulos que estén asignados
   a la posición que especifiquemos mediante el atributo
   adicional name
Una plantilla básica: index.php (III)
 Compruebe que al introducir la siguiente modificación sí
 aparece el componente:

<?php
 defined( '_JEXEC' ) or die( 'No eres bien recibido' );
?>
<html>
 <head>
       <jdoc:include type=quot;headquot; />
 </head>
 <body>
       <jdoc:include type=quot;componentquot; />
 </body>
</html>
Una plantilla básica: index.php (IV)
 Compruebe que al introducir la siguiente modificación
 aparecen los módulos debajo del componente; recuerde que el
 archivo index.php establece la jerarquía, mientras que el
 archivo template.css establece la posición/aspecto:
…
<body>
    <div id=quot;logoquot;></div>
    <div id=quot;col_principalquot;>
      <jdoc:include type=quot;componentquot; />
    </div>
    <div id=quot;col_izquierdaquot;>
      <jdoc:include type=quot;modulesquot; name=quot;leftquot; />
    </div>
</body>
…
Una plantilla básica: 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
 página ¿por qué?...

#col_principal{
  width: 60%;
  float: right;
  border: solid black 2px;
}
#col_izquierda{
  width: 35%;
  float: right;
}
Una plantilla básica: index.php (V)

    … porque debemos vincular la hoja de estilos css con
    el archivo de la plantilla index.php

…
<head>
    <jdoc:include type=quot;headquot; />
    <link rel=quot;stylesheetquot; href=quot;<?php echo $this-
     >baseurl ?>/templates/<?php echo $this-
     >template; ?>/css/template.cssquot; type=quot;text/cssquot; />
</head>
…
Una plantilla básica: $this

 $this es una variable que hace referencia a
 la página 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
   página
   title: Título de la página (no de la plantilla)
   description: Descripción de la página
   language: Idioma de la página
   baseurl: URL de la página.
Una plantilla básica: 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 píxeles:

#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 básica: estilos estándar para
los módulos (I)
 none: No crea ningún contenedor. No muestra el título de los
 módulos nunca.
 table: Presenta el módulo dentro de un table de clase
 .moduletable, e incluye su título en un elemento th.
 horz: Igual que table, pero anidado a su vez en otro table con
 width=100%
 xhtml: Presenta el módulo dentro de un div de clase
 .moduletable, e incluye su título en un elemento h3.
 rounded: El contenido del módulo se anida sucesivamente en 4
 elementos div para permitir insertar las imágenes de las
 esquinas. El div más externo usa module como nombre de clase.
 El título se incluye en un elemento h3.
 outline: Sólo se utiliza para previsualizar la información de los
 contenedores de posición.
Una plantilla básica: estilos estándar para
los módulos (II)
  Cambie en index.php el estilo de la columna izquierda a xhtml:
 <div id=quot;col_izquierdaquot;>
        <jdoc:include type=quot;modulesquot; name=quot;leftquot; style=quot;xhtmlquot;/>
 </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 básica: Sufijo de clase del
módulo (I)
 Entre los parámetros avanzados de los
 módulos contamos con Sufijo de clase del
 módulo. Este sufijo se añade al nombre de
 la clase utilizado por el estilo de presentación
 del contenedor del módulo. Por ejemplo, si
 utilizamos el estilo xhtml para mostrar un
 módulo que usa el sufijo _menu, el nombre
 de clase del div no será simplemente
 moduletable, sino moduletable_menu
Una plantilla básica: Sufijo de clase del
módulo (II)
  Configure alguno de los módulos de la columna
  izquierda para que use como sufijo _menu,
  modifique el estilo que teníamos del h3 para que
  aplique también 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 básica: EJERCICIO

 Averigüe cómo se muestran los menús.
 Cree un estilo que elimine el boliche de los
 menús.
 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 menús a amarillo cuando se
 coloque el puntero del ratón sobre ellos.
Una plantilla básica: SOLUCIÓN
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 básica: menús redondeados
(I)
  Configuramos la columna izquierda para que use el estilo rounded en lugar de xhtml.
<div id=quot;col_izquierdaquot;>
   <jdoc:include type=quot;modulesquot; name=quot;leftquot; style=quot;roundedquot;/>
</div>
  Incluimos el selector div.module en el estilo que ya teníamos de div.moduletable y
  también 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 básica: menús redondeados
(II)
   Creamos los estilos correspondientes a los cuatro div de module_menu,
   teniendo en cuenta el solapamiento de las imágenes
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 no-
    repeat;
}
Una plantilla básica: Favicon

   Crear una imagen de 16x16 píxeles, 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=quot;headquot; />
<link rel=quot;shortcut iconquot; href=quot;<?php echo $this-
   >baseurl ?>/templates/<?php echo $this-
   >template; ?>/images/favicon.icoquot; />
Una plantilla básica: un menú de lengüetas
(I)
   Empezaremos creando una nueva sección entre el logo y las
   columnas
<div id=quot;logoquot;></div>
<div id=quot;user3quot;>
   <jdoc:include type=quot;modulesquot; name=quot;user3quot;/>
</div>
   y definimos su estilo para que se muestre centrado
#user3{
   width: 650px;
   position: relative;
   left: 50%;
   margin-left: -325px;
}
Una plantilla básica: un menú de lengüetas
(II)
  Definimos estilos específicos para los elementos de lista de esta nueva
  posición. La imagen de la lengüeta mide 100x30 píxeles
#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 básica: un menú de lengüetas
(III)
#user3 li a{
  color: blue;
  background: transparent;
  height: 30px;
  border: 0px;
}
#user3 li a:hover{
  color: navy;
}
Una plantilla básica: un menú de lengüetas
(IV)
  Y creamos una división bajo el
  menú que no admita elementos
  flotantes a ninguno de sus lados
 <div id=quot;user3quot;>
        <jdoc:include type=quot;modulesquot; name=quot;user3quot;/>
</div>
<div class=quot;separadorHorizontalquot;></div>
   con su correspondiente estilo:
.separadorHorizontal{
   clear: both;
   width: 100%;
}
Una plantilla básica: Tercera columna
opcional (I)
 Supongamos que queremos disponer de una
 columna 'right' pero que sólo se muestre
 cuando realmente tenga módulos asignados.
 En caso de mostrarse tendríamos que
 reconfigurar los anchos de las 3 columnas,
 por ejemplo:
   col_izquierda: 20%
   col_principal: 55%
   col_derecha: 20%
Una plantilla básica: Tercera columna
opcional (II)
  Recurriremos al método $this-
  >countModules('right') para saber si hay módulos
  a la derecha o no, mostrando la columna sólo
  cuando sea necesario.
<div class=quot;separadorHorizontalquot;></div>
<?php if($this->countModules('right')): ?>
<div id=quot;col_derechaquot;>
  <jdoc:include type=quot;modulesquot; name=quot;rightquot;
  style=quot;xhtmlquot;/>
</div>
<?php endif; ?>
<div id=quot;col_principalquot;>
Una plantilla básica: 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=quot;col_principal_reducidaquot;>
<?php else: ?>
<div id=quot;col_principalquot;>
<?php endif; ?>
   <jdoc:include type=quot;componentquot; />
</div>
<?php if($this->countModules('right')): ?>
<div id=quot;col_izquierda_reducidaquot;>
<?php else: ?>
<div id=quot;col_izquierdaquot;>
<?php endif; ?>
   <jdoc:include type=quot;modulesquot; name=quot;leftquot; style=quot;roundedquot;/>
Una plantilla básica: 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 básica: 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 básica: Parámetros de
plantilla (I)
     Vamos a permitir que el color de fondo del logo se elija mediante un parámetro 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 básica: Parámetros de
plantilla (II)
  La definición del parámetro en el archivo
  templateDetails.xml es la siguiente:
<params>
      <param name=quot;colorFondoquot; type=quot;listquot;
  default=quot;azulquot; label=quot;Color de fondoquot;
  description=quot;Elija un color para el fondo del
  logotipoquot;>
             <option value=quot;azulquot;>Azul</option>
             <option value=quot;rojoquot;>Rojo</option>
             <option value=quot;verdequot;>Verde</option>
      </param>
</params>
Una plantilla básica: Parámetros de
plantilla (III)
   Para que se puedan almacenar los valores de los
   parámetros configurados por el usuario debemos
   crear en la raíz de la plantilla un archivo llamado
   params.ini, e incluirlo en la sección files de
   templateDetails.xml
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
<filename>params.ini</filename>
<filename>css/template.css</filename>
Una plantilla básica: Parámetros de
plantilla (IV)
  Modificamos el archivo index.php para que
  se añada un sufijo a la clase del logo en
  función del color elegido
<body>
     <div id=quot;logo_<?php echo $this-
  >params->get('colorFondo'); ?>quot;></div>
     <div id=quot;user3quot;>
Una plantilla básica: Parámetros 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 configuración inicial de una forma sencilla
   y rápida
Clonar un sitio Joomla! (II)

      El procedimiento general a seguir sería:
       Poner en modo Offline el sitio original para impedir que
 1.
       puedan introducirse modificaciones desde el front-end en
       la bases de datos (por ejemplo, nuevos artículos).
       Realizar una copia de seguridad de la base de datos.
 2.

       Trasladar todos los archivos del sitio Joomla! original a su
 3.
       nueva ubicación, preferiblemente mediante FTP.
       Restaurar la copia de seguridad de la base de datos en el
 4.
       nuevo servidor.
       Introducir las modificaciones necesarias en el archivo
 5.
       configuration.php
       Verificar ciertos aspectos dependientes del servidor,
 6.
       como las funciones de correo
Crear una copia de seguridad de la base de
datos de Joomla!
   El modo más sencillo de crear una copia de
   seguridad de una base de datos es a través
   de la función de exportación de
   phpMyAdmin.
   No obstante, para el caso concreto de
   Joomla! existe una extensión que realiza
   copias de seguridad diarias de forma
   automática (con la posibilidad incluso de
   enviárnoslas por correo electrónico). Su
   nombre es LazyBackup.
LazyBackup
 No olvidar activar el plug-in.
 LazyBackup crea automáticamente
 una copia de seguridad de la base
 de datos de Joomla! y la almacena
 en la carpeta media. El archivo de
 seguridad tiene la extensión sql o
 gz, según qué valor asignemos al
 parámetro Compress backup file.
 Su ejecución se produce cuando
 alguien accede a nuestra página
 web, bien desde el front-end o bien
 desde el back-end (si no accede
 nadie no se crea copia de seguridad
 ese día).
 Para que sólo se cree una copia de
 seguridad diaria (aunque accedan
 más personas a nuestro sitio ese
 mismo día) es fundamental asignar
 el valor No al parámetro 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 sería realizar la restauración a través de
 una conexión 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 continuación 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
 encontrarán ya las copias de seguridad
 realizadas con LazyBackup anteriormente.
bigdump.php (III)
 A continuación 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
 encontrarán 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 aquél
 que queramos restaurar.
 Si la importación es correcta,
 aparecerá una pantalla similar a
 ésta indicándolo.
Adaptar el archivo configuration.php (I)

  El archivo configuration.php de Joomla! debe
  conocer la información 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 raíz y
  accederemos a él mediante el navegador.

<?php echo __FILE__; ?>
Adaptar el archivo configuration.php (II)

   Concretamente, las líneas a configurar serán 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'; //contraseña 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 réplica

 Debe prestarse especial atención a la
 verificación de las funciones de correo, la
 configuración de la capa FTP, y el
 funcionamiento de las extensiones que
 requieran gestión 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 básico

 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 lógica de
   la aplicación, decidiendo cuándo se debe recurrir a cada
   vista y a cada modelo.
 Sin embargo, en este ejemplo adoptaremos un
 sistema más básico, en el que simplemente
 aislaremos la presentación del resto (la preparación
 de los datos y la lógica de la aplicación).
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf
Joomlacursonoviembre en pdf

Weitere ähnliche Inhalte

Was ist angesagt?

Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...
Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...
Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...Reynaldo Morillo
 
Joomla!Day Spain Barcelona, Joomla! para todo tipo de proyectos
Joomla!Day Spain Barcelona, Joomla! para todo tipo de proyectosJoomla!Day Spain Barcelona, Joomla! para todo tipo de proyectos
Joomla!Day Spain Barcelona, Joomla! para todo tipo de proyectosJordi Catà
 
Manual de Joomla
Manual de JoomlaManual de Joomla
Manual de JoomlaJose Ponce
 
Practica profesional walter_cuenca
Practica profesional walter_cuencaPractica profesional walter_cuenca
Practica profesional walter_cuencaCuenca Fernando
 
Instalacion Joomla 1.5
Instalacion Joomla 1.5Instalacion Joomla 1.5
Instalacion Joomla 1.5Emir Cedeño
 
Curso de Administración de Joomla
Curso de Administración de JoomlaCurso de Administración de Joomla
Curso de Administración de JoomlaPablo MC
 
Joomla! 1.5 Para Principiantes
Joomla! 1.5 Para PrincipiantesJoomla! 1.5 Para Principiantes
Joomla! 1.5 Para PrincipiantesLuis Barriocanal
 
Joomla cms primeros pasos para administrar contenidos en la web
Joomla cms primeros pasos para administrar contenidos en la webJoomla cms primeros pasos para administrar contenidos en la web
Joomla cms primeros pasos para administrar contenidos en la webxsolca
 
Diapositivas joomla
Diapositivas joomlaDiapositivas joomla
Diapositivas joomlaBruja Loca
 
Manual Joomla 3.0 Fuente: bitacoraderedes Autor : Juan Carlos Tirado Sánchez
Manual Joomla 3.0 Fuente: bitacoraderedes Autor : Juan Carlos Tirado SánchezManual Joomla 3.0 Fuente: bitacoraderedes Autor : Juan Carlos Tirado Sánchez
Manual Joomla 3.0 Fuente: bitacoraderedes Autor : Juan Carlos Tirado SánchezBrox Technology
 

Was ist angesagt? (19)

Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...
Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...
Clase 6 | CMS Gestores de Contenido - Servidor local - XAMPP - Subir una pági...
 
Joomla!Day Spain Barcelona, Joomla! para todo tipo de proyectos
Joomla!Day Spain Barcelona, Joomla! para todo tipo de proyectosJoomla!Day Spain Barcelona, Joomla! para todo tipo de proyectos
Joomla!Day Spain Barcelona, Joomla! para todo tipo de proyectos
 
Manual de Joomla
Manual de JoomlaManual de Joomla
Manual de Joomla
 
Joomla Basico
Joomla BasicoJoomla Basico
Joomla Basico
 
Exposicion joomla!
Exposicion joomla!Exposicion joomla!
Exposicion joomla!
 
Practica profesional walter_cuenca
Practica profesional walter_cuencaPractica profesional walter_cuenca
Practica profesional walter_cuenca
 
Instalacion Joomla 1.5
Instalacion Joomla 1.5Instalacion Joomla 1.5
Instalacion Joomla 1.5
 
Curso Cms 03
Curso Cms 03Curso Cms 03
Curso Cms 03
 
Curso de Administración de Joomla
Curso de Administración de JoomlaCurso de Administración de Joomla
Curso de Administración de Joomla
 
Joomla! 1.5 Para Principiantes
Joomla! 1.5 Para PrincipiantesJoomla! 1.5 Para Principiantes
Joomla! 1.5 Para Principiantes
 
Instalacion joomla
Instalacion joomlaInstalacion joomla
Instalacion joomla
 
Joomla cms primeros pasos para administrar contenidos en la web
Joomla cms primeros pasos para administrar contenidos en la webJoomla cms primeros pasos para administrar contenidos en la web
Joomla cms primeros pasos para administrar contenidos en la web
 
Kajona Jose Rafael Fedz Pascual
Kajona Jose Rafael Fedz PascualKajona Jose Rafael Fedz Pascual
Kajona Jose Rafael Fedz Pascual
 
Diapositivas joomla
Diapositivas joomlaDiapositivas joomla
Diapositivas joomla
 
Presentacion Joomla
Presentacion JoomlaPresentacion Joomla
Presentacion Joomla
 
Cuestionario joomla
Cuestionario joomlaCuestionario joomla
Cuestionario joomla
 
Que es joomla
Que es joomlaQue es joomla
Que es joomla
 
Manual Joomla 3.0 Fuente: bitacoraderedes Autor : Juan Carlos Tirado Sánchez
Manual Joomla 3.0 Fuente: bitacoraderedes Autor : Juan Carlos Tirado SánchezManual Joomla 3.0 Fuente: bitacoraderedes Autor : Juan Carlos Tirado Sánchez
Manual Joomla 3.0 Fuente: bitacoraderedes Autor : Juan Carlos Tirado Sánchez
 
Cms
CmsCms
Cms
 

Ähnlich wie Joomlacursonoviembre en pdf

Ähnlich wie Joomlacursonoviembre en pdf (20)

Joomla! Curso Noviembre
Joomla! Curso NoviembreJoomla! Curso Noviembre
Joomla! Curso Noviembre
 
Mod 03 servidor remoto
Mod 03 servidor remotoMod 03 servidor remoto
Mod 03 servidor remoto
 
A.3 bolaños.coronel.henry.g2.ppt
A.3 bolaños.coronel.henry.g2.pptA.3 bolaños.coronel.henry.g2.ppt
A.3 bolaños.coronel.henry.g2.ppt
 
Cursojoomlabsico 111125234318-phpapp01
Cursojoomlabsico 111125234318-phpapp01Cursojoomlabsico 111125234318-phpapp01
Cursojoomlabsico 111125234318-phpapp01
 
Joomla
JoomlaJoomla
Joomla
 
Producto 4 programacion web
Producto 4 programacion webProducto 4 programacion web
Producto 4 programacion web
 
Joomla
JoomlaJoomla
Joomla
 
Joomla
JoomlaJoomla
Joomla
 
05 Joomla. Consideraciones Globales
05 Joomla. Consideraciones Globales05 Joomla. Consideraciones Globales
05 Joomla. Consideraciones Globales
 
Iniciojoomla
IniciojoomlaIniciojoomla
Iniciojoomla
 
Desarrollo de protales
Desarrollo de protalesDesarrollo de protales
Desarrollo de protales
 
Open Source
Open SourceOpen Source
Open Source
 
Phpmyadmin
PhpmyadminPhpmyadmin
Phpmyadmin
 
Joomla 3.0 avanzado
Joomla 3.0 avanzadoJoomla 3.0 avanzado
Joomla 3.0 avanzado
 
10 Joomla. Instalacion De Joomla En Un Servidor Remoto
10 Joomla. Instalacion De Joomla En Un Servidor Remoto10 Joomla. Instalacion De Joomla En Un Servidor Remoto
10 Joomla. Instalacion De Joomla En Un Servidor Remoto
 
Joomla 2
Joomla 2Joomla 2
Joomla 2
 
Manual de instalacion y tecnico JOOMLA
Manual de instalacion y tecnico JOOMLAManual de instalacion y tecnico JOOMLA
Manual de instalacion y tecnico JOOMLA
 
Páginas web en joomla
Páginas web en joomlaPáginas web en joomla
Páginas web en joomla
 
Instroducción a Joomla Unicaribe
Instroducción a Joomla UnicaribeInstroducción a Joomla Unicaribe
Instroducción a Joomla Unicaribe
 
Joomla 3
Joomla 3Joomla 3
Joomla 3
 

Kürzlich hochgeladen

Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 

Kürzlich hochgeladen (20)

Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 

Joomlacursonoviembre en pdf

  • 1. Joomla! 1.5.x CRIF Las Acacias Noviembre 2008 Juan Félix Mateos
  • 2. ¿Qué es Joomla!? Un CMS (Content Managemente System) o gestor de contenidos basado en tecnologías web (como XHTML, CSS, JavaScript y PHP), válido tanto para Internet como para intranets, de código abierto (open source), y gratuito.
  • 3. ¿Para qué sirve Joomla!? Para presentar y gestionar contenidos de diversa naturaleza a través de la Web. Artículos Enlaces web Contactos Ofreciendo al destinatario final ciertas opciones de interactuación: Enviar sus propios artículos Participar en encuestas. Colaborar en la gestión/administración del sitio.
  • 4. ¿Y eso es todo? No. Las posibilidades de Joomla! son infinitas porque puede ser ampliado mediante: Componentes Módulos Plug-ins Plantillas Lenguajes (idiomas)
  • 5. ¿Quién debería utilizar Joomla!? Cualquiera que desee presentar información a través 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 tecnología. Vago: Aplica como primer mandamiento la ley del mínimo esfuerzo. En definitiva, casi cualquiera…
  • 6. ¿Y si no me convence Joomla!? Hay otros CMS Drupal Xoops http://www.opensourcecms.com/ Pero también hay otros sistemas de gestión de contenidos como los Blogs, sistemas de teleformación, sistemas de documentación, galerías multimedia, foros, comercio electrónico, groupware, … www.wordpress.org Moodle Wiki Gallery Simple Machines Forum osCommerce aTutor
  • 7. ¿Qué quiere decir Joomla!? Es la trascripción de una palabra swahili que significa quot;todos juntosquot; o quot;como una sola piezaquot;.
  • 8. ¿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.
  • 10. Programa del curso Instalación de Joomla! Remoto Local ¿Linux (Ubuntu sobre VirtualBox)? Descripción de Joomla! Extensiones Comentarios Foros Agendas … Desarrollo de plantillas Desarrollo de extensiones
  • 11. 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
  • 12. Instalar Joomla! en remoto 1 Si disponemos de la opción de descomprimir archivos en remoto subiremos directamente el archivo Joomla_1.5.8-Stable-Full_Package.zip, y lo descomprimiremos en la carpeta raíz de nuestro alojamiento; en caso contrario, lo descomprimiremos en local y subiremos los archivos descomprimidos a la carpeta raíz de nuestro alojamiento. http://filezilla-project.org/ Servidor: ftp.villatic.org Usuario: crifjoomlaxx@villatic.org Contraseña: crifjoomla Puerto: 21
  • 13. Instalar Joomla! en remoto 2 Seleccionar el idioma. 1. Corregir el problema de display_errors con 2. un archivo php.ini en las carpetas raíz, administrator e installation. <?php display_errors = 0; ?> Revisar la licencia. 3.
  • 14. Instalar Joomla! en remoto 3 Introducir los datos de la base de datos (si 4. se desea, utilizar la configuración avanzada): Tipo: mysql Servidor: localhost Usuario: villa29_cjxx Contraseña: crifjoomla Nombre bd: villa29_crifjoomlaxx Introducir los datos de la configuración FTP 5.
  • 15. Instalar Joomla! en remoto 4 Introducir el nombre del sitio, los datos del 6. administrador e instalar los datos de ejemplo predeterminados haciendo clic sobre el botón correspondiente. Borrar la carpeta installation y acceder a la 7. zona de portada o a la de administración.
  • 16. Instalar phpMyAdmin en remoto Obtener los archivos de phpMyAdmin de 1. www.phpmyadmin.net. Subir los archivos mediante FTP a una 2. carpeta nueva llamada phpmyadmin. Renombrar el archivo config.sample.inc.php 3. como config.inc.php. Escribir una clave secreta blowfish en la 4. línea 17 del archivo config.inc.php.
  • 17. Instalar WAMP y configurar phpMyAdmin en local Una vez instalado WAMP, acceder a phpMyAdmin y, mediante la opción Privilegios, asignar la contraseña crifjoomla al usuario root, tanto del servidor localhost como del servidor 127.0.0.1. Después, acceder al archivo C:wampappsphpmyadmin2.11.5config.inc.php y escribir la misma contraseña en la línea 73: $cfg['Servers'][$i]['password'] = 'crifjoomla';
  • 18. 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 más rápidas. utf8_spanish_ci: Español moderno; reconoce la ñ pero no la ll ni la ch. utf8_general2_ci: Español tradicional; reconoce la ñ, la ll y la ch, pero es más lento. Crear un usuario llamado crifjoomla y con la contraseña crifjoomla y en el servidor localhost. Asignar al usuario crifjoomla todos los privilegios de la base de datos crifjoomla.
  • 19. Instalar Joomla! en local Crear una carpeta llamada cursojoomla dentro de C:wampwww y copiar en ella los archivos de Joomla! 1.5.8. Acceder a la página web http://localhost y seleccionar en ella el proyecto cursojoomla para iniciar la instalación. 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.
  • 20. Las contraseñas en Joomla! 1.5 Las contraseñas 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 mayúsculas, minúsculas y números). cadena2 se elige al azar. cadena1 es el hash md5 calculado sobre la cadena resultante de unir cadena2 al final de la contraseña elegida. http://md5-hash-online.waraxe.us/
  • 21. EJERCICIO Utilizando phpMyAdmin, cambiar la contraseña del administrador.
  • 22. Cambiar el idioma Subir los paquetes de idioma obtenidos de 1. joomlaspanish.org mediante Extensiones> Instalar/Desinstalar> Subir paquete. Configurar estos nuevos paquetes como 2. predeterminados a través de Extensiones> Gestor de idiomas
  • 23. Cambiar la zona horaria En Sitio> Configuración global> Servidor> Configuración de la localización, seleccionar UTC +01:00 y pulsar Aplicar.
  • 24. Grupos de usuarios en Joomla! 1.5 Usuarios del front-end anónimos registrados autores (de aquí en adelante, se consideran usuarios especiales) editores jefes de redacción 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 redacción más otros adicionales.
  • 25. Secciones, categorías y artículos Los contenidos de Joomla! sólo admiten 2 niveles de jerarquización: Las secciones son el primer nivel o nivel principal Cada sección puede contener varias categorías, pero una misma categoría no puede pertenecer a más de una sección. Generalmente los artículos estarán asignados a una sección y a una categoría, aunque también se pueden crear artículos sin clasificar. Las secciones y categorías se pueden mostrar con dos formatos: Diseño estándar: listado de los títulos de las categorías en el caso de las secciones, y de los títulos de los artículos en el caso de las categorías. Diseño de blog: tanto para categorías como para secciones muestra los títulos y los preámbulos de las noticias.
  • 26. Crear secciones y categorías Contenido> Gestor de secciones Contenido> Gestor de categorías En ambos casos merece destacar el hecho de que podemos configurarlas para que sean accesibles al público en general, a los usuarios registrados o a los usuarios especiales (que son todos aquéllos 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 categorías, aunque sí de las secciones a los artículos de sus categorías, y también de las categorías a sus artículos; por ejemplo, una sección puede requerir acceso especial y, sin embargo, sus categorías ser de acceso público, de modo que los usuarios anónimos/registrados (no especiales) no podrían acceder a la presentación (en lista ni en blog) de las categorías que componen la sección, pero sí a las categorías en sí, mostrando el listado de artículos (en lista o en blog) que contienen, aunque sin permitir el acceso a ellos.
  • 27. EJERCICIO Crear una sección llamada Noticias con acceso especial y, dentro de ella, una categoría llamada Página de inicio con acceso público.
  • 28. Crear un artículo Contenido> Gestor de artículos> Nuevo También podemos establecer un nivel de acceso (público, registrado o especial), independiente del que pudieran poseer la sección y categoría, aunque afectado por el de éstas. Por ejemplo, si la sección o la categoría tienen acceso especial, ningún artículo perteneciente a ellas será accesible a un usuario anónimo/registrado aunque tenga nivel de acceso público. Periodo de publicación (desde cuándo y durante cuánto tiempo). Publicar en la página principal o no. ¡PRECAUCIÓN! Al asignar un artículo público a la página principal, pero que pertenece a una sección o categoría con acceso restringido, si ésta está configurada para mostrar el blog (que es lo predeterminado), se mostrará el título y el preámbulo de la noticia (aunque pertenezca a una categoría con acceso restringido).
  • 29. EJERCICIO Crear cinco artículos de ejemplo en la sección/categoría Noticias/Página de inicio con acceso público, y configurarlos para que se muestren en la página inicial. ¿Se muestran en la página inicial a pesar de que pertenecen a una sección con acceso especial? Se muestra su información de blog (título y preámbulo) pues pertenecen a una categoría pública, pero no podríamos acceder a los artículos en sí pues pertenecen a una sección con acceso especial.
  • 30. Artículos sin clasificar Sirven para crear contenidos que no se adaptan a la clasificación de secciones/categorías de nuestro sitio. Contenido> Gestor de artículos> Nuevo y seleccionar la opción Sin sección asignada en el cuadro de lista Sección. Y, si no lo publicásemos en la página inicial, ¿cómo accederíamos a este contenido? Mediante un ítem menú.
  • 31. Los menús Los menús están compuestos por items, y constituyen el sistema de navegación fundamental para acceder a los contenidos (secciones, categorías, artículos y otros). Los menús se gestionan a través de Menús> Administrador de menús. Al crear un menú nuevo es necesario indicar también el nombre para un módulo nuevo, que será el encargado de visualizarlo. Este módulo no se habilita automáticamente, por lo que tendremos que publicarlo a través de Extensiones> Administrador de módulos. El título que muestra el menú en la portada es el de su módulo, no el del propio menú.
  • 32. Los items de menú Para ver/modificar los items que contiene un menú podemos hacer clic sobre el icono en el Administrador de menús, o elegir directamente el nombre del menú en el menú Menús (valga la redundancia). Lo primero que deberemos hacer al crear un ítem nuevo es indicar a qué tipo de contenido (más precisamente, a qué tipo de componente) va a estar vinculado (artículo, encuesta, contacto, usuario, …) Entre todos los items de todos los menús debe haber uno predeterminado, que será el destino que se muestre al acceder a la portada de nuestro sitio Joomla!.
  • 33. EJERCICIO Crear un artículo sin clasificar. Crear un menú llamado Menú secundario. Publicar el menú. Incluir en él un ítem que enlace con el artículo sin clasificar.
  • 34. La página inicial La página 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 artículos (sea cuál sea el nivel de acceso de su sección/categoría) que estén configurados para mostrarse en la página inicial. En cierta forma, al asignar un artículo a la página principal es como si estuviésemos creando un duplicado suyo en una sección/categoría pública, de modo que la única forma de controlar su nivel de acceso en la página inicial es a través del nivel de acceso del propio artículo, sin que se vea afectado por el de la sección/categoría real a la que pertenece.
  • 35. Configurar el ítem de menú predeterminado Para configura el ítem de menú predeterminado sólo hay que acceder a él a través del menú Menús, activar la casilla que hay a su izquierda, y pulsar el botón 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 ningún í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.
  • 36. EJERCICIO Establecer como predeterminado el ítem de menú enlazado al artículo sin clasificar. Acceder a la portada del sitio para comprobar que efectivamente se muestra el artículo sin clasificar. Volver a configurar como predeterminado el ítem de menú Home.
  • 37. 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 través de Extensiones> Administrador de plantillas.
  • 38. EJERCICIO Asignar la plantilla beez al ítem de menú vinculado al artículo sin clasificar.
  • 39. Posiciones de los módulos en las plantillas Las plantillas poseen marcadores de posición en los que podemos mostrar los módulos. Para ver dónde se encuentran estos marcadores de posición, seleccionaremos la plantilla en Extensiones> Administrador de plantillas y haremos clic sobre el botón Vista previa.
  • 40. EJERCICIO Asignar el módulo del menú secundario al marcador de posición user3 de la plantilla. ¿Qué ocurre cuando hacemos clic sobre este ítem y se muestra con la plantilla beez?
  • 41. Gestión de usuarios Los usuarios se administran a través de Sitio> Administrador de usuarios. No obstante, muchos sitios permiten que cualquiera pueda suscribirse a ellos por sí mismo a través del módulo mod_login (acceder). Esta posibilidad está controlada por Sitio> Configuración global> Sistema> Permitir registro de nuevos usuarios. Para crear el módulo mod_login tendríamos que seleccionar Extensiones> Administrador de módulos> Crear nuevo> Acceder. Si permitimos que los usuarios puedan registrarse por sí mismos, recibirán un correo electrónico con un enlace sobre el que deberán hacer clic para que su cuenta se habilite. De este modo nos aseguramos de que nos han proporcionado un email válido. No obstante, podemos desactivar este sistema de email y habilitar directamente las cuentas seleccionando No en Sitio> Configuración global> Sistema> Activación de cuena para los nuevos usuarios.
  • 42. EJERCICIO Insertar el módulo acceder en la página de inicio, pero configurando el sistema para que no permita el registro de nuevos usuarios.
  • 43. Usuarios del front-end (portada) Anónimo: Sólo puede ver las zonas públicas 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 podrán ser modificados por él mismo o por un editor (o superior) y que deberán ser aprobados por un jefe de redacción (o superior) antes de su publicación. Editor: Posee los mismos privilegios que el autor, además de poder editar incluso los contenidos de los que no es autor; aunque no puede aprobar ningún contenido para su publicación. Jefe de redacción: Suma a los privilegios del editor la posibilidad de aprobar contenidos para su publicación.
  • 44. EJERCICIO Crear los siguientes usuarios Nombre Clave Tipo registrado registrado registrado autor autor autor editor editor editor jefe jefe jefe
  • 45. Contribuir con artículos desde la portada Para que los usuarios especiales puedan contribuir con artículos 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> Artículos> Artículo> Diseño para introducir artículos.
  • 46. EJERCICIO Crear en el menú secundario un ítem llamado Enviar artículo que sirva para contribuir con artículos. ¿Qué pasa cuando un anónimo o registrado hace clic sobre este ítem? Asignar al ítem el nivel de acceso especial. Enviar un artículo como autor para que se muestre en la página inicial. Comprobar que el editor puede verlo y modificarlo pero no publicarlo. Comprobar que el jefe de redacción sí puede publicarlo. ¿Qué ocurre si el editor termina su sesión mientras está en la pantalla de edición del artículo y posteriormente intenta editarlo el jefe de redacción?
  • 47. 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 edición 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.
  • 48. Usuarios del back-end Gestor/Manager: Puede crear secciones/categorías y gestionar los contenidos en general, pero no puede gestionar los usuarios, ni los menús, ni instalar extensiones. Administrador: Tiene permiso para todo excepto para crear super-administradores, instalar idiomas o plantillas, cambiar la configuración global del sitio o enviar correos masivos. Tampoco puede cerrar la sesión que tenga iniciada otro usuario. Super administrador: Tiene el poder absoluto. Puede haber varios super-administradores en un mismo sistema.
  • 49. EJERCICIO Crear los siguientes usuarios Nombre Clave Tipo manager manager manager administrador administrador administrador omnipotente omnipotente super- administrador
  • 50. EJERCICIO Intentar crear un usuarios super- administrador desde la cuenta del administrador. ¿Es posible? Entrar en la portada como usuario registrado e intentar cerrar la sesión de este usuario desde el back-end con la cuenta del administrador ¿es posible? ¿y con la del omnipotente?
  • 51. Administrador multimedia (1/2) Nuestro sitio Joomla! tiene asociada una galería multimedia organizada en carpetas, y configurable a través de las siguientes opciones de Sitio> Configuración global> Sistema: Extensiones permitidas: No podremos subir ningún archivo cuya extensión no esté incluida en esta lista (salvo que lo incluyamos expresamente en Extensiones ignoradas). Tamaño máximo: El tamaño máximo 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 imágenes: Es la única ruta a la que se pueden subir archivos desde el front-end.
  • 52. Administrador multimedia (2/2) Restringir la subida de archivos: Si activamos esta opción, los usuarios por debajo de gestor sólo podrán enviar los tipos de archivos que especifiquemos en Extensiones para imágenes 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 extensión. Extensiones para imágenes autorizadas: Son las únicas extensiones que se admitirán de usuarios inferiores a manager si Restringir la subida de archivos está activada. La validez de la imagen no se asegura sólo con su extensión, sino también comprobando el encabezado del propio archivo, de modo que sólo se podrán utilizar aquí extensiones que correspondan realmente a imágenes. Extensiones ignoradas: Aquí podríamos indicar alguna extensión para que jamás se restrinja la subida de este tipo de archivos ni se compruebe su tipo MIME. Tipos MIME autorizados: Son los tipos que se permitirán subir. Tipo MIME no autorizado: Son los tipos que no se permitirán subir Activar el sistema Flash para subir archivos: Utiliza una pequeña aplicación Flash para mostrar gráficamente el proceso de subida de los archivos.
  • 53. Insertar una imagen en un artículo Existen dos formas de insertar una imagen en un artículo: A través del icono de TinyMCE podemos insertar imágenes que ya estén publicadas en Internet indicando su URL. A través del botón Imagen que hay debajo del cuadro de texto del artículo podemos elegir cualquier imagen del Administrador multimedia o subir nuevas imágenes.
  • 54. Insertar un vínculo/artículo en un artículo Basta con seleccionar el texto que queremos que actúe como vínculo 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 imágenes/archivos subidos al Administrador multimedia.
  • 55. EJERCICIO Configura el sitio para que los usuarios autor, editor y jefe de redacción puedan subir archivos PDF. Como jefe, subir un archivo PDF al Administrador multimedia ¿aparece el archivo? Crear un vínculo al archivo PDF subido dentro del artículo ¿funciona el vínculo?
  • 56. Definir el preámbulo de un artículo Al crear el cuerpo de una noticia podemos insertar un enlace quot;Leer más…quot; pulsando el botón Leer más que hay en la zona inferior. Este salto se simboliza en el editor de la noticia como una línea roja. Sólo puede haber un enlace de este tipo en la noticia. Todo lo que haya delante de este enlace se considerará perteneciente al preámbulo, y se mostrará en la vista de Blog.
  • 57. Paginar un artículo (1/2) Podemos dividir el artículo para que se muestre en varias páginas. El lector podrá pasar de página a través de una tabla de contenidos o a través de enlaces a cada una de las páginas, además de mediante los enlaces Siguiente y Anterior. Para insertar un salto de página en el cuerpo de la noticia pulsaremos el botón Salto de página de la zona inferior. Indicaremos el nombre de la página y aparecerá una línea gris en la zona superior que trasladaremos (mediante cortar y pegar) a la posición que nos interese. No conviene que haya saltos de página dentro del preámbulo (si éste existiere), pues anularían la función quot;Leer másquot;. De hecho, es conveniente utilizar un preámbulo, pues en caso contrario los enlaces Siguiente y Anterior pueden provocar resultados inesperados cuando la noticia se muestra como Blog.
  • 58. Paginar un artículo (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 títulos de las páginas o bien sólo los números de las páginas. Mostrar todo: Si se activa la tabla, esta opción ofrece al lector la posibilidad de mostrar el artículo en una sola página.
  • 59. EJERCICIO Crear un artículo con un preámbulo y 3 páginas. Configurarlo para que muestre y oculte la tabla de contenidos.
  • 60. Metadatos de los artículos Al crear un artículo disponemos de la sección Información de metadatos, en la que podemos indicar una descripción, palabras clave, robots y autor. Esta información es importante, pues pueden consultarla otros componentes/módulos como los de búsqueda y los de banners.
  • 61. Valoración de los artículos Joomla! permite a los usuarios valorar los artículos emitiendo un voto. Para activar esta posibilidad recurriremos a Contenidos> Administrador de artículos> Preferencias y seleccionaremos la opción Mostrar de la sección Calificación/Votación del artículo. El sistema de votación está basado en el plug-in Content- Rating que, de forma predeterminada, está activado. En la base de datos de Joomla! se almacena la dirección IP desde la que se ha producido la última votación, de modo que no se podrá emitir otro voto desde esa IP hasta que se registre un voto procedente de una IP diferente.
  • 62. Suscripción de noticias Hay 2 formas de mostrar una suscripción RSS: Mediante el componente Suscripción de noticias, que permite clasificar las suscripciones en categorías, pero que, por ser un componente, debe ser vinculado a través de un ítem de menú. Mediante un módulo de tipo Presentación de la suscripción, que, por ser un módulo, puede mostrarse en cualquier página de nuestro sitio, pero que no admite categorías.
  • 63. Componente Suscripción de noticias (com_newsfeeds) Este componente se gestiona a través de Componentes> Suscripción de noticias. Antes de poder crear una suscripción es necesario configurar las categorías (Componentes> Suscripción de noticias> Categorías> Crear). Para crear una nueva suscripción utilizaremos Componentes> Suscripción de noticias> Suscripciones> Crear e indicaremos el URL (enlace) del proveedor. Al crear el ítem del menú podremos optar entre: Mostrar la lista de categorías. Mostrar las suscriciones de una categoría concreta. Mostrar las noticias de una suscripción concreta.
  • 64. EJERCICIO Crear una categoría de suscripciones llamada Prensa. Crear una suscripción a la página de deportes del ABC dentro de la categorías Prensa y asignarla el nombre Deportes. Crear un ítem de menú en el menú secundario que permita acceder directamente a esta suscripción.
  • 65. Módulo Presentación de la suscripción (mod_feed) Este módulo nos permite mostrar una suscripción concreta (independiente de las del componente descrito anteriormente) en cualquier página de nuestro sitio. Para crear una instancia de este módulo seleccionaremos Extensiones> Administrador de módulos> Crear nuevo> Presentación de la subscripción e indicaremos el URL del alimentador.
  • 66. EJERCICIO Crear una instancia del módulo Presentación de la suscripción en la página inicial para mostrar las noticias de economía de El País.
  • 67. Nuestro sitio como fuente de sindicación (mod_syndicate) Cada página de nuestro sitio que muestre contenidos (artículos) puede ofrecer información fuente para agregadores u otros sitios con sólo incluir en ella una instancia del módulo Subscripción de noticias. Este módulo admite los estándares RSS y Atom y, por convenido, suele ubicarse en el marcador de posición syndicate de la plantilla (que, por lo general, está en la zona inferior). Nótese que ese módulo genera el feed a partir del contenido de la página en la que se encuentra. Por ejemplo, si la página muestra una categoría concreta, el feed sólo contendrá los artículos de esa categoría.
  • 68. EJERCICIO Crear 2 categorías en la sección Noticias llamadas Cursos y Recursos. Escribir un artículo de ejemplo en cada una de ellas. Crear un ítem en el menú secundario para cada una de estas categorías. Incluir el módulo Subscripción de noticias (mod_syndicate) sólo en las páginas de estas dos categorías.
  • 69. Búsquedas Disponemos de un componente y de un módulo de búsquedas: El componente Search El módulo mod_search
  • 70. El componente Search El componente Search se crea directamente a través de un ítem de menú, y entre sus características cabe destacar: La posibilidad de permitir elegir al usuario dónde quiere buscar (artículos, contactos, categorías, suscripciones de noticias, …) mediante el parámetro básico Usar las áreas de búsqueda A través de Componentes> Búsqueda podemos ver la estadística de las búsquedas realizadas en nuestro sitio por los usuarios. Estas estadísticas se activan mediante Preferencias> Buscar las estadísticas de búsqueda. Busca dentro de los metadata de los artículos, pero no dentro de los artículos de las subscripciones de noticias.
  • 71. El módulo mod_search El módulo actúa en realidad como un vínculo al componente, con la ventaja de que podemos mostrarlo (por ser un módulo) en las páginas que queramos. Para crear un módulo de este tipo recurriremos a Extensiones> Administrador de módulos> Crear nuevo> Buscar. Por supuesto, las búsquedas realizadas a través de este módulo también se reflejan en Preferencias> Buscar las estadísticas de búsqueda.
  • 72. EJERCICIO Crear un ítem de menú vinculado al componente Buscar. Crear un módulo de búsqueda que se muestre sólo en algunas páginas.
  • 73. 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 módulo mod_poll. Los resultados de las encuestas están disponibles a través del propio componente, de modo que podemos acceder a ellos a través de un ítem de menú. El módulo puede tener un nivel de acceso restringido y, sin embargo, los resultados (mostrados a través de un ítem de menú) pueden ser de acceso público. Aunque el componente Encuestas permite establecer un Intervalo de tiempo entre votos desde un mismo ordenador, este sistema está basado en cookies y es fácilmente esquivable.
  • 74. EJERCICIO Crear dos encuestas y publicarlas sólo en la página principal mediante sus respectivos módulos. Configurar estos módulos para que tengan acceso especial. Crear un ítem de menú que permita acceder a los resultados de las encuestas públicamente.
  • 75. Enlaces Web Podemos incluir en nuestro sitio Joomla! una colección de enlaces web clasificados en categorías. Las categorías y los enlaces se administran a través de Componentes> Enlaces web. Este componente nos permite generar ítems de menú para mostrar La lista de categorías Los enlaces que forman parte de una categoría El formulario para proponer nuevos enlaces. Este formulario sólo es accesible para los usuarios especiales (no anónimos ni registrados). Los enlaces propuestos se aprueban automáticamente, aunque se envía un mail al administrador para que pueda verificarlos.
  • 76. EJERCICIO Crear 2 categorías de enlaces web, una de acceso público y otra de acceso especial. Crear un ítem de menú que permita acceder a la lista de categorías. Crear 2 sub-ítems de menú, dentro del anterior, que permitan acceder a cada una de las categorías. ¿Qué nivel de acceso deberían tener estos sub- item? Crear un tercer sub-ítem de menú que permita proponer nuevos enlaces. ¿Qué nivel de acceso debería tener este sub-item?
  • 77. Contactos Joomla! nos permite mantener una agenda de contactos clasificados en categorías. La creación/edición de los contactos sólo es posible a través del back-end mediante Componentes> Administrador de contactos. Las categorías y los propios contactos pueden tener su propio nivel de acceso. Mediante ítems de menú podemos mostrar la lista de categorías 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 también su información de contacto.
  • 78. EJERCICIO Crear 2 categorías de contactos: Amigos y Clientes. Crear varios contactos en cada una de estas categorías. Crear ítems de menú que permitan acceder a la lista de categorías y a un contacto concreto. ¿Pueden crearse nuevos contactos desde el front-end?
  • 79. Banners Joomla! nos ofrece un potente gestor de anuncios basado en clientes/categorías/banners. Los banners son imágenes que debemos almacenar mediante el Administrador multimedia en /images/banners. Los banners pueden tener un número de impresiones concreto o ilimitado. Automáticamente se mantiene un registro del número de impresiones y del número de clics. Opcionalmente, a través 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 módulo de tipo banner. Este módulo puede mostrar los banners aleatoriamente, ordenadamente o según el contenido de la propia página.
  • 80. Banners: categorías y clientes Cada Banner debe tener: Una categoría Un cliente Una imagen Las categorías no son dependientes de los clientes ni viceversa. Las categorías nos permiten establecer niveles de acceso, pues los banners en sí no ofrecen esta posibilidad. Las categorías se gestionan mediante Componentes> Banner> Categorías. Los clientes son básicamente una base de datos de contactos para nuestro uso particular. Se gestionan mediante Componentes> Banner> Clientes.
  • 81. Banners: Crear un banner El banner en sí suele ser una imagen de 468x60 píxeles 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 página. Los banners tienen un orden, que puede elegirse como criterio en el momento de visualizarlos en la página, aunque también se pueden mostrar aleatoriamente. Es fundamental indicar el destino del banner mediante la opción URL al hacer clic. El número de impresiones del banner puede ser ilimitado o especificarse mediante Clics comprados. Al alcanzar el límite, el banner dejará automáticamente de estar publicado. Además, los banners pueden tener asociadas etiquetas, de modo que sólo se muestren cuando en la página que está viendo el usuario haya un artículo que contenga alguna de esas etiquetas entre sus palabras clave (no busca en la descripción).
  • 82. Banners: Mostrar los banners La gestión de los banners se realiza a través del componente, como hemos explicado anteriormente, pero su visualización está encargada al módulo mod_banners. Algunos parámetros interesantes de este módulo son: Destino: Dónde se mostrará la URL asociada la banner si el usuarios hiciera clic sobre él. Cantidad: Número de banners a mostrar; siempre aparecerán en primer lugar los destacados. Clientes y Categorías: Permite filtrar los banners para que sólo se muestren los de un determinado cliente o categoría. Buscar por etiquetas: Sólo se mostrarán los banners cuyas etiquetas coincidan con alguna de las palabras clave del artículo que contiene la página. Aleatorio: Dentro de los banners destacados, podemos elegir mostrarlos ordenados o aleatoriamente. Generalmente el módulo mod_banners se configura para ser mostrado en todas las páginas, pues hay artículos que no tienen un ítem de menú específico, sino que se llega a ellos a través de categorías/secciones o búsquedas.
  • 83. Banners: Registro de impresiones y clics Mediante el botón 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 estadísticas se almacenan en la tabla jos_bannertrack.
  • 84. EJERCICIO Crear un artículo que tenga como palabra clave quot;joomlaquot;. Crear 2 clientes de banners llamados quot;Cliente 1quot; y quot;Cliente 2quot; Crear 2 categorías de banners llamadas quot;Categoría 1quot; y quot;Categoría 2quot; Crear 2 banners, uno asociado al cliente 1 y a la categoría 1, y otro asociado al cliente 2 y a la categoría 2. Realizar distintas pruebas con el módulo, 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.
  • 85. Módulo Contenido archivado Este módulo muestra una lista con formato mes, año que nos permite acceder a los artículos archivados. La longitud de esta lista está controlada por el parámetro Cantidad. Por supuesto, siempre se muestra del más reciente al más antiguo. Para archivar artículos tendríamos que seleccionarlos en Contenidos> Administrador de artículos y pulsar el botón Archivar. Los artículos archivados no se pueden editar ni se incluyen en las búsquedas. Los artículos archivados se pueden restaurar con el botón Restaurar. Nota: También existe el componente Lista de artículos archivados que ofrece muchos más criterios de ordenación.
  • 86. EJERCICIO Archivar varios artículos, modificando su fecha de creación para que correspondan a meses diferentes. Incluir el módulo Contenido archivado y comprobar su funcionamiento. Crear un ítem de menú que conduzca a una página de contenidos archivados.
  • 87. Módulo Ruta de acceso Muestra el quot;camino de migasquot; (bread crumbs) a través de los ítems de menús. Puede producir resultados duplicados en caso de utilizar ítems de menús anidados dentro del ítem que conduce a la página inicial. El separados predeterminado es >>, pero podemos elegir cualquier otro. Este módulo suele incluirse en la sección breadcrumb de la plantilla.
  • 88. Módulo Últimas publicaciones Muestra los últimos artículos publicados y asignados a alguna sección/categorías. Esta lista tiene en cuenta el nivel de acceso de la sección/categoría y del propio artículo. Algunos parámetros de interés: Cantidad: Cuántos artículos 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 artículos publicados que no son suyos. ID: Permite especificar un ID concreto de sección y/o categoría para que sean las únicas tenidas en cuenta para la elaboración de la lista. Estos ID están disponibles en el administrador de secciones/categorías.
  • 89. EJERCICIO Cuando un usuario inicie su sesión, redirigirlo a una página en la que se le ofrezca la posibilidad de modificar sus datos de usuario y además 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> Diseño del formulario del usuario, y recurrir al parámetro URL de redireccionamiento de inicio de sesión del módulo login para enviar al usuario a la página de ese menú. Copie el enlace de esta página e intente acceder como usuario anónimo. ¿Qué problema se produce si pulsa el botón Guardar?¿cómo podría evitarlo?
  • 90. Módulo Destacadas Muestra uno o más artículos de la categoría que seleccionemos. El artículo puede elegirse al azar o mostrarse todos los de la categoría en horizontal o vertical. También podemos limitar el número de artículos a mostrar. Puede resultar útil tener una categoría para noticias de estilo quot;post-itquot;, es decir, breves pero importantes, y mostrarlas en la columna derecha de la página principal.
  • 91. EJERCICIO Crear una categoría de artículos llamada postit e incluir en ella varias noticias breves. Configurar un módulo para que se muestren todas estas noticias verticalmente en la columna derecha de la página principal, sin el título del artículo, sin los títulos enlazados, y sin la posibilidad de leer más allá del preámbulo.
  • 92. Módulo 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 módulo. Nos permite especificar el tamaño máximo de las imágenes, y también un URL de redireccionamiento al hacer clic sobre la imagen. El URL de la carpeta es siempre relativo a la carpeta raíz de Joomla!. Por ejemplo, /images/stories.
  • 93. EJERCICIO Mediante el administrador multimedia, crear una carpeta llamada MisFotos (dentro de images) e incluir en ella varias imágenes (por ejemplo, de National Geographics). Configurar el módulo Imagen aleatoria para que muestre imágenes al azar de esta carpeta y, en caso de hacer clic sobre alguna de ellas, dirija al usuario a la página de National Geographics.
  • 94. Módulo Quién está en línea Permite mostrar el número de usuarios registrados y anónimos que están visitando el sitio, o sólo el nombre de los usuarios registrados que están visitando el sitio, o ambos. Si vamos a mostrar el nombre de los usuarios quizás sea aconsejable asignar a este módulo el nivel de acceso, al menos, registrado.
  • 95. EJERCICIO Configurar un módulo Quién está en línea que muestre los nombres de los usuarios que están visitando el sitio, pero sólo a los usuarios con nivel registrado o superior.
  • 96. Módulo HTML personalizado Este módulo puede resultar útil cuando queremos mostrar información estática (texto e imágenes) en alguna página de nuestro sitio, aprovechando los elementos HTML.
  • 97. Módulo Pie de página Este módulo simplemente muestra la información de copyright de Joomla! junto con el nombre de nuestro sitio web.
  • 98. Módulo Contenido más leído Este módulo muestra la lista de los artículos que han tenido más accesos. El número de accesos puede consultarse en la columna Clics de Administrador de contenidos. Mediante los parámetros de este módulo podemos establecer la longitud de la lista y si queremos incluir en ella también los artículos configurados para mostrarse en la página inicial, pero lo más importante es que podemos filtrar las secciones y categorías que se tendrán en cuenta a través de su ID. Este ID puede consultarse Administrador de secciones y Administrador de categorías. Si desea filtrar varias secciones/categorías, escriba sus números separados por comas.
  • 99. EJERCICIO Configurar un módulo de tipo Contenido más leído para que muestre los títulos de los artículos más leídos de dos categorías (que identificaremos mediante sus ID separados por comas).
  • 100. Módulo Items relacionados Cuando accedemos a una página en la que se muestra un artículo, este módulo localiza los títulos de todos los demás artículos que pudieran compartir alguna palabra clave (dentro de los meta datos) con él, y los muestra en una lista. El único parámetro de este módulo relevante es el que permite mostrar la fecha junto a los títulos de los artículos.
  • 101. EJERCICIO Crear 3 artículos que compartan una misma palabra clave. Crear un ítem de menú que permita acceder a uno de estos artículos. Insertar un módulo de tipo Items relacionados que se muestre en todas las páginas, configurado para aparecer en la posición footer e indicando la fecha de los artículos relacionados.
  • 102. Módulo Secciones Muestra una lista de las secciones disponibles en nuestro sitio web. Aunque existe un parámetro llamado Mostrar enlaces no autorizados que podría mostrar incluso las secciones a las que el usuario no tiene acceso por su nivel de privilegios, esta opción aún no está implementada. Podemos determinar la longitud de la lista, que aparece ordenada según el ID de las secciones.
  • 103. Módulo Wrapper Este módulo crea un intraframe (iframe), es decir, un marco capaz de mostrar otra página web dentro de nuestro sitio. Para configurar este módulo deberemos indicar el URL de la página que queremos mostrar.
  • 104. EJERCICIO Crear un módulo de tipo Wrapper con 500 píxeles de altura y cuya URL sea www.villatic.org/carpetaJuanfe/campoMinas/ campoMinas.html
  • 105. Mensajería interna del back-end Es importante que los usuarios del back-end mantengan un vínculo estrecho entre sí para facilitar las tareas de administración, especialmente en sitios muy complejos. Con este objetivo Joomla! nos ofrece un sistema de mensajería 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 botón Crear. Los super-administradores también pueden acceder a este sistema mediante las opciones Leer los mensajes y Escribir un mensaje del menú Herramientas. A través de este sistema el super-administrador recibe una notificación cada vez que algún usuario especial envía un artículo (sin embargo, las notificaciones de envío de enlaces web (que no requieren aprobación) se notifican al administrador a través del correo externo). Si lo deseamos, podemos solicitar también que se nos notifiquen por e-mail externo los mensajes que recibamos en el correo interno; para ello recurriremos al botón Preferencias.
  • 106. EJERCICIO Enviar un mensaje interno desde el manager al super-administrador y que éste lo conteste. Configurar la notificación de mensajes internos a través de e-mail externo para el super-administrador.
  • 107. 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 opción está disponible a través de Herramientas> Correo masivo. Suele ser aconsejable mantener activada la casilla Recipients as BCC, pues de otro modo se revelarían la direcciones de correo electrónico a todos los destinatarios.
  • 108. Ampliar Joomla! Para ampliar las posibilidades de Joomla! podemos instalar extensiones, que pueden ser de varios tipos: Componentes Módulos 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 1. ZIP) de la extensión que queremos instalar. Seleccionamos Extensiones> Instalar/Desinstalar. 2. Pulsamos el botón Examinar para seleccionar el archivo 3. comprimido. Pulsamos el botón Subir archivo & instalar. 4.
  • 109. yvComment: Comentarios yvComment es una extensión que permite a los usuarios comentar los artículos publicados en Joomla!, de modo que adquirimos así una de las principales características de los blogs. Esta extensión es muy interesante porque ilustra cómo pueden aprovecharse los componentes intrínsecos de Joomla! para obtener nuevas funcionalidades; en este caso, los comentarios se almacenan como artículos de una sección y categoría concreta.
  • 110. yvComment: Obtención La versión que vamos a utilizar es la 1.15, y está compuesta por un componente, un plug- in 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
  • 111. yvComment: Preparativos previos a la instalación Antes de instalar yvComment debemos crear una sección y una categoría dentro de ella para indicar al programa que almacene en ella los comentarios. Por ejemplo, crear la sección Comentarios y, dentro de ella, la categoría Comentarios. Si queremos permitir que los usuarios anónimos puedan comentar noticias tendremos que crear un usuario nuevo con nivel de autor (por ejemplo, comentarioAnonimo), que figurará como remitente de todos los comentarios anónimos.
  • 112. yvComment: Instalación 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 instantáneamente al castellano.
  • 113. yvComment: Configuración básica El componente meramente ofrece una lista de todos los comentarios. Toda la configuración de yvComment se realiza a través de su plug-in Extensiones> Administrador de plug-ins> yvcomment Los parámetros fundamentales que debemos configurar son: Utilizar tabla de contenido 'Content': Sí Sección para comentarios Categoría para los comentarios Además, por supuesto, debemos activar el plug-in.
  • 114. yvComment: Configurar la presentación y el acceso a los comentarios Usar archivo CSS influye sobre el aspecto de presentación de los comentarios. Enlazar el texto 'Comentarios(n)'… controla cómo se gestionan los comentarios en las páginas que muestran artículos en forma de blog: No: Muestra el número de comentarios. Página de artículo con comentarios: Convierte el número de comentarios en un enlace, o muestra el enlace agrega tu comentario si no hay ninguno previo. Comentarios de un artículo: Igual que la opción anterior (pero también afecta al primer artículo de la página). Ocultar: No muestra ninguna información referente a los enlaces. Nombre del autor enlazable: Vincula el nombre del autor a la página web que tengamos registrada para él en los contactos.
  • 115. 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 máxima del comentarios, y el tiempo mínimo entre comentarios de un mismo usuario para cualquier artículo.
  • 116. yvComment: Gestionar los comentarios anónimos Nombre de usuario de Visitante debe ser el usuario que configuramos como autor en los preparativos previos a la instalación. La opción Verificar nombre de visitante impide que se utilice un nombre parecido al de algún miembro registrado de Joomla! Si los comentarios no se publican automáticamente, tendrán el mismo tratamiento que un artículo cualquiera, es decir, deberán ser aprobados por un jefe o superior. La gestión 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, …)
  • 117. yvComment: Combatir el spam yvComment nos permite solicitar una cadena de caracteres inaccesible a los robots antes de admitir los comentarios procedentes de usuarios anónimos. No obstante, esta funcionalidad se apoya en un plug-in llamado Bigo Captcha, que deberemos instalar y activar. Su único parámetro de configuración es la longitud de la cadena de seguridad.
  • 118. 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 parámetro Enable Smiley replacement for the whole page y desactivando su parámetro Enable Smileys for the texto of articles.
  • 119. yvComment: Notificación 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 artículos (inferiores a jefes). La lista de usuarios debe separarse mediante comas.
  • 120. yvComment: Vistas de comentarios El componente yvComment nos ofrece dos vistas para items de menús: Comentarios de un artículo: Muestra todos los comentarios de un artículo y permite añadir nuevos, pero no editar los existentes. Lista de comentarios: Muestra los comentarios de una sección y/o categoría permitiendo a los usuarios con privilegios suficientes modificarlos.
  • 121. Attachments: Adjuntar archivos a los artículos Esta extensión permite adjuntar archivos a los artículos. 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.
  • 122. Attachments: Configuración La configuración de esta extensión se realiza a través de Componentes> Archivos adjuntos> Preferencias: Podemos decidir quién puede ver y quién puede agregar archivos adjuntos. Generalmente sólo interesa que el propio autor pueda adjuntar nuevos archivos. Podemos configurar que los archivos adjuntos se publiquen automáticamente, si no deberán ser aprobados desde el back- end. Podemos elegir la carpeta en la que se almacenarán los archivos adjuntos, y solicitar que se almacenen con un prefijo que coincida con el id del artículo. Existe un modo de descarga segura que impide accesos directos a los archivos; sólo se podrá acceder a través de nuestro sitio una vez indicadas las credenciales. Podemos ocultar los archivos adjuntos de ciertas secciones/categorías con el formato (idSección/idCategoría) y separados por comas.
  • 123. Attachments: Utilización No se pueden adjuntar archivos en el mismo momento de la creación de un artículo; sólo podremos hacerlo después de guardarlo mediante dos métodos: Editando el artículo y utilizando el botón Agregar un archivo adjunto, que aparece junto a Imagen, Salto de página, … Utilizando el enlace Agregar un archivo adjunto que se muestra al visualizar el artículo independientemente o en formato de blog.
  • 124. Remository: Gestor de descargas Remository es un componente que nos permite configurar un gestor de descargas con las siguientes características: Contenedores o carpetas configurables. Edición de roles para subir/descargar/modificar descargas. Gestor de grupos. Filtrado de archivos para que sólo se puedan subir ciertas extensiones. No es necesario crear un ítem de menú, pues se crea automáticamente durante la instalación.
  • 125. Remository: Configuración Componentes> Remository> Configuration donde las fichas más importantes son: Permisos: Aquí podemos establecer las extensiones de los archivos admitidos, si las subidas se autopublicarán, … Download text: Nos permite eliminar la publicidad de Google.
  • 126. 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.
  • 127. Remository: Contenedores Los contenedores son una jerarquía 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.
  • 128. Remository: Aprobación y publicación de descargas Por defecto, el administrador deberá aprobar las descargas propuestas por los usuarios a través de Approve uploads (aunque mediante la configuración de permisos podemos establecer que las descargas propuestas por usuarios registrados se aprueben y publiquen automáticamente). Las descargas aprobadas pueden publicarse o despublicarse mediante Manage files. Manage files también nos permite crear automáticamente nuevas descargas con archivos subidos desde nuestro propio ordenador o remotos.
  • 129. Remository: Valoración y comentarios de descargas Remository permite a los usuarios puntuar y comentar las descargas (aunque puede evitarse mediante la configuración de permisos). Las votaciones pueden consultarse mediante Statistics, que nos muestra las 5 descargas más solicitadas, las 5 mejor valoradas y las 5 que más han sido votadas (independientemente de si los votos fueran positivos o negativos). Los comentarios de las descargas pueden borrarse mediante Manage files.
  • 130. JEvents: Calendarios y eventos JEvents es un potente gestor de agenda/calendario/eventos. Los eventos deben clasificarse en categorías y disponen de múltiples opciones de repetición. JEvents es básicamente un componente, aunque también ofrece módulos e incluso plug-ins muy interesantes.
  • 131. JEvents: Componente y módulos Instalaremos el componente y los 4 módulos siguientes: mod_events_cal: Permite mostrar un calendario mensual en miniatura. mod_events_latest: Muestra los eventos próximos (posteriores o anteriores, según configuración) a la fecha actual. mod_events_legend: Muestra la relación entre categorías y colores. mod_events_switchview: Permite elegir entre varios estilos de calendario diferentes.
  • 132. JEvents: Instalación Tras instalar el componente y los módulos: Crear una categoría de eventos mediante Componentes> JEvents> Manage categories. Obsérvese que las categorías pueden anidarse unas dentro de otras y que admiten un color identificativo. Publicar la categoría. En el Cpanel de JEvents, dentro de la ficha derecha Setup, hacer clic sobre los 2 vínculos siguientes: Migrate admin menus and update databases Migrate all events to icalEvents
  • 133. JEvents: Configuración del componente_ Component1 La configuración del componente y de algunos aspectos de los módulos se realiza seleccionando Configuration en el cPanel. Email del admin en el que le serán notificados los nuevos eventos pendientes de aprobación. Quién tiene acceso al componente Quién puede enviar eventos desde el front-end Formato de la fecha: Continental en nuestro caso
  • 134. JEvents: Configuración del componente_ Component2 Los parámetros de esta ficha controlan el aspecto del calendario: Años extremos (máximo y mínimo) Vista inicial del componente (mensual, semanal, anual, …) La información que debe mostrarse en el detalle de los eventos, es decir, al hacer clic sobre un evento (número de accesos, email, …)
  • 135. JEvents: Configuración del módulo Calendar El módulo Calendar muestra una vista en miniatura del mes actual. Este módulo puede configurarse desde el propio Administrador de módulos (por ejemplo, aquí podremos indicar que se muestren sólo los eventos de ciertas categorías) o desde la ficha Calendar del componente. Los parámetros de configuración disponibles en el componente permiten establecer los límites para que se muestren los meses anteriores y posterior, de modo que el módulo podría llegar a mostrar hasta 3 meses.
  • 136. JEvents: Configuración del módulo Latest Events Dispone de opciones de configuración en el componente y en el módulo: En el componente podemos establecer principalmente el número de eventos y el modo (si se rellenan las plazas disponibles con eventos ya pasados, y hasta qué fecha) Los parámetros del módulo permiten filtrar las categorías o particularizar los parámetros establecidos en el componente.
  • 137. JEvents: Configuración de los tooltips La ficha Tooltip de la configuración del módulo ofrece parámetros sobre el aspecto de los tooltips que aparecen al colocar el puntero sobre una fecha que contiene eventos. Posición Sombra
  • 138. JEvents: Configuración del módulo mod_events_legend Este módulo sólo tiene sentido cuando se muestra en una página asociada al componente JEvents; en cualquier otra página mostrará un mensaje de aviso.
  • 139. JEvents: Gestión de eventos En sus versiones anteriores, JEvents utilizaba un formato propio para almacenar los eventos; sin embargo, ahora quiere sumarse al estándar iCalendar, de modo que es conveniente que sólo creemos eventos de este tipo y que los gestionemos mediante Manage iCAL events. Los eventos no se publican automáticamente
  • 140. JEvents: El módulo Events View Switcher Este módulo simplemente sirve para alterar el aspecto visual del componente en sí, y de todos los módulos que dependen de él.
  • 141. SlimBox plug-in para Joomla 1.5 Este plug-in permite mostrar versiones ampliadas de las imágenes de un modo muy atractivo. Las versiones en miniatura y a tamaño completo de las imágenes deberemos crearlas y subirlas nosotros mismos. La sintaxis es {slimbox a1;a2;a4;…} donde a1, a2, a3, … son ternas con el formato imagen a tamaño completo, imagen en miniatura, título. Las rutas de las imágenes están referidas a la carpeta raíz de Joomla!. Para que sólo se muestre la primera miniatura podemos utilizar {slimboxsingle …}
  • 142. EasyTube plug-in Este plug-in nos permite insertar fácilmente en nuestros artículos vídeos de YouTube y GoogleVideo. Su sintaxis es: [youtube:url_del_video ancho alto] [googlevideo:url_del_video ancho alto]
  • 143. Plantillas: Instalación y gestión Las plantillas son las responsables del aspecto con que se muestra nuestro sitio Joomla! Se instalan a través de Extensiones> Instalar/Desinstalar Se gestionan mediante Extensiones> Administrador de plantillas El back-end y el front-end pueden utilizar plantillas diferentes. Además, cada página de nuestro sitio también puede usar un plantilla diferente. Existe una plantilla predeterminada, que será la que se aplique en las páginas para las que no se haya especificado una plantilla concreta.
  • 144. Plantillas: Edición Al editar una plantilla podemos: Asignársela a items de menú concretos. Modificar sus parámetros de configuración, si los ofreciera. Previsualizarla para ver su aspecto e identificar los contenedores de posición para módulos y su estilo. Los estilos determinan cómo se muestran los módulos y son: none outline table horz rounded xhtml Modificar el código (HTML y CSS) de la plantilla.
  • 145. 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 posición para módulos.
  • 146. 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 imágenes que se utilizan en los archivos css html: Contiene los archivos necesarios para definir estilos de presentación de módulos personalizados. javascript: Algunas plantillas utilizan esta carpeta para almacenar sus guiones javaScript.
  • 147. Plantillas: Los archivos fundamentales templateDetails.xml: Contiene toda la información referente a la plantilla. Esta información se utiliza, por ejemplo, durante la instalación, para permitir al usuario seleccionar las posiciones de los módulos o para definir los parámetros de configuración de la propia plantilla. index.php: Establece la estructura de la plantilla, es decir, configura los contenedores en los que se mostrarán los componentes y módulos. template.css: Establece el aspecto de la plantilla. params.ini: En este archivo se almacenan los valores configurados para los parámetros 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.
  • 148. Plantillas: templateDetails.xml <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> Este archivo debe <!DOCTYPE install PUBLIC quot;-//Joomla! 1.5//DTD template 1.0//ENquot; encontrarse en la quot;http://dev.joomla.org/xml/1.5/template-install.dtdquot;> <install version=quot;1.5quot; type=quot;templatequot;> carpeta raíz de la <name>rhuk_milkyway</name> plantilla y el valor de <creationDate>11/20/06</creationDate> <author>Andy Miller</author> name se utiliza para <authorEmail>rhuk@rockettheme.com.com</authorEmail> <authorUrl>http://www.rockettheme.com</authorUrl> crear la carpeta de la <copyright></copyright> plantilla durante la <license>GNU/GPL</license> <version>1.0.2</version> instalación. <description>Descripción</description> Sus secciones <files> principales son: </files> files <positions> </positions> positions <params> params </params> </install>
  • 149. Plantillas: templateDetails.xml, la sección <files> <files> En esta sección <filename>index.php</filename> deberemos <filename>templateDetails.xml</filename> <filename>template_thumbnail.png</filename> referenciar todos los <filename>params.ini</filename> archivos de los que <filename>images/arrow.png</filename> <filename>images/indent1.png</filename> hace uso la plantilla, incluido el propio templateDetails.xml, añadiendo sus rutas de acceso relativas.
  • 150. Plantillas: templateDetails.xml, la sección <positions> <positions> En esta sección se recogen los <position>breadcrumb</position> nombres de los contenedores de posición entre los que podrá <position>left</position> elegir el usuario para colocar <position>right</position> sus módulos. <position>top</position> Estos nombres deben coincidir <position>user1</position> exactamente con los que se <position>user2</position> crearán en el archivo index.php <position>user3</position> de la plantilla. <position>user4</position> Si el archivo index.php <position>footer</position> contiene posiciones no <position>debug</position> incluidas en esta sección, el <position>syndicate</position> usuario no podrá elegirlas en el </positions> cuadro de lista desplegable de posicionamiento de los módulos y tendrá que escribir su nombre manualmente.
  • 151. Plantillas: templateDetails.xml, la sección <params> En esta sección podemos definir parámetros de configuración de la plantilla. Estos parámetros serán configurables por el usuario a través 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 configuración establecida por el usuario se almacena en el archivo params.ini dentro de la carpeta raíz de la plantilla. Este archivo debemos crearlo manualmente y referenciarlo en la sección <files> <params> <param name=quot;colorVariationquot; type=quot;listquot; default=quot;whitequot; label=quot;Color Variationquot; description=quot;Color variation to usequot;> <option value=quot;bluequot;>Blue</option> <option value=quot;redquot;>Red</option> <option value=quot;greenquot;>Green</option> <option value=quot;orangequot;>Orange</option> <option value=quot;blackquot;>Black</option> <option value=quot;whitequot;>White</option> </param> </params>
  • 152. Plantillas: index.php En este archivo se establece la relación jerárquica (en otras palabras, de dependencia) entre las distintas secciones de la plantilla. Generalmente se utilizan elementos <div>, aunque a veces sigue recurriéndose a elementos <table> por su mejor compatibilidad con navegadores antiguos a la hora de colocar elementos con precisión. Para incluir un módulo se utiliza: <jdoc:include type=quot;modulesquot; name=quot;posiciónquot; style=quot;estiloquot; /> Y para incluir el componente se utiliza: <jdoc:include type=quot;componentquot; />
  • 153. Plantillas: template.css En este archivo se determina la posición 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 quién se aplica el estilo una o más declaraciones: definen el aspecto del estilo. Cada declaración 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; }
  • 154. 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 párrafo anidado directamente dentro de div) Descendiente directo: div>p (cualquier párrafo anidado inmediatamente dentro de un div) Adyacente: div+p (cualquier párrafo posterior a un div) Grupo: div, p (cualquier div y cualquier párrafo)
  • 156. Una plantilla básica Vamos a crear una plantilla muy sencilla llamada plantilla_basica. Cree la siguiente jerarquía de carpetas: plantilla_basica dentro de templates images dentro de plantilla_basica css dentro de plantilla_basica
  • 157. Una plantilla básica: 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>
  • 158. Una plantilla básica: templateDetails.xml (I) Cree un archivo llamado templateDetails.xml dentro de la carpeta plantilla_basica con el siguiente contenido: <install version=quot;1.5quot; type=quot;templatequot;> <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>
  • 159. Una plantilla básica: index.php (II) <?php defined( '_JEXEC' ) or die( 'No eres bien recibido' ); ?> <html> <head> <jdoc:include type=quot;headquot; /> </head> <body> </body> </html>
  • 160. Una plantilla básica: EJERCICIO Comprobar que la plantilla se muestra en Administrador de plantillas Asignar la plantilla a un ítem de menú cuyo destino sea un artículo concreto Especificar los metadatos del artículo Acceder al artículo. Aparentemente la página está en blanco. Acceder al código fuente de la página: Se mostrarán los metadatos del artículo junto con otra información.
  • 161. Una plantilla básica: 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 información de cabecera (metadatos) message: incluye mensajes del sistema y de error module: incluye un módulo concreto al que identificaremos por su nombre mediante el atributo adicional name modules: incluye todos los módulos que estén asignados a la posición que especifiquemos mediante el atributo adicional name
  • 162. Una plantilla básica: index.php (III) Compruebe que al introducir la siguiente modificación sí aparece el componente: <?php defined( '_JEXEC' ) or die( 'No eres bien recibido' ); ?> <html> <head> <jdoc:include type=quot;headquot; /> </head> <body> <jdoc:include type=quot;componentquot; /> </body> </html>
  • 163. Una plantilla básica: index.php (IV) Compruebe que al introducir la siguiente modificación aparecen los módulos debajo del componente; recuerde que el archivo index.php establece la jerarquía, mientras que el archivo template.css establece la posición/aspecto: … <body> <div id=quot;logoquot;></div> <div id=quot;col_principalquot;> <jdoc:include type=quot;componentquot; /> </div> <div id=quot;col_izquierdaquot;> <jdoc:include type=quot;modulesquot; name=quot;leftquot; /> </div> </body> …
  • 164. Una plantilla básica: 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 página ¿por qué?... #col_principal{ width: 60%; float: right; border: solid black 2px; } #col_izquierda{ width: 35%; float: right; }
  • 165. Una plantilla básica: index.php (V) … porque debemos vincular la hoja de estilos css con el archivo de la plantilla index.php … <head> <jdoc:include type=quot;headquot; /> <link rel=quot;stylesheetquot; href=quot;<?php echo $this- >baseurl ?>/templates/<?php echo $this- >template; ?>/css/template.cssquot; type=quot;text/cssquot; /> </head> …
  • 166. Una plantilla básica: $this $this es una variable que hace referencia a la página 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 página title: Título de la página (no de la plantilla) description: Descripción de la página language: Idioma de la página baseurl: URL de la página.
  • 167. Una plantilla básica: 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 píxeles: #logo{ width: 100%; height: 100px; background: url(../images/logo.png) center top no-repeat; } #col_principal{ width: 60%; float: right; border: solid black 2px; } …
  • 168. Una plantilla básica: estilos estándar para los módulos (I) none: No crea ningún contenedor. No muestra el título de los módulos nunca. table: Presenta el módulo dentro de un table de clase .moduletable, e incluye su título en un elemento th. horz: Igual que table, pero anidado a su vez en otro table con width=100% xhtml: Presenta el módulo dentro de un div de clase .moduletable, e incluye su título en un elemento h3. rounded: El contenido del módulo se anida sucesivamente en 4 elementos div para permitir insertar las imágenes de las esquinas. El div más externo usa module como nombre de clase. El título se incluye en un elemento h3. outline: Sólo se utiliza para previsualizar la información de los contenedores de posición.
  • 169. Una plantilla básica: estilos estándar para los módulos (II) Cambie en index.php el estilo de la columna izquierda a xhtml: <div id=quot;col_izquierdaquot;> <jdoc:include type=quot;modulesquot; name=quot;leftquot; style=quot;xhtmlquot;/> </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; }
  • 170. Una plantilla básica: Sufijo de clase del módulo (I) Entre los parámetros avanzados de los módulos contamos con Sufijo de clase del módulo. Este sufijo se añade al nombre de la clase utilizado por el estilo de presentación del contenedor del módulo. Por ejemplo, si utilizamos el estilo xhtml para mostrar un módulo que usa el sufijo _menu, el nombre de clase del div no será simplemente moduletable, sino moduletable_menu
  • 171. Una plantilla básica: Sufijo de clase del módulo (II) Configure alguno de los módulos de la columna izquierda para que use como sufijo _menu, modifique el estilo que teníamos del h3 para que aplique también 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; }
  • 172. Una plantilla básica: EJERCICIO Averigüe cómo se muestran los menús. Cree un estilo que elimine el boliche de los menús. 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 menús a amarillo cuando se coloque el puntero del ratón sobre ellos.
  • 173. Una plantilla básica: SOLUCIÓN 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; }
  • 174. Una plantilla básica: menús redondeados (I) Configuramos la columna izquierda para que use el estilo rounded en lugar de xhtml. <div id=quot;col_izquierdaquot;> <jdoc:include type=quot;modulesquot; name=quot;leftquot; style=quot;roundedquot;/> </div> Incluimos el selector div.module en el estilo que ya teníamos de div.moduletable y también 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;
  • 175. Una plantilla básica: menús redondeados (II) Creamos los estilos correspondientes a los cuatro div de module_menu, teniendo en cuenta el solapamiento de las imágenes 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 no- repeat; }
  • 176. Una plantilla básica: Favicon Crear una imagen de 16x16 píxeles, 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=quot;headquot; /> <link rel=quot;shortcut iconquot; href=quot;<?php echo $this- >baseurl ?>/templates/<?php echo $this- >template; ?>/images/favicon.icoquot; />
  • 177. Una plantilla básica: un menú de lengüetas (I) Empezaremos creando una nueva sección entre el logo y las columnas <div id=quot;logoquot;></div> <div id=quot;user3quot;> <jdoc:include type=quot;modulesquot; name=quot;user3quot;/> </div> y definimos su estilo para que se muestre centrado #user3{ width: 650px; position: relative; left: 50%; margin-left: -325px; }
  • 178. Una plantilla básica: un menú de lengüetas (II) Definimos estilos específicos para los elementos de lista de esta nueva posición. La imagen de la lengüeta mide 100x30 píxeles #user3 ul{ text-align: center; } #user3 li{ float: left; width: 100px; height: 30px; background: url(../images/lengueta.png) no-repeat; padding-top: 5px; }
  • 179. Una plantilla básica: un menú de lengüetas (III) #user3 li a{ color: blue; background: transparent; height: 30px; border: 0px; } #user3 li a:hover{ color: navy; }
  • 180. Una plantilla básica: un menú de lengüetas (IV) Y creamos una división bajo el menú que no admita elementos flotantes a ninguno de sus lados <div id=quot;user3quot;> <jdoc:include type=quot;modulesquot; name=quot;user3quot;/> </div> <div class=quot;separadorHorizontalquot;></div> con su correspondiente estilo: .separadorHorizontal{ clear: both; width: 100%; }
  • 181. Una plantilla básica: Tercera columna opcional (I) Supongamos que queremos disponer de una columna 'right' pero que sólo se muestre cuando realmente tenga módulos asignados. En caso de mostrarse tendríamos que reconfigurar los anchos de las 3 columnas, por ejemplo: col_izquierda: 20% col_principal: 55% col_derecha: 20%
  • 182. Una plantilla básica: Tercera columna opcional (II) Recurriremos al método $this- >countModules('right') para saber si hay módulos a la derecha o no, mostrando la columna sólo cuando sea necesario. <div class=quot;separadorHorizontalquot;></div> <?php if($this->countModules('right')): ?> <div id=quot;col_derechaquot;> <jdoc:include type=quot;modulesquot; name=quot;rightquot; style=quot;xhtmlquot;/> </div> <?php endif; ?> <div id=quot;col_principalquot;>
  • 183. Una plantilla básica: 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=quot;col_principal_reducidaquot;> <?php else: ?> <div id=quot;col_principalquot;> <?php endif; ?> <jdoc:include type=quot;componentquot; /> </div> <?php if($this->countModules('right')): ?> <div id=quot;col_izquierda_reducidaquot;> <?php else: ?> <div id=quot;col_izquierdaquot;> <?php endif; ?> <jdoc:include type=quot;modulesquot; name=quot;leftquot; style=quot;roundedquot;/>
  • 184. Una plantilla básica: Tercera columna opcional (IV) Creamos el estilo de la 3ª columna: #col_derecha{ width:20%; float: right; margin: 0; padding: 0; max-width: 400px; }
  • 185. Una plantilla básica: 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; }
  • 186. Una plantilla básica: Parámetros de plantilla (I) Vamos a permitir que el color de fondo del logo se elija mediante un parámetro 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>
  • 187. Una plantilla básica: Parámetros de plantilla (II) La definición del parámetro en el archivo templateDetails.xml es la siguiente: <params> <param name=quot;colorFondoquot; type=quot;listquot; default=quot;azulquot; label=quot;Color de fondoquot; description=quot;Elija un color para el fondo del logotipoquot;> <option value=quot;azulquot;>Azul</option> <option value=quot;rojoquot;>Rojo</option> <option value=quot;verdequot;>Verde</option> </param> </params>
  • 188. Una plantilla básica: Parámetros de plantilla (III) Para que se puedan almacenar los valores de los parámetros configurados por el usuario debemos crear en la raíz de la plantilla un archivo llamado params.ini, e incluirlo en la sección files de templateDetails.xml <filename>index.php</filename> <filename>templateDetails.xml</filename> <filename>params.ini</filename> <filename>css/template.css</filename>
  • 189. Una plantilla básica: Parámetros de plantilla (IV) Modificamos el archivo index.php para que se añada un sufijo a la clase del logo en función del color elegido <body> <div id=quot;logo_<?php echo $this- >params->get('colorFondo'); ?>quot;></div> <div id=quot;user3quot;>
  • 190. Una plantilla básica: Parámetros 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; }
  • 191. 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 configuración inicial de una forma sencilla y rápida
  • 192. Clonar un sitio Joomla! (II) El procedimiento general a seguir sería: Poner en modo Offline el sitio original para impedir que 1. puedan introducirse modificaciones desde el front-end en la bases de datos (por ejemplo, nuevos artículos). Realizar una copia de seguridad de la base de datos. 2. Trasladar todos los archivos del sitio Joomla! original a su 3. nueva ubicación, preferiblemente mediante FTP. Restaurar la copia de seguridad de la base de datos en el 4. nuevo servidor. Introducir las modificaciones necesarias en el archivo 5. configuration.php Verificar ciertos aspectos dependientes del servidor, 6. como las funciones de correo
  • 193. Crear una copia de seguridad de la base de datos de Joomla! El modo más sencillo de crear una copia de seguridad de una base de datos es a través de la función de exportación de phpMyAdmin. No obstante, para el caso concreto de Joomla! existe una extensión que realiza copias de seguridad diarias de forma automática (con la posibilidad incluso de enviárnoslas por correo electrónico). Su nombre es LazyBackup.
  • 194. LazyBackup No olvidar activar el plug-in. LazyBackup crea automáticamente una copia de seguridad de la base de datos de Joomla! y la almacena en la carpeta media. El archivo de seguridad tiene la extensión sql o gz, según qué valor asignemos al parámetro Compress backup file. Su ejecución se produce cuando alguien accede a nuestra página web, bien desde el front-end o bien desde el back-end (si no accede nadie no se crea copia de seguridad ese día). Para que sólo se cree una copia de seguridad diaria (aunque accedan más personas a nuestro sitio ese mismo día) es fundamental asignar el valor No al parámetro Testing de ese plug-in.
  • 195. 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 sería realizar la restauración a través de una conexión 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.
  • 196. 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
  • 197. bigdump.php (II) A continuación 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 encontrarán ya las copias de seguridad realizadas con LazyBackup anteriormente.
  • 198. bigdump.php (III) A continuación 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 encontrarán 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 aquél que queramos restaurar. Si la importación es correcta, aparecerá una pantalla similar a ésta indicándolo.
  • 199. Adaptar el archivo configuration.php (I) El archivo configuration.php de Joomla! debe conocer la información 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 raíz y accederemos a él mediante el navegador. <?php echo __FILE__; ?>
  • 200. Adaptar el archivo configuration.php (II) Concretamente, las líneas a configurar serán 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'; //contraseña 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
  • 201. Verificar la réplica Debe prestarse especial atención a la verificación de las funciones de correo, la configuración de la capa FTP, y el funcionamiento de las extensiones que requieran gestión 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.
  • 202. Crear un componente básico 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 lógica de la aplicación, decidiendo cuándo se debe recurrir a cada vista y a cada modelo. Sin embargo, en este ejemplo adoptaremos un sistema más básico, en el que simplemente aislaremos la presentación del resto (la preparación de los datos y la lógica de la aplicación).