Upload
cata-castillo
View
3.886
Download
1
Embed Size (px)
DESCRIPTION
taller de joomla en las phpconference Barcelona 2009
Citation preview
Jordi Catà Castillo - [email protected] Ingeniería Web - www.dunlock.com
PHP Barcelona Conference 2009
Gestor de Contenidos Web Joomla
¿ De qué hablaremos ?
●¿Qué es Joomla?●¿Qué podemos hacer con Joomla?●Funcionalidades●Instalación y configuración: lenguage, plantillas●Gestión de Contenidos, menús●Gestión de usuarios●Instalación y uso de extensiones comunes
● Documentos● Imágenes● Foro
●Joomla como Framework: introducción
Joomla: CMS
PHP Barcelona Conference 2009
-La web puede crecer, podemos añadir nuevas opciones, por ejemplo: +idiomas, usuarios, foros, etc.
-Podéis gestionar la información de vuestra web
-Tecnología multiplataforma: Linux, Windows, Mac
-Cumple estándares de accesiblidad, usabilidad
Cosas a tener en cuenta para una web
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
PHP Barcelona Conference 2009
Joomla: CMS
Es un sistema gestor de contenidos dinámicos (CMS) que permite crear sitios web de elevada interactividad, profesionalidad y eficiencia.
Administrar fácilmente una web, desde añadir contenido y imágenes hasta actualitzar un catálogo de productos o gestionar reservas online.
¿ Qué es Joomla ?
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
PHP Barcelona Conference 2009
Joomla: CMS
Solución de Gestión de Contenidos Web que permite construir Webs y aplicaciones online.
Para usuarios
Permite gestionar toda la información como textos, fotos, documentos, etc de una web de forma sencilla
Para desarrolladores
Framework de desarrollo
¿ Qué es Joomla ?
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
PHP Barcelona Conference 2009
Joomla: CMS
-Multiidioma, Localización en más de 75 lenguas
-Software Libre: libertades del software
-Gran comunidad de desarrolladores-200.000 personas en todo el mundo-> Joomla evoluciona muy y muy rápido,
constantmente se están haciendo mejoras, corrigiendo errores, problemas de seguridad, etc.
Sobre Joomla: ¿ Por qué es interesante ?
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Sobre Joomla: Premios
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Què és Joomla ?Què és Joomla ?Joomla ? En números...
- > 15 millones de descárgas >= 2005- 5 TB de tráfico/mes en los sites principales )- > 140.000 usuari0s registrados en el foro- 42 subforos internacionales- 9500 desarrolladores- 3000 extensiones
Alexa Ranking -> top 750 de totes las webs mundiales
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: CMS
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Con el Joomla! podemos crear desde sitios web personales hasta sitios corporativos. Algunas de las cosas para las que se puede utilizar el Joomla! son:
-Web Presenciales -Web Corporativas-Reservas Online -Diarios online, publicaciones-Portales comunitarios -Web de Organitzaciones no lucrativas-Web de Escuelas -Web Personales-Web de Turismo -Redes Sociales-Intranets -Extranets
Sobre Joomla: Lo que podemos hacer
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Ejemplos
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: CMS
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
-Gestor de usuarios -Gestores de Documentos-Galeria de Imágenes -Foros y chats-Tienda Virtual -Boletines de noticias-Calendarios -Generadores de Formularios Dinámicos-Blogs -Subscripciones-Baners -Comentarios/valoraciones de noticias-Multitud de diseños -Directorios de Empresas o
Organizaciones
...y mucho más
más de 3000 extensiones ...
Sobre Joomla: algunas funcionalidades
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Sobre Joomla: Instalación
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Requisitos de Joomla:
PHPMysqlApache
La forma fácil de empezar es instalar
Windows XAMPP
Linux urpmi apache mysql php5 o bienapt-get apache mysql php5
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Sobre Joomla: Instalación
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Descargar la última versión de Joomla: actual 1.5.14
http://joomlaspanish.org http://joomla.org
Descomprimimos el paquete a /var/www/hmtl/joomla1.5.14
Accedemos con un navegador al directorio:
http://localhost/joomla1.5.14
-> se ejecuta el instalador de Joomla
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: CMS
Sobre Joomla: Instalación
Sobre Joomla: Panel de administración
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Frontend Backend
Sobre Joomla: Funcionalidades Básicas
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Veremos:
-Gestión de idiomas-Gestión de plantillas-Gestión de Contenido, secciones, categorías, textos, imágenes, -Gestión de Menús-Gestión de Contactos-Gestor de usuarios
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Sobre Joomla: Plantillas
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Separación del contenido del diseño
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Contenido
Sobre Joomla: Plantillas
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Instalación de una plantilla
Instalación y configuración de idiomas
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Componentes, Módulos
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Joomla se divide en una serie de funcionalidades:
-Componentes: se encargan de mostrar información referente al apartado dónde nos encontramos de la web.
-Módulos: “cajas” para mostrar información en la web
-Plugins: para ampliar el buscador, editores, etc
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Componentes, Módulos
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
COMPONENTE
Módulos
Componentes, Módulos
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Los mòdulos se pueden colocar en diferents posiciones
Instalación de componentes
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Ejemplo de instalación componentes y módulos
JoomFish : multiidioma
Jevents: Calendario de Eventos
Rokdownload: Documentos
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
-Calendarios: gestionar categorías y eventos
Sobre Joomla: Calendarios
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
-Gestores de Documentos: gestionar categorías, documentos, permisos, etc.
Sobre Joomla: Gestión de documentos
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
-Tienda Virtual: Familias, productos, imágenes, textos, carrito de la compra, pasarelas de pago: La Caixa, Paypal, etc
Sobre Joomla: Tienda Virtual
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Gestión de Temas, respuestas, etc
Sobre Joomla: Foro
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
-Boletines de noticias -> Communicator
-Galeria de imágenes
-Chats
-Blogs
-Comunidad de usuarios -> Redes Sociales
...y mucho más
Sobre Joomla: Otras funcionalidades
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Sobre Joomla: Contenidos
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Joomla estructura la información en secciones y categorias (1.5)
Sección NoticiasCategoria Deportes
Artículo 1 Barça - MadridArtículo 2 Rafa Nadal en el open de ...
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Sobre Joomla: Contenido, Menús
Joomla: CMS
Joomla permite crear entradas de menús de varios tipos
ArtículoBlog de SecciónBlog de CategoríaContacto...
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Sobre Joomla: Ejemplo 3, gestión de contacto
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
-Queremos gestionar la información de contacto
1-Modificamos los datos de contacto desde el panel de administración
2-Creamos la nueva entrada al menú del tipo contacto seleccionando el contacto que hemos modificado anteriormente
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Sobre Joomla: Ejemplo 4, gestión de usuarios y partes privadas
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
-Queremos gestionar que únicamente los usuarios registrados puedan acceder a apartados privados
1-Creamos el usuario (panel de administración) o bien se puede registrar (parte pública)2-El usuario hace Login y ve el contenido privado
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
JoomlaFuncionamiento básicoPlantillasMódulosComponentes: documentos, calendario, ...Secciones, categorias, ArtículosMenúsUsuarios
Hemos visto
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Joomla framework: introducción
-Módulos-Componentes-Plugins
Vamos a ver
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Desarrollo: introducción
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
PHP Barcelona Conference 2009
Desarrollo: Componentes, Plugins, Módulos
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
API
Arquitectura Model-View-controller
CRUD: Create, Retry, Update, Delete
Plugins: Authentication, User, Content, Search
PHP Barcelona Conference 2009
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Desarrollo: Componentes, Plugins, Módulos
Joomla usa convenciones para el desarrollo de componentes, módulos, etc
De tal forma que aceleramos el desarrollo simplemente siguiendo estas reglas como:
Nombre de los ficherosNombre de las classes, etc
PHP Barcelona Conference 2009
Desarrollo: Componentes, Plugins, Módulos
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Importancia del patrón MVC
Programar en PHP puede ser:
- Programació sin orden, sin nigún tipo de ingeniería- Las modificaciones en el codigo son lentas- La reutilitzación de código es práctictamente imposible - Codi rebuscado -> codi Spaggethi
PHP Barcelona Conference 2009
Desarrollo: Componentes, Plugins, Módulos
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Importancia del patrón MVC
Desarrollar aplicaciones desde el punto de vista de la Ingeniería de Software Garantiza:
- Mantenimiento- Escalabilidad- Reutilitzación- Robusto y libre de errores
-> Estructurar el código en 3 niveles hace que cada parte tenga su función -> código más estructurado -> más fácil entender codigo de terceros
-> aumento de productividad
PHP Barcelona Conference 2009
CONTROLLER
MODELO
VISTA
Petición
Respuesta
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Desarrollo: Componentes, Plugins, Módulos
Controlador: punto de entrada a la aplicación la lógica necesaria y muestra la vista asociada.
Modelo: Es la representación específica de la informació. Se encarga de acceder a los datos
Vista: Muestra la información que el módelo a generado.
PHP Barcelona Conference 2009
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Módulos
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Desarrollo: Módulos
Desarrollo: Módulos
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Estructura de un mòdulo: MVC
mod_nombremodulo.php: ejecuta la clase modelo y pasa el resultado al templateModelo: encargado de acceder a los datosTemplate: encargado de mostrar los datos
mod_nombremodulo.phpmodelo
Base dedatos
templatepetición
PHP Barcelona Conference 2009
Desarrollo: Módulos
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Modules/mod_prueba.phphelper.php
Tmpl/default.php
mod_prueba
helper.php
default.php
Petición
Respuesta
PHP Barcelona Conference 2009
Desarrollo: Módulos
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
mod_nombremodulo.php: ejecuta la clase modelo y pasa el resultado al template
<?require_once (dirname(__FILE__).DS.'helper.php');
$params->def('count', 10);$list = modPruevaHelper::getMensaje($params);
require(JModuleHelper::getLayoutPath('mod_prueba'));?>
mod_prueba
helper.php
default.php
PHP Barcelona Conference 2009
Desarrollo: Módulos
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Modelo
<?Class modPruebaHelper{
Function getMensaje ($params){
Return “hola mundo”;}
}?> mod_prueba
helper.php
default.php
PHP Barcelona Conference 2009
Desarrollo: Módulos
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
vista
<?Echo $mensaje;?>
mod_prueba
helper.php
default.php
PHP Barcelona Conference 2009
Desarrollo: Módulos
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
PHP Barcelona Conference 2009
Desarrollo: componentes
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
COMPONENTE
PHP Barcelona Conference 2009
Desarrollo: Plugins
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Extensiones que permiten modificar el funcionamiento de Joomla
Se ejecutan cuando se disparan determinados eventos como:
-Preparar contenido-Mostrar Contenido-Login del usuario-Creación de un usuario
PHP Barcelona Conference 2009
Desarrollo: Plugins
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Ejemplo: plugin de contenido
PHP Barcelona Conference 2009
Desarrollo: Plugins
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Prueba.php
PHP Barcelona Conference 2009
Desarrollo: Plugins
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Resultado
PHP Barcelona Conference 2009
Desarrollo: Plugins
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Otros ejemplos
PHP Barcelona Conference 2009
Plugin votación
Desarrollo: Plugins
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Ejemplos: plugin user
Se disparan cuando se crea/modifica un nuevo usuario
PHP Barcelona Conference 2009
Joomla elgg
On Createuser
onlogin
Desarrollo: Plugins
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Otros ejemplos: plugin auth
Nos permite autenficar un login/creación de usuario contra otro sistema, por ejemplo LDAP, etc
PHP Barcelona Conference 2009
Joomla 1
Joomla 2
Sistema usuarios AuthentificacioAuthentificacion
userscentralitzado
Si exiteix
autenficado
si
creamos usuario no
okuser
Resumen
Joomla: Gestor de Continguts Web per a tot tipus d'empresaJoomla: Gestor de Continguts Web
Ejemplos: plugin user
Se disparan cuando se crea/modifica un nuevo usuario
PHP Barcelona Conference 2009
Joomla elgg
On Createuser
onlogin
Como ampliar las funcionalidades de Joomla desarrollando:
-Módulos-Componentes-Plugins
Según el convenio de Joomla y Arquitectura MVC
Hemos visto
Joomla: Gestor de Continguts Web per a tot tipus d'empresa
Jornada PIMEs, Volcànica Lan Party 2008PHP Barcelona Conference 2009
Joomla: CMS
Jordi Catà Castillo - [email protected] Ingeniería Web - www.dunlock.com
PHP Barcelona Conference 2009
¿ Alguna pregunta ?
Jordi Catà Castillo - [email protected] Ingeniería Web - www.dunlock.com
PHP Barcelona Conference 2009
Gracias por vuestra asistencia