====== Usar Joomla! ====== * **Versión probada**: ''1.5.15'' ===== Básico ===== Para instalar Joomla se necesita lo siguiente: * Versión de PHP superior a la 4.3.10. * En PHP, soporte para compresión zllib. * En PHP, soporte para XML. * En PHP, soporte MySQL. Copiaremos el contenido descomprimido del archivo descargado donde queramos porner la web y seguiremos los pasos de la instalación. \\ Para entrar al panel de control iremos a la ruta de la web ''/administrator''. \\ \\ Joomla funciona de la siguiente forma: \\ {{ otros:otros:howto:joomla01.png?600 |}} ===== Cómo... ===== ==== Gestionar el contenido y estructura ==== === Secciones y categorías === El contenido de Joomla se gestiona a partir de los siguientes apartados: * Section Manager * Category Manager * Front Page Manager * Article Manager * Articles Trash Manager El **Section Manager** se encarga de gestionar las secciones de la web y el **Category Manager** las categorías (//of course!//). La estructura principal de una web en Joomla es: Secciones -> Categorías -> Artículos. Es decir, si estubiesemos haciendo una web de coches tendríamos una sección denominada "páginas de coches" y dentro las categorías "Deportivos" y "Familiares" y dentro de cada una los diferentes artículos o coches. Puedes tener tantas secciones como quieras. === Artículos === Los artículos corresponden al contenido principal del site, cada página interna corresponde a un artículo. Para indicar las propiedades por defecto para todos los artículos iremos a **Parameters** dentro del //Article Manager//. === FrontPage Manager === Las páginas que se gestionan en el **Front Page Manager** son páginas que se pueden ver desde la página principal; el contenido se gestiona a partir del Article Manager. \\ La FrontPage de Joomla es un componente que permite controlar como se ve la página principal, la cual es un poco diferente a las otras. Generalmente se la llama ''Home'' y encontramos su configuración en ''Menu -> mainmenu -> Home -> Parameters''. === Menús === La estructura de la página la organizamos mediante menús, estos se gestionan en el **Menu Manager** y los apartados de la web corresponden a los elementos que el menú tiene, para agregarlos, en la lista de menús y por cada uno, tendremos un botón denominado ''Menu Items'' a partir del cual podremos cambiar los elementos de este. \\ Los elementos más destacables son: * **Internal Link -> Articles -> Article layout**: Muestra un sólo artículo (perfecto para los "sobre nosotros" y tal...). * **External Link**: Agrega un link a un elemento externo de la página. El //Menu Item// por defecto del //Menu// por defecto será el elemento que se mostrará como índice. === Agregar módulos a las páginas === Los módulos son los elementos (que no son el contenido en sí) de cada página, como por ejemplo los menús. Gestionamos los módulos a partir del **Module Manager** y mediante este podemos agregar elementos a nuestras páginas; para ello al hacer new escogemos sus propiedades (si queremos que salga el título, su posición en la página (user1, top, left... todas dadas por la plantilla)...). \\ Desde el **Module Manager** podemos indicar dónde queremos que nos aparezca un módulo concreto, en qué apartado y tal. Para ello hemos de acceder a ese módulo, configurarlo como siempre y luego escoger en qué apartados aparecerá desde la zona **Menu Assignment**. \\ Tenemos la posibilidad de, desde el mismo **Module Manager** duplicar un módulo (opción ''copy''), cambiar su configuración y asignarlo a otro ''Menu Item''. ==== Gestión de usuarios ==== === Tipos de usuarios === La gestión de usuarios se divide en dos grandes grupos, los usuarios **front-end** que son los que acceden a la web y los usuarios **back-end** que son los que acceden a la administración. * //Usuarios front-end//: * Registrados: Aquellos que pueden ver partes reservadas de la web. * Autores: Pueden hacer lo que los usuarios regsitrados a la vez que editar su propia información. * Editores: Pueden hacer lo mismo que los autores y ademas editar toda la información que aparece en el front-end. * Publicadores: Pueden hacer lo que los editaros y además decidir qué información se publica o no. * //Usuarios back-end//, pueden hacer lo mismo que los front-end pero además: * Manager: Pueden crear contenido y ver información sobre el sistema. * Administradores. * Super-Administradores: Pueden hacer de todo en Joomla!. La primera cuenta creada (la ''admin'') es un super-administrador. ==== Administración (general) ==== === Cambios del editor === Puede que al cambiar los css de la plantilla no nos guste la idea que el editor de Joomla tome estas reglas para mostrar el contenido a medida que lo vamos editando. Podemos crear un archivo en la plantilla llamado ''editor_content.css'' dentro del directorio ''CSS''. Lo siguiente será ir a las opciones del editor (''Administrador de Mambots -> Editor WYSIWYG TinyMCE'') y en la opción Template CSS classes ponemos ''No''. Un ejemplo sería el siguiente: body{ margin:0; padding:0; text-align: left; background: #FFF; background-image: none; } ==== General ==== * Ha de existir un menú para la que la aplicación funcione y este ha de tener un menu item por defecto activo. * Para quitar el título de la página principal haremos: ''Menus -> Main Menu -> Home -> Parameters - System -> Page Title [Hide]''. ===== Avanzado ===== ==== Creación de plantillas ==== Las plantillas las colocaremos en una carpeta llamada ''templates'', dentro del directorio raiz de Joomla!. Cada plantilla estará en una carpeta con su nombre y contendrá: * Archivo **index.php**, contiene código html y php. * Archivo **TemplateDetails.xml**, indica propiedades a la administración. * Carpeta **css**, contiene los archivos .css y el archivo principal ''template_css.css''. * Carpeta **images**, que contiene los archivos de imágenes utilizados en la plantilla. * Archivo **Template_thumbnail.png**, imagen que funciona para previsualizar la plantilla en la administración. === index.php === El archivo index.php es el centro de toda plantilla en Joomla, es una página html pero concódigo PHP interno, este código indica dónde irán colocados los elementos. Las funciones y variables más útiles que podemos utilizar en este código son: * Para que no todo el mundo pueda acceder al código de la plantilla: '''' * Para incluir el contenido de la cabecera: '''' * Para indicar la ruta de la css (''$this->baseurl'' devuelve la ruta de la web): '''' * Para agregar los mensajes del servidor: '''' * Para agregar los mensajes de debug '''' * Para agregar los módulos de //top//: '''' * Para agregar los módulos de //bottom//: '''' * Para agregar el contenido: '''' * Para saber la url del sitio: '''' * Para saber el nombre de la plantilla: ''template ?>'' * Para saber el mail del administrador: ''getCfg('mailfrom'); ?>'' * Para saber el nombre del sitio: ''getCfg('sitename'); ?>'' * Para consultar un parámetro: ''params->get('parametro'); ?>'' Por ejemplo: === Los CSS === Podremos colocar los css de los elementos del sitio indicandolos por sus ids, de la siguiente forma: * {padding: 0; margin: 0; } body{ } #wrapper { margin: 0auto; width: 922px; } #header { width: 900px; float: left; padding: 10px; height:42px; padding-bottom:30px; } #leftcolumn { margin: 0px 5px 5px 0px; padding: 10px; width: 195px; float: left; } #content { float: left; margin: 0px 5px 5px 0px; padding: 10px; width: 456px; display: inline; } ... Aunque Joomla tiene algunas clases que aparecen por defecto: \\ :!: [[http://www.compassdesigns.net/joomla-tutorials/joomla-15-template-tutorial/page-4]] === TemplateDetails === El archivo ''TemplateDetails.xml'' es un archivo con formato .xml que nos sirve para especificar las propiedades de la plantilla y se coloca en la raíz de la carpeta de esta. En él se escriben, entre otros los datos de autor y nombres, y será importante indicar los archivos de la plantilla en su correspondiente carpeta contenedora. Si no indicásemos algún archivo ese no sería reconocido ni instalado. mynewtemplate 2008-05-01 John Doe john@example.com http://www.example.com John Doe 2008 GNU/GPL 1.0.2 My New Template index.php component.php templateDetails.xml template_thumbnail.png images/background.png css/style.css breadcrumb left right top user1 user2 user3 user4 footer === Template Parameters === Los parámetros de plantillas permiten pasar valores a la plantilla desde el back-end. Para usuarlos en el archivo ''templateDetails.xml'' agregaremos lo siguiente: También necesitaremos agregar un fichero llamado ''params.ini'' en el directorio de la plantilla, aunque este esté vacío Joomla lo necesita para guardar la configuración seleccionada, por ejemplo únicamente podría tener lo siguiente: template_width=2 Luego podremos consultarlos desde el php.ini: === Sobreescribir la salida === Podemos indicar el formato en el que queramos recibir el resultado de un módulo para que así no nos salga en la forma por defecto. Para ello cada módulo en su carpeta dentro de Joomla tiene una carpeta denominada ''tmpl'', esta indica el formato por defecto de dicho módulo, por ejemplo los del módulo newflash: /modules/mod_newsflash/tmpl/default.php /modules/mod_newsflash/tmpl/horiz.php /modules/mod_newsflash/tmpl/vert.php /modules/mod_newsflash/tmpl/_item.php Podremos cambiarlos para nuestra plantilla, cogiendo el archivo que queramos y colocándolo en un nuevo directorio ''html//fichero'' de nuestra plantilla, por ejemplo: templates/nuestra_plantilla/html/mod_newsflash/_item.php De la misma forma que los módulos podremos cambiar los componentes, por ejemplo en la carpeta components de joomla podríamos encontrar: /components/com_content/views/ /components/com_content/views/archive /components/com_content/views/article /components/com_content/views/category /components/com_content/views/section ... /components/com_content/views/category/blog.php /components/com_content/views/category/blog_item.php /components/com_content/views/category/blog_links.php /components/com_content/views/category/default.php /components/com_content/views/category/default_items.php Esta carpeta corresponde al componente que muestra el contenido, archivo, artículo, categoría... Dentro de un directorio ''views'' encontramos otro directorio ''tmpl''. :!: === Otros === * Cambiar el título de la página: setTitle($mainframe->getCfg('sitename') . " - " . $document->title); ?> ===== Notas ===== ==== Módulos útiles ==== * [[http://extensions.joomla.org/extensions/directory-a-documentation/downloads/6125|Jx List Files]], carga de un directorio una lista con los ficheros existentes en este. ==== Links ==== * [[http://docs.joomla.org/Main_Page|Documentación principal de Joomla]] * [[http://www.siteground.com/tutorials/joomla15/|Tutoriales muy útiles de Joomla]] * [[http://extensions.joomla.org/extensions/|Lista de extensiones públicas de Joomla]] * [[http://www.compassdesigns.net/joomla-tutorials/joomla-15-template-tutorial|Tutorial de creación de plantillas]]