Joomlacursonoviembre en pdf
-
Upload
angel-puente -
Category
Education
-
view
4.810 -
download
3
description
Transcript of Joomlacursonoviembre en pdf
![Page 1: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/1.jpg)
Joomla! 1.5.x
CRIF Las AcaciasNoviembre 2008Juan Félix Mateos
![Page 2: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/2.jpg)
¿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 Internetcomo para intranets, de código abierto(open source), y gratuito.
![Page 3: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/3.jpg)
¿Para qué sirve Joomla!?
Para presentar y gestionar contenidos de diversa naturaleza a través de la Web.
ArtículosEnlaces webContactos
Ofreciendo al destinatario final ciertas opciones de interactuación:
Enviar sus propios artículosParticipar en encuestas.Colaborar en la gestión/administración del sitio.
![Page 4: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/4.jpg)
¿Y eso es todo?
No. Las posibilidades de Joomla! son infinitas porque puede ser ampliado mediante:
ComponentesMódulosPlug-insPlantillasLenguajes (idiomas)
![Page 5: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/5.jpg)
¿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…
![Page 6: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/6.jpg)
¿Y si no me convence Joomla!?
Hay otros CMSDrupalXoopshttp://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.orgMoodleWikiGallerySimple Machines ForumosCommerceaTutor
![Page 7: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/7.jpg)
¿Qué quiere decir Joomla!?
Es la trascripción de una palabra swahili que significa "todos juntos" o "como una sola pieza".
![Page 8: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/8.jpg)
¿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.2Servidor 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.
![Page 9: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/9.jpg)
¿Cómo funciona Joomla!?
![Page 10: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/10.jpg)
Programa del curso
Instalación de Joomla!RemotoLocal¿Linux (Ubuntu sobre VirtualBox)?
Descripción de Joomla!Extensiones
ComentariosForosAgendas…
Desarrollo de plantillasDesarrollo de extensiones
![Page 11: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/11.jpg)
Obtener Joomla! 1.5
www.joomla.orgJoomla_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.zipIdioma_es-ES_joomla_1.5.7_estable_front.zip
![Page 12: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/12.jpg)
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.orgUsuario: [email protected]ña: crifjoomlaPuerto: 21
![Page 13: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/13.jpg)
Instalar Joomla! en remoto 2
1. Seleccionar el idioma.2. Corregir el problema de display_errors con
un archivo php.ini en las carpetas raíz, administrator e installation.
<?phpdisplay_errors = 0;?>
3. Revisar la licencia.
![Page 14: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/14.jpg)
Instalar Joomla! en remoto 3
4. Introducir los datos de la base de datos (si se desea, utilizar la configuración avanzada):
Tipo: mysqlServidor: localhostUsuario: villa29_cjxxContraseña: crifjoomlaNombre bd: villa29_crifjoomlaxx
5. Introducir los datos de la configuración FTP
![Page 15: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/15.jpg)
Instalar Joomla! en remoto 4
6. Introducir el nombre del sitio, los datos del administrador e instalar los datos de ejemplo predeterminados haciendo clic sobre el botón correspondiente.
7. Borrar la carpeta installation y acceder a la zona de portada o a la de administración.
![Page 16: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/16.jpg)
Instalar phpMyAdmin en remoto
1. Obtener los archivos de phpMyAdmin de www.phpmyadmin.net.
2. Subir los archivos mediante FTP a una carpeta nueva llamada phpmyadmin.
3. Renombrar el archivo config.sample.inc.phpcomo config.inc.php.
4. Escribir una clave secreta blowfish en la línea 17 del archivo config.inc.php.
![Page 17: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/17.jpg)
Instalar WAMP y configurar phpMyAdmin en local
Una vez instalado WAMP, acceder a phpMyAdminy, 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:\wamp\apps\phpmyadmin2.11.5\config.inc.php y escribir la misma contraseña en la línea 73:$cfg['Servers'][$i]['password'] = 'crifjoomla';
![Page 18: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/18.jpg)
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.
![Page 19: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/19.jpg)
Instalar Joomla! en local
Crear una carpeta llamada cursojoomla dentro de C:\wamp\www y copiar en ella los archivos de Joomla! 1.5.8.Acceder a la 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.
![Page 20: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/20.jpg)
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/
![Page 21: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/21.jpg)
EJERCICIO
Utilizando phpMyAdmin, cambiar la contraseña del administrador.
![Page 22: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/22.jpg)
Cambiar el idioma
1. Subir los paquetes de idioma obtenidos de joomlaspanish.org mediante Extensiones> Instalar/Desinstalar> Subir paquete.
2. Configurar estos nuevos paquetes como predeterminados a través de Extensiones> Gestor de idiomas
![Page 23: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/23.jpg)
Cambiar la zona horaria
En Sitio> Configuración global> Servidor> Configuración de la localización, seleccionar UTC +01:00 y pulsar Aplicar.
![Page 24: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/24.jpg)
Grupos de usuarios en Joomla! 1.5
Usuarios del front-endanónimosregistradosautores (de aquí en adelante, se consideran usuarios especiales)editoresjefes de redacción
Usuarios del back-endgestores/managersadministradoressuper 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.
![Page 25: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/25.jpg)
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 principalCada 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.
![Page 26: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/26.jpg)
Crear secciones y categorías
Contenido> Gestor de seccionesContenido> 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 oheredado 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) nopodrí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.
![Page 27: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/27.jpg)
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.
![Page 28: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/28.jpg)
Crear un artículo
Contenido> Gestor de artículos> NuevoTambién podemos establecer un nivel de acceso (público, registrado o especial), independiente del que pudieran poseer lasecció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).
![Page 29: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/29.jpg)
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.
![Page 30: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/30.jpg)
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ú.
![Page 31: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/31.jpg)
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ú.
![Page 32: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/32.jpg)
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!.
![Page 33: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/33.jpg)
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.
![Page 34: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/34.jpg)
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 escomo 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 porel de la sección/categoría real a la que pertenece.
![Page 35: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/35.jpg)
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.
![Page 36: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/36.jpg)
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.
![Page 37: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/37.jpg)
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.
![Page 38: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/38.jpg)
EJERCICIO
Asignar la plantilla beez al ítem de menú vinculado al artículo sin clasificar.
![Page 39: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/39.jpg)
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.
![Page 40: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/40.jpg)
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?
![Page 41: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/41.jpg)
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.
![Page 42: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/42.jpg)
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.
![Page 43: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/43.jpg)
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.
![Page 44: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/44.jpg)
EJERCICIO
Crear los siguientes usuarios
Nombre Clave Tiporegistrado registrado registradoautor autor autoreditor editor editorjefe jefe jefe
![Page 45: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/45.jpg)
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.
![Page 46: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/46.jpg)
EJERCICIO
Crear en el menú secundario un ítem llamado Enviar artículoque 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?
![Page 47: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/47.jpg)
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.
![Page 48: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/48.jpg)
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.
![Page 49: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/49.jpg)
EJERCICIO
Crear los siguientes usuarios
Nombre Clave Tipomanager manager manageradministrador administrador administradoromnipotente omnipotente super-
administrador
![Page 50: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/50.jpg)
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?
![Page 51: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/51.jpg)
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.
![Page 52: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/52.jpg)
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 archivosestá 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 subirActivar el sistema Flash para subir archivos: Utiliza una pequeña aplicación Flash para mostrar gráficamente el proceso de subida de los archivos.
![Page 53: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/53.jpg)
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.
![Page 54: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/54.jpg)
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.
![Page 55: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/55.jpg)
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?
![Page 56: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/56.jpg)
Definir el preámbulo de un artículo
Al crear el cuerpo de una noticia podemos insertar un enlace "Leer más…" 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.
![Page 57: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/57.jpg)
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 "Leer más". De hecho,es conveniente utilizar un preámbulo, pues en caso contrario losenlaces Siguiente y Anterior pueden provocar resultados inesperados cuando la noticia se muestra como Blog.
![Page 58: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/58.jpg)
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.
![Page 59: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/59.jpg)
EJERCICIO
Crear un artículo con un preámbulo y 3 páginas.Configurarlo para que muestre y oculte la tabla de contenidos.
![Page 60: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/60.jpg)
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.
![Page 61: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/61.jpg)
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.
![Page 62: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/62.jpg)
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.
![Page 63: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/63.jpg)
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.
![Page 64: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/64.jpg)
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.
![Page 65: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/65.jpg)
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.
![Page 66: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/66.jpg)
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.
![Page 67: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/67.jpg)
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 syndicatede 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.
![Page 68: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/68.jpg)
EJERCICIO
Crear 2 categorías en la sección Noticiasllamadas 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.
![Page 69: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/69.jpg)
Búsquedas
Disponemos de un componente y de un módulo de búsquedas:
El componente SearchEl módulo mod_search
![Page 70: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/70.jpg)
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úsquedaA 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.
![Page 71: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/71.jpg)
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.
![Page 72: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/72.jpg)
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.
![Page 73: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/73.jpg)
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.
![Page 74: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/74.jpg)
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.
![Page 75: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/75.jpg)
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íasLos enlaces que forman parte de una categoríaEl formulario para proponer nuevos enlaces. Este formulario sóloes 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.
![Page 76: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/76.jpg)
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?
![Page 77: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/77.jpg)
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.
![Page 78: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/78.jpg)
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?
![Page 79: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/79.jpg)
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.
![Page 80: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/80.jpg)
Banners: categorías y clientes
Cada Banner debe tener:Una categoríaUn clienteUna 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.
![Page 81: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/81.jpg)
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).
![Page 82: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/82.jpg)
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.
![Page 83: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/83.jpg)
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.
![Page 84: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/84.jpg)
EJERCICIO
Crear un artículo que tenga como palabra clave "joomla".Crear 2 clientes de banners llamados "Cliente 1" y "Cliente 2"Crear 2 categorías de banners llamadas "Categoría 1" y "Categoría 2"Crear 2 banners, uno asociado al cliente 1 y a la categoría 1, yotro 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_bannertrackmediante phpMyAdmin.
![Page 85: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/85.jpg)
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.
![Page 86: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/86.jpg)
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.
![Page 87: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/87.jpg)
Módulo Ruta de acceso
Muestra el "camino de migas" (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.
![Page 88: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/88.jpg)
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.
![Page 89: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/89.jpg)
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?
![Page 90: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/90.jpg)
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 "post-it", es decir, breves pero importantes, y mostrarlas en la columna derecha de la página principal.
![Page 91: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/91.jpg)
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.
![Page 92: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/92.jpg)
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áximode 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.
![Page 93: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/93.jpg)
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.
![Page 94: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/94.jpg)
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.
![Page 95: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/95.jpg)
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.
![Page 96: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/96.jpg)
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.
![Page 97: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/97.jpg)
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.
![Page 98: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/98.jpg)
Módulo Contenido más leído
Este módulo muestra la lista de los artículos que han tenido másaccesos. 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.
![Page 99: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/99.jpg)
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).
![Page 100: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/100.jpg)
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.
![Page 101: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/101.jpg)
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 Itemsrelacionados 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.
![Page 102: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/102.jpg)
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.
![Page 103: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/103.jpg)
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.
![Page 104: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/104.jpg)
EJERCICIO
Crear un módulo de tipo Wrapper con 500píxeles de altura y cuya URL sea www.villatic.org/carpetaJuanfe/campoMinas/campoMinas.html
![Page 105: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/105.jpg)
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 lazona 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 mensajedel 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 norequieren aprobación) se notifican al administrador a través delcorreo 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.
![Page 106: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/106.jpg)
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.
![Page 107: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/107.jpg)
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.
![Page 108: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/108.jpg)
Ampliar Joomla!
Para ampliar las posibilidades de Joomla! podemos instalar extensiones, que pueden ser de varios tipos:
ComponentesMódulosPlug-insIdiomasPlantillas
Afortunadamente, cualquiera que sea su tipo, todas ellas se instalan de la misma forma.
1. Obtenemos el archivo comprimido (generalmente en formato ZIP) de la extensión que queremos instalar.
2. Seleccionamos Extensiones> Instalar/Desinstalar.3. Pulsamos el botón Examinar para seleccionar el archivo
comprimido.4. Pulsamos el botón Subir archivo & instalar.
![Page 109: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/109.jpg)
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.
![Page 110: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/110.jpg)
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.zipyvCommentPlugin1.15.000.zipyvCommentLanguagePack_es-ES_1.15.000.zip
![Page 111: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/111.jpg)
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.
![Page 112: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/112.jpg)
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.
![Page 113: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/113.jpg)
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> yvcommentLos parámetros fundamentales que debemos configurar son:
Utilizar tabla de contenido 'Content': SíSección para comentariosCategoría para los comentarios
Además, por supuesto, debemos activar el plug-in.
![Page 114: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/114.jpg)
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.
![Page 115: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/115.jpg)
yvComment: Configurar qué secciones admiten comentarios
Podemos indicar los Idsde 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.
![Page 116: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/116.jpg)
yvComment: Gestionar los comentarios anónimos
Nombre de usuario de Visitantedebe 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, …)
![Page 117: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/117.jpg)
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.
![Page 118: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/118.jpg)
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 wholepage y desactivando su parámetro EnableSmileys for the texto of articles.
![Page 119: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/119.jpg)
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.
![Page 120: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/120.jpg)
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.
![Page 121: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/121.jpg)
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.zipadd_attachment_btn_plugin.zipattachments_component.zip
Una vez instalados los plug-ins, no debemos olvidar activarlos.
![Page 122: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/122.jpg)
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.
![Page 123: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/123.jpg)
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 adjuntoque se muestra al visualizar el artículo independientemente o en formato de blog.
![Page 124: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/124.jpg)
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.
![Page 125: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/125.jpg)
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.
![Page 126: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/126.jpg)
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.
![Page 127: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/127.jpg)
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.
![Page 128: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/128.jpg)
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.
![Page 129: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/129.jpg)
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.
![Page 130: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/130.jpg)
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.
![Page 131: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/131.jpg)
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.
![Page 132: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/132.jpg)
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 databasesMigrate all events to icalEvents
![Page 133: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/133.jpg)
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 componenteQuién puede enviar eventos desde el front-endFormato de la fecha: Continental en nuestro caso
![Page 134: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/134.jpg)
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, …)
![Page 135: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/135.jpg)
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.
![Page 136: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/136.jpg)
JEvents: Configuración del módulo LatestEvents
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.
![Page 137: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/137.jpg)
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ónSombra
![Page 138: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/138.jpg)
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.
![Page 139: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/139.jpg)
JEvents: Gestión de eventos
En sus versiones anteriores, JEventsutilizaba 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
![Page 140: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/140.jpg)
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.
![Page 141: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/141.jpg)
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 …}
![Page 142: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/142.jpg)
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]
![Page 143: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/143.jpg)
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/DesinstalarSe gestionan mediante Extensiones> Administrador de plantillasEl 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.
![Page 144: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/144.jpg)
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:
noneoutlinetablehorzroundedxhtml
Modificar el código (HTML y CSS) de la plantilla.
![Page 145: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/145.jpg)
Plantillas: EJERCICIO
Descargar una plantilla de joomlahut.com o joomla24.comInstalar la plantillaPrevisualizar la plantilla para conocer los nombres de los contenedores de posición para módulos.
![Page 146: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/146.jpg)
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 cssimages: Contiene las imágenes que se utilizan en los archivos csshtml: 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.
![Page 147: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/147.jpg)
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 lapropia 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.
![Page 148: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/148.jpg)
Plantillas: templateDetails.xml
Este archivo debe encontrarse en la carpeta raíz de la plantilla y el valor de name se utiliza para crear la carpeta de la plantilla durante la instalación.Sus secciones principales son:filespositionsparams
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN" "http://dev.joomla.org/xml/1.5/template-install.dtd"><install version="1.5" type="template">
<name>rhuk_milkyway</name><creationDate>11/20/06</creationDate><author>Andy Miller</author><authorEmail>[email protected]</authorEmail><authorUrl>http://www.rockettheme.com</authorUrl><copyright></copyright><license>GNU/GPL</license><version>1.0.2</version><description>Descripción</description>
<files></files>
<positions></positions>
<params></params>
</install>
![Page 149: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/149.jpg)
Plantillas: templateDetails.xml, la sección <files>En esta sección deberemos referenciar todos los archivos de los que hace uso la plantilla, incluido el propio templateDetails.xml, añadiendo sus rutas de acceso relativas.
<files><filename>index.php</filename><filename>templateDetails.xml</filename><filename>template_thumbnail.png</filename><filename>params.ini</filename><filename>images/arrow.png</filename><filename>images/indent1.png</filename>
![Page 150: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/150.jpg)
Plantillas: templateDetails.xml, la sección <positions>En esta sección se recogen los nombres de los contenedores de posición entre los que podrá elegir el usuario para colocar sus módulos.Estos nombres deben coincidir exactamente con los que se crearán en el archivo index.phpde la plantilla.Si el archivo index.phpcontiene posiciones no incluidas en esta sección, el usuario no podrá elegirlas en el cuadro de lista desplegable de posicionamiento de los módulos y tendrá que escribir su nombre manualmente.
<positions><position>breadcrumb</position><position>left</position><position>right</position><position>top</position><position>user1</position><position>user2</position><position>user3</position><position>user4</position><position>footer</position><position>debug</position><position>syndicate</position>
</positions>
![Page 151: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/151.jpg)
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="colorVariation" type="list" default="white" label="Color Variation" description="Color variation to use">
<option value="blue">Blue</option><option value="red">Red</option><option value="green">Green</option><option value="orange">Orange</option><option value="black">Black</option><option value="white">White</option>
</param></params>
![Page 152: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/152.jpg)
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="modules" name="posición" style="estilo"
/>Y para incluir el componente se utiliza:<jdoc:include type="component" />
![Page 153: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/153.jpg)
Plantillas: template.css
En este archivo se determina la posición y el aspecto de las distintas secciones que componen la plantilla utilizando estilosCSS.Cada uno de estos estilos está compuesto por:
un selector: define a quién se aplica el estilouna o más declaraciones: definen el aspecto del estilo. Cada declaración está compuesta por:
una propiedadun valor
body {font-family: Helvetica,Arial,sans-serif;line-height: 1.3em;margin: 0px 0px 0px 0px;font-size: 12px;color: #333;
}
![Page 154: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/154.jpg)
Plantillas: Tipos de selectores CSS
De elemento: utiliza el nombre del elementoDe id: #idDe clase: .clasepseudoclase (: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)
![Page 155: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/155.jpg)
Plantillas: El modelo de caja
![Page 156: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/156.jpg)
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 templatesimages dentro de plantilla_basicacss dentro de plantilla_basica
![Page 157: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/157.jpg)
Una plantilla básica: index.php (I)
Cree un archivo llamado index.php dentro de la carpeta plantilla_basica con el siguiente contenido:
<?phpdefined( '_JEXEC' ) or die( 'No eres bien recibido' );
?><html>
<head></head><body></body>
</html>
![Page 158: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/158.jpg)
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="1.5" type="template"><name>plantilla_basica</name><creationDate>22/04/08</creationDate><author>Juanfe</author><version>1.0</version><description>Mi primera plantilla</description><files>
<filename>index.php</filename><filename>templateDetails.xml</filename>
</files></install>
![Page 159: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/159.jpg)
Una plantilla básica: index.php (II)
<?phpdefined( '_JEXEC' ) or die( 'No eres bien
recibido' );?><html>
<head><jdoc:include type="head" />
</head><body></body>
</html>
![Page 160: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/160.jpg)
Una plantilla básica: EJERCICIO
Comprobar que la plantilla se muestra en Administrador de plantillasAsignar la plantilla a un ítem de menú cuyo destino sea un artículo concretoEspecificar los metadatos del artículoAcceder 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.
![Page 161: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/161.jpg)
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 componentehead: incluye la información de cabecera (metadatos)message: incluye mensajes del sistema y de errormodule: incluye un módulo concreto al que identificaremos por su nombre mediante el atributo adicional namemodules: incluye todos los módulos que estén asignados a la posición que especifiquemos mediante el atributo adicional name
![Page 162: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/162.jpg)
Una plantilla básica: index.php (III)
Compruebe que al introducir la siguiente modificación sí aparece el componente:
<?phpdefined( '_JEXEC' ) or die( 'No eres bien recibido' );
?><html>
<head><jdoc:include type="head" />
</head><body>
<jdoc:include type="component" /></body>
</html>
![Page 163: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/163.jpg)
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="logo"></div><div id="col_principal">
<jdoc:include type="component" /></div><div id="col_izquierda">
<jdoc:include type="modules" name="left" /></div>
</body>…
![Page 164: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/164.jpg)
Una plantilla básica: template.css (I)
Cree un archivo llamado template.css dentro de la carpeta csscon 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;
}
![Page 165: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/165.jpg)
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="head" /><link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/template.css" type="text/css" />
</head>…
![Page 166: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/166.jpg)
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áginatitle: Título de la página (no de la plantilla)description: Descripción de la páginalanguage: Idioma de la páginabaseurl: URL de la página.
![Page 167: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/167.jpg)
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 imagesllamada 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;
}…
![Page 168: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/168.jpg)
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.
![Page 169: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/169.jpg)
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="col_izquierda">
<jdoc:include type="modules" name="left" style="xhtml"/></div>Introduzca los siguientes estilos en template.css.
div.moduletable{border: 2px black solid;background: #cccccc;padding: 5px;margin: 2px;
}
div.moduletable h3{font-weight: bold;font-family:
Helvetica,Arial,sans-serif;font-size: 20px;text-align: center;color: blue;background: white;border: 2px #999999 dotted;margin: 5px;
}
![Page 170: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/170.jpg)
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
![Page 171: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/171.jpg)
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;
}
![Page 172: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/172.jpg)
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.
![Page 173: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/173.jpg)
Una plantilla básica: SOLUCIÓN EJERCICIOul.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;}
![Page 174: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/174.jpg)
Una plantilla básica: menús redondeados (I)
Configuramos la columna izquierda para que use el estilo rounded en lugar de xhtml.<div id="col_izquierda">
<jdoc:include type="modules" name="left" style="rounded"/></div>
Incluimos el selector div.module en el estilo que ya 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;
![Page 175: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/175.jpg)
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;
}
![Page 176: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/176.jpg)
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="head" /><link rel="shortcut icon" href="<?php echo $this-
>baseurl ?>/templates/<?php echo $this->template; ?>/images/favicon.ico" />
![Page 177: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/177.jpg)
Una plantilla básica: un menú de lengüetas (I)
Empezaremos creando una nueva sección entre el logo y las columnas
<div id="logo"></div> <div id="user3">
<jdoc:include type="modules" name="user3"/></div>
y definimos su estilo para que se muestre centrado#user3{
width: 650px;position: relative;left: 50%;margin-left: -325px;
}
![Page 178: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/178.jpg)
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;
}
![Page 179: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/179.jpg)
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;}
![Page 180: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/180.jpg)
Una plantilla básica: un menú de lengüetas (IV)
Y creamos una división bajo el menú que no admita elementosflotantes a ninguno de sus lados
<div id="user3"> <jdoc:include type="modules" name="user3"/>
</div> <div class="separadorHorizontal"></div>
con su correspondiente estilo:.separadorHorizontal{
clear: both;width: 100%;
}
![Page 181: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/181.jpg)
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%
![Page 182: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/182.jpg)
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="separadorHorizontal"></div> <?php if($this->countModules('right')): ?><div id="col_derecha">
<jdoc:include type="modules" name="right" style="xhtml"/>
</div> <?php endif; ?><div id="col_principal">
![Page 183: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/183.jpg)
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="col_principal_reducida"><?php else: ?><div id="col_principal"><?php endif; ?>
<jdoc:include type="component" /></div> <?php if($this->countModules('right')): ?><div id="col_izquierda_reducida"><?php else: ?> <div id="col_izquierda"><?php endif; ?>
<jdoc:include type="modules" name="left" style="rounded"/>
![Page 184: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/184.jpg)
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;
}
![Page 185: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/185.jpg)
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;
}
![Page 186: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/186.jpg)
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>
![Page 187: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/187.jpg)
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="colorFondo" type="list"
default="azul" label="Color de fondo" description="Elija un color para el fondo del logotipo">
<option value="azul">Azul</option><option value="rojo">Rojo</option><option value="verde">Verde</option>
</param></params>
![Page 188: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/188.jpg)
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>
![Page 189: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/189.jpg)
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="logo_<?php echo $this-
>params->get('colorFondo'); ?>"></div> <div id="user3">
![Page 190: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/190.jpg)
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;
}
![Page 191: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/191.jpg)
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 seguridadDeseamos 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
![Page 192: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/192.jpg)
Clonar un sitio Joomla! (II)
El procedimiento general a seguir sería:1. Poner en modo Offline el sitio original para impedir que
puedan introducirse modificaciones desde el front-end en la bases de datos (por ejemplo, nuevos artículos).
2. Realizar una copia de seguridad de la base de datos.3. Trasladar todos los archivos del sitio Joomla! original a su
nueva ubicación, preferiblemente mediante FTP.4. Restaurar la copia de seguridad de la base de datos en el
nuevo servidor.5. Introducir las modificaciones necesarias en el archivo
configuration.php6. Verificar ciertos aspectos dependientes del servidor,
como las funciones de correo
![Page 193: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/193.jpg)
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.
![Page 194: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/194.jpg)
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.
![Page 195: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/195.jpg)
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.
![Page 196: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/196.jpg)
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
![Page 197: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/197.jpg)
bigdump.php (II)
A continuación subiremos bigdump.phpmediante 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.
![Page 198: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/198.jpg)
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.
![Page 199: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/199.jpg)
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__; ?>
![Page 200: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/200.jpg)
Adaptar el archivo configuration.php (II)
Concretamente, las líneas a configurar serán las siguientes:var $dbtype = 'mysql'; //Tipo de base de datosvar $host = 'localhost'; //Nombre del servidor; generalmente
localhostvar $user = 'villa29_replica'; //usuario de la base de datosvar $password = 'laquesea'; //contraseña del usuariovar $db = 'villa29_replica'; //nombre de la base de datosvar $dbprefix = 'jos_'; //prefijo de las tablas de Joomla!var $log_path = '/home/villa29/public_html/replica/logs'; //ruta
absoluta a la carpeta de informesvar $tmp_path = '/home/villa29/public_html/replica/tmp'; //ruta
absoluta a la carpeta temporal
![Page 201: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/201.jpg)
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.
![Page 202: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/202.jpg)
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).
![Page 203: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/203.jpg)
Crear un componente básico
Nuestro componente permitirá mostrar las calificaciones de los alumnos, pero sólo a sus respectivos padres.Cree una subcarpeta llamada com_calificaciones en cada una de las siguientes carpetas:
componentsadministrator/components
![Page 204: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/204.jpg)
Crear un componente básico
Dentro de la carpeta /components/com_calificaciones, cree un archivo llamado calificaciones.php con el siguiente contenido:
<?phpdefined('_JEXEC') or die ('No eres bien recibido');echo '<divclass="componentheading">Calificaciones</div>';
?>Acceda al componente desde el front-endescribiendo en el navegador la ruta de su sitio seguida de index.php?option=com_calificaciones
![Page 205: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/205.jpg)
Crear un componente básico
Dentro de la carpeta /administrator/components/com_calificaciones, cree un archivo llamado admin.calificaciones.php con el siguiente contenido:
<?phpdefined('_JEXEC') or die ('No eres bien recibido');echo 'Calificaciones';
?>Acceda al componente desde el back-endescribiendo en el navegador la ruta de su sitio seguida de /administrator/index.php?option=com_calificaciones
![Page 206: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/206.jpg)
Crear un componente básico
Para que Joomla! reconozca el componente debemos registrarlo en su tabla jos_components. Acceda a esta tabla mediante phpMyAdmin e inserte en ella un nuevo registro configurado del modo indicado.Compruebe que ahora sí puede crear un ítem de menú para acceder al componente desde el front-end.
![Page 207: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/207.jpg)
Crear un componente básico
En el back-end, nuestro componente permitirá mostrar la lista completa de alumnos y acceder a alumnos concretos.Necesitaremos 2 barras de herramientas:
Una para la lista completa que permita publicar/despublicar/modificar/crear alumnos.Una para los modos de modificación y creación de alumnos que permita aplicar/guardar/cancelar los cambios.
![Page 208: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/208.jpg)
Crear un componente básico
En el back-end, nuestro componente permitirá mostrar la lista completa de alumnos o acceder a alumnos concretos.Necesitaremos 2 barras de herramientas:
Una para la lista completa que permita publicar/despublicar/modificar/crear alumnos.Una para los modos de modificación y creación de alumnos que permita aplicar/guardar/cancelar los cambios.
![Page 209: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/209.jpg)
Crear un componente básico
Empezaremos creando el archivo responsable de la presentación de las barras de herramientas. Dentro de la carpeta /administrator/components/com_calificaciones, cree un archivo llamado toolbar.calificaciones.html.phpcon el contenido indicado
<?phpdefined('_JEXEC') or die ('No eres bien recibido');class TOOLBAR_calificaciones{
function _NEW(){JToolBarHelper::save();JToolBarHelper::apply();JToolBarHelper::cancel();
}function _DEFAULT(){
JToolBarHelper::title(JText::_('Calificaciones'), 'generic.png');
JToolBarHelper::publishList();JToolBarHelper::unpublishList();JToolBarHelper::editList();JToolBarHelper::deleteList();JToolBarHelper::addNew();
}}
?>
![Page 210: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/210.jpg)
Crear un componente básico
Y ahora creamos el archivo responsable del funcionamiento de las barras de herramientas. Dentro de la carpeta /administrator/components/com_calificaciones, cree un archivo llamado toolbar.calificaciones.php con el contenido indicado.Compruebe que se presenta la barra de herramientas predeterminada pero que sus botones aún no funcionan.
<?phpdefined('_JEXEC') or die ('No eres bien recibido'); require_once(JApplicationHelper::getPath('toolbar_html'));
switch($task){case 'edit':case 'add':
TOOLBAR_calificaciones::_NEW();break;
default:TOOLBAR_calificaciones::_DEFAULT();break;
}?>
![Page 211: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/211.jpg)
Crear un componente básico
Para que los botones de las barras de herramientas funciones, necesitamos una fuente de datos, es decir una tabla en la base de datos.Mediante phpMyAdmin, cree una tabla llamada jos_calificaciones dentro de la base de datos Joomla! con 7 campos configurados del modo indicado.
![Page 212: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/212.jpg)
Crear un componente básico
Para aprovechar las funciones de gestión de tablas ya implementadas en la clase Jtable de Joomla! crearemos una clase propia que la extienda.Dentro de /administrator/com_calificaciones, cree una subcarpeta llamada tables y, dentro de ella, un archivo llamado calificaciones.phpcon el contenido indicado.
<?phpdefined('_JEXEC') or die ('No eres bien recibido');
class TableCalificaciones extends JTable{var $id=null;var $Nombre=null;var $idAutorizado=null;var $calificacion1=null;var $calificacion2=null;var $calificacion3=null;var $publicado=null;function __construct(&$db){
parent::__construct('#__calificaciones','id',$db);}
}?>
![Page 213: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/213.jpg)
Crear un componente básico
Necesitamos un formulario para introducir/editar las calificaciones de los usuarios.Empezaremos definiendo su lógica, para lo que recurriremos al archivo admin.calificaciones.php.
<?phpdefined('_JEXEC') or die ('No eres bien recibido');echo 'Calificaciones';
require_once(JApplicationHelper::getPath('admin_html')); JTABLE::addIncludePath(JPATH_COMPONENT.DS.'tables');
switch($task){case 'add':
editarCalificacion($option);break;
}function editarCalificacion($option){
$fila =& JTable::getInstance('Calificaciones','Table'); $campoPublicado=JHTML::_('select.booleanlist','publicado','class=inputbox',$fila->publicado); HTML_calificaciones::editarCalificacion($fila,$campoPublicado,$option);
}?>
![Page 214: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/214.jpg)
Crear un componente básico
Para definir el aspecto del formulario, creamos un nuevo archivo en /administrator/components/com_calificaciones llamado admin.calificaciones.html.php con el contenido indicado
<?phpdefined('_JEXEC') or die ('No eres bien recibido');class HTML_calificaciones{
functioneditarCalificacion($fila,$campoPublicado,$option){
?><form action="index.php" method="post"
name="formularioAdministracion" id="adminForm">
![Page 215: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/215.jpg)
Crear un componente básico
<fieldset class="adminForm"><legend>Calificaciones de alumno</legend><table class="admintable">
<tr><td width='80' align='right' class='key'>
Nombre:</td><td>
<input class='text_area' type='text' name='Nombre' id='Nombre' size='50' maxlength='255' value="<?php echo $fila->Nombre;?>" />
</td></tr>
<tr><td width='80' align='right' class='key'>
idAutorizado:</td><td>
<input class='text_area' type='text' name='idAutorizado' id='idAutorizado' size='50' maxlength='11' value="<?php echo $fila->idAutorizado;?>" />
</td>
![Page 216: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/216.jpg)
Crear un componente básico
</tr><?php for($i=1;$i<=3;$i++){
$valorCalificacion='calificacion'.$i;?>
<tr><td width='80' align='right' class='key'>
Calificacion<?php echo $i; ?>:</td><td>
<input class='text_area' type='text' name='calificacion<?php echo $i; ?>' id='calificacion<?php echo $i; ?>' size='50' maxlength='255' value="<?php echo $fila->$valorCalificacion; ?>" />
</td></tr><?php } ?>
![Page 217: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/217.jpg)
Crear un componente básico
<tr><td width='80' align='right' class='key'>
Publicado:</td><td>
<?php echo $campoPublicado; ?></td>
</tr></table>
</fieldset>
![Page 218: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/218.jpg)
Crear un componente básico
<input type='hidden' name='id' value="<?php echo $fila->id; ?>" />
<input type='hidden' name='option' value="<?php echo $option; ?>" />
<input type='hidden' name='task' value="" /></form><?php
}}
?>
![Page 219: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/219.jpg)
Crear un componente básico
Ahora añadimos en admin.calificaciones.php la función que se encargará de recibir los datos de este formulario y almacenarlosen la base de datos
function guardarCalificacion($option){global $mainframe;echo $option;$fila =& JTable::getInstance('Calificaciones','Table');$fila->bind(JRequest::get('post'));$fila->store();$mainframe->redirect('index.php?option=com_calificaciones',
'Calificacion guardada');}
![Page 220: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/220.jpg)
Crear un componente básico
Pero para que admin.calificaciones.php sepa que debe ejecutar la función anterior debemos añadir el caso add en el switch de $task
switch($task){case 'add':
editarCalificacion($option);break;
case 'save':guardarCalificacion($option);break;
}
![Page 221: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/221.jpg)
Crear un componente básico
Vamos a comprobar que todo funciona correctamente:
Acceda con su navegador a /administrator/index.php?option=com_calificaciones&task=addEscriba unos datos de ejemplo y pulse el botón Guardar.Verifique con phpMyAdmin que los datos se han almacenado en la tabla jos_calificaciones
![Page 222: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/222.jpg)
Crear un componente básico
Inserte en admin.calificaciones.php esta función para gestionar la lógica que permitirá mostrar un listado de todas las calificaciones.
function mostrarCalificaciones($option){$db =& JFactory::getDBO();$consulta="SELECT * FROM #__calificaciones";$db->setQuery ($consulta);$filas= $db->loadObjectList();HTML_calificaciones::mostrarCalificaciones($option, $filas);
}
![Page 223: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/223.jpg)
Crear un componente básico
Aprovechando que estamos en admin.calificaciones.php cree el caso default en el switch para que, en ausencia de un $task concreto, se muestre el listado de calificaciones:
switch($task){case 'add':
editarCalificacion($option);break;
case 'save':guardarCalificacion($option);break;
default:mostrarCalificaciones($option);break;
}
![Page 224: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/224.jpg)
Crear un componente básico
En el archivo admin.calificaciones.html.php, insertamos la función mostrarClasificaciones, cuyo código es el siguiente:
function mostrarCalificaciones($option,$filas){?>
<form action="index.php" method="post" name="adminForm">
<table class="adminlist"><thead>
<tr><th width='20'>
<input type="checkbox" name="activar" value="" onclick="checkAll(<?php echo count($filas); ?>" />
</th>
![Page 225: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/225.jpg)
Crear un componente básico
<th>Nombre</th><th width="10%">idAutorizado</th><th width="15%">Calificacion1</th><th width="15%">Calificacion2</th><th width="15%">Calificacion3</th><th width="5%" nowrap="nowrap">Publicado</th>
</tr></thead><?php
$alternar=0;$total=count($filas);
![Page 226: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/226.jpg)
Crear un componente básico
for($i=0;$i<$total;$i++){$fila= &$filas[$i];$seleccionado=JHTML::_('grid.id',$i,$fila->id);$publicado=JHTML::_('grid.published',$fila,$i);?><tr class="<?php echo "row$activado"; ?>">
<td><?php echo $seleccionado; ?>
</td><td>
<?php echo $fila->Nombre; ?></td>
![Page 227: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/227.jpg)
Crear un componente básico
<td><?php echo $fila->idAutorizado; ?>
</td><td>
<?php echo $fila->calificacion1; ?></td><td>
<?php echo $fila->calificacion2; ?></td><td>
<?php echo $fila->calificacion3; ?></td>
![Page 228: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/228.jpg)
Crear un componente básico
<td align="center"><?php echo $publicado; ?>
</td></tr><?php$alternar=!$alternar;
}?>
</table><input type="hidden" name="option" value="<?php echo
$option; ?>" /><input type="hidden" name="task" value="" /><input type="hidden" name="boxchecked" value="0" />
</form>
![Page 229: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/229.jpg)
Crear un componente básico
Comprobamos que todo funciona correctamente ejecutando desde el back-endComponentes>Calificaciones
![Page 230: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/230.jpg)
Crear un componente básico
Para que los administradores puedan editar las calificaciones aprovecharemos la función que ya tenemos para introducir nuevas calificaciones: editarCalificacion. Introduzca en ella el siguiente código:
$fila =& JTable::getInstance('Calificaciones','Table');$cid=JRequest::getVar('cid',array(0),'','array');$id=$cid[0];$fila->load($id);
![Page 231: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/231.jpg)
Crear un componente básico
En el switch de $task introducimos la modificación necesaria para que edit y addconduzcan a la función editarCalificacion
switch($task){case 'edit':case 'add':
editarCalificacion($option);break;
![Page 232: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/232.jpg)
Crear un componente básico
El función Aplicar funciona exactamente igual que Guardar, salvo porque nos mantiene en la misma página, es decir mantiene el $task.En admin.calificaciones.php, inclusa su caso en el switch de $task indicando que también desea enviar a la función el propio valor de $taskcase 'apply':case 'save':
guardarCalificacion($option,$task);break;
![Page 233: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/233.jpg)
Crear un componente básico
De modo que en la función guardarCalificacionde admin.calificacion.php sólo tendremos que incluir este nuevo parámetro y sustituir la última línea por un código que discrimine si estamos guardando o simplemente aplicando los cambios.Comprueba que funciona correctamente añadiendo y aplicando cambios.
function guardarCalificacion($option,$task){global $mainframe; $fila =& JTable::getInstance('Calificaciones','Table');$fila->bind(JRequest::get('post'));$fila->store();switch($task){case 'apply':
$mensaje="Se han aplicado los cambios";
$destino='index.php?option='.$option.'&task=edit&cid[]='.$fila->id;
break;case 'save':default:
$mensaje="Se han guardado los cambios";$destino='index.php?option='.$option;break;
}$mainframe->redirect($destino,$mensaje);
}
![Page 234: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/234.jpg)
Crear un componente básico
Volvemos ahora nuestra mirada al front-end, donde ampliaremos el código de /components/calificaciones.php para mostrar las calificaciones de los alumnos para los que el usuario esté autorizado:
<?phpdefined('_JEXEC') or die ('No eres bien recibido');echo '<div class="componentheading">Calificaciones</div>';jimport('joomla.application.helper');require_once(JApplicationHelper::getPath('html'));JTable::addIncludePath(JPATH_ADMINISTRATOR.DS.'components'.DS.$option.DS.'tables');
![Page 235: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/235.jpg)
Crear un componente básico
switch($task){default:
mostrarCalificacionAutorizado($option);break;
}function mostrarCalificacionAutorizado($option){
$usuario=& JFactory::getUser(); $db=& JFactory::getDBO();$consulta="SELECT * FROM #__calificaciones WHERE
idAutorizado='$usuario->id' AND publicado='1'"; $db->setQuery($consulta);$filas=$db->loadObjectList();HTML_calificaciones::mostrarCalificacionAutorizado($filas,$option);
}?>
![Page 236: Joomlacursonoviembre en pdf](https://reader034.fdocuments.es/reader034/viewer/2022051312/5472cbc2b4af9fcd0a8b5078/html5/thumbnails/236.jpg)
Crear un componente básico
Y, por último, creamos en /components/com_calificaciones el archivo calificaciones.html.php con el siguiente contenido:<?php
defined('_JEXEC') or die ('No eres bien recibido');
class HTML_calificaciones{function
mostrarCalificacionAutorizado($filas,$option){?>
<table><?php foreach($filas as $fila){
echo"<tr>
<td>$fila->Nombre
</td><td>
$fila->calificacion1</td>
<td>$fila->calificacion2
</td><td>
$fila->calificacion3</td>
</tr>";}?></table><?php
}}
?>