Mis razones para odiar las tengo de sobra, y vienen de lejos. Pero de vez en cuando me toca recordarla…
Bastaría argumentar que Joomla es un elefante que consume recursos como si el mundo se fuera a acabar mañana. Podria escribir interminablemente de las 28 consultas a la base de datos que hace una instalacion estandard solo para mostar la portada. Pero esos son casos genéricos, me limitaré a describir un caso específico:
Un colega esta implementando un proyecto y necesita poner 2 modulos en el encabezado: topmenu y search, tal como se muestra en la imagen.
Algo tan simple como un menu de 3 elementos en el extremo superior (resaltado en rojo) y una caja de búsqueda abajo (resaltada en azul). Nada del otro mundo
El es diseñador, asi que le toca a Melvyn meter mano. Solo un par de lineas…
¡Manos a la obra!
Lo primero es insertar la llamada al modulo del menu superior:
Joomla nos provee de una sintaxis muy simple y organizada.
Abro un contenedor, llamado «topmenu» y cargaré el menú dentro de ese bloque. Dentro de Joomla se hace un menu con los pasos usuales, los cuales obviaré. Hecho.
Aqui vemos el resultado del codigo generado por Joomla:
Si esperabas un lista no-ordenada te vas a decepcionar. Joomla arma todo un rebulú con tablas y clases inútiles. Si se te hace dificil entender ese codigo espagueti, aqui lo tienes bien indentado:
Podemos notar que para algo tan simple como un menú de 3 elementos Joomla anidó 4 contenedores y luego colocó una tabla dentro y luego de la tabla una fila y una celda, para luego anidar los 3 enlaces dentro de una sola celda.
Yo hubiera aceptado (a regañadientes) si me da una celda por cada enlace, ¡pero esto no!
Los defensores de Joomla argumentarán simplicidad, es algo que se hace en 10 a 15 minutos, sin inconvenientes; pero no veo nada más sencillo que hacerlo a mano:
En realidad no lo hice a mano, simplemente tomé el codigo joomla y lo limpié, para seguir usando los CSS que ya tenia predefinidos en el template de Joomla. De haberlo hecho a mano hubiera quedado mas limpio, pues no usará la clase mainlevel, la cual está definida en los estilos de joomla.
Si puedo hacer esas 6 lineas en menos de 2 minutos, ¿Para que mortificarme buscandole la vuelta a un Joomla que me va a joder horas con esa vaina?
¿Porque mi queja? Porque hubo que joder para modificar el espaciado, alineación, cambio de estilos, etc. todo lo cual hubiera sido un millón de veces mas facil sin Joomla.
El codigo para llamar el módulo de búsqueda:
El código generado:
Mejor lo dejo hasta aqui…
Joomla es un invento hecho para que la gente haragana pueda presumir de «yo sé hacer algo» y tratar de allantar, usando una escopeta para matar una mosca.
Desde mi óptica, ningun desarrollador que se respete basaria su trabajo en Joomla.
¡Y eso que yo he comido mucho arroz comprado con trabajos en Joomla!
En los ultimos 5 años me he visto involucrado en mayor o menor grado, al menos 30 proyectos usando Joomla.
En este punto me preguntarán «Si joomla es tan inutil ¿Porque lo usas?»
La respuesta es muy simple: mi primera opcion hubiera sido no usar joomla, pero el proyecto no es mio, arrancó sin mi; se decidió por joomla por ser «mas rapido» y fácil… si, claro…
Peter Berg says:
" usando una escopeta para matar una mosca" jajajajaja
Johan Prevot R says:
ok
Manuel González says:
Si tienes un cliente de esos que se viven tirando a muerte y que en verdad son micro empresarios o nisiqueira tienen una oficina o un amigo que no le puedes cobrar mucho pero tampoco puedes trabajar mucho por el poco presupuestos y te piden un portal de noticias con galerías de fotos, manejador de eventos, etc… ¿Que harías?, dirás que tu no tiraras tanto código desde 0 por ese precio y no harás el trabajo?, ¿Pasaras horas, días, semanas o meses haciéndole la solución a la persona en cuestión desde 0 a pesar de que no te están pagando la hora ni a 50 pesos? o le dirías: Existe una opción económica y rápida de hacer esto pero no tendrá una personalizar al 100% y es preciso tomar medidas de seguridad regularmente (no porque tu código desde 0 sea más seguro sino porque el cms es muy popular) realizando actualizaciones además ha de entregarme los templates y si no tiene uno puede ir a templatemonster.com y comprar uno para joomla version x y yo se lo monto y personalizo pero debe tener presente que en algunas cosas nos veremos limitado a las funcionabilidades del cms/componentes?
Si escojes la última opción podrás seguir comprando mucho arroz con dinero producido rápidamente gracias a Joomla y tu dignidad como desarrollador/profesional no se verá manchada.
Sobre lo demás, ya entrando a detalles del código y demás te puedo decir que o bien puedes personalizar para que joomla haga lo que tu necesitas al generar un top menu o bien puedes usar CSS para darle formato sin problemas ya que como bien se vio joomla crea muchos componentes para eso o bien puedes usar la versión 1.6.x que si no me equivoco ya viene con xhtml valido.
Melvyn Pérez says:
Vamos Manuel González que todo el mundo sabe que tu eres un Joomlero, obviamente vas a defender lo indefendible.
¿De verdad defiendes el tollo de código que eso generó para un menú de 3 enlaces? ¿Defiendes esa tabla? #nojodatu
Manuel González says:
No estoy defendiendo nada solo te estoy dando tips y alternativas para que puedas tomar trabajos así y quedar dignamente pero leíste mi comentario por donde no era.
Peter Berg says:
Los Yunleros y los PLDistas tienen algo en común: defienden lo indefendible!
Peter Berg says:
Y para hacer ese dispatarico imagínate tú cuántos recursos del servidor se chupó ahí… cuando vaya a hacer cosas "macro", se tirará el servidor…
Juan Manuel B R says:
Yo solo te digo:
No tengo trabajo en estos momentos, un cliente me llama que me paga 1200€ al mes por eso y le digo que sí sin pensarlo, no tengo nada que perder y si mucho que ganar.
Renny Delgado says:
ok me gusto el POST
el detalle esta no es en usar siempre joomla, si no en cuando hay que usarlo y se cae un CMS en un proyecto de X O Y, o si se puede hacer sin la necesidad de el el problema que esta pasando que las personas para todo absoluta mente todo quieren usar JOOMLA, van y descargan una plantilla y arrancan a quitar o poner y hay es que viene el problema que creen que son WEBMASTER, y no han visto nada de WEB ni de CSS y hay esta la confusión no se trata de usar joomla o un CMS cual quiera es saber en que proyecto se trabajara, la inversión, y el tiempo del entrega del proyecto de hay parte que USAR y que no USAR 🙂
Eury Fernando Vallejo Perez says:
Ok entiendo el punto de melvyn, pero no hay que olvidar que es un cms, te asombrarias lo que Sharepoint hace para crear un menu tambien, anque la estructura de sharepoint es mas completa
Asinox says:
No es del todo cierto, que joomla genera un menu con tablas.
Vladimir Arias says:
Melvyn Pérez tengo para decirte que estas muy pero muy equivocado en lo que planteas de Joomla, de acuerdo estamos en que el performance no es el mejor pero viendo las capacidades que tiene creo que es compensable.
Joomla en su instalacion por defecto te genera los menues de la forma como lo describiste en el codigo de ejemplo que dices seria lo ideal, lo que pasa es que en algunas plantillas de joomla viene una carpeta llamada HTML que trae unos overrides de las vistas para deformar las vistas de los modulos y reformarlas con el tema que quieras… por ejemplo…
El marco de trabajo de los componentes, modulos y plugins de joomla es MVC(Modelo-Vista-Controlador) estos tienen una vista para desplegar los resultados en las peticiones de la aplicacion la cual si la conoces bien puedes modificar con un html dentro de tu template para darle una estructura diferente y darle estilos como te plazca.
Por ejemplo, si quisieras que un link en ves de estar dentro del <li> fuera el propio <li> por cuestiones de estilos.
Joomla
<ul class="menu">
<li>
<a href="<?php echo $linkmenu ?>"><?php echo $titulomenu ?></a>
</li>
</ul>
Override:
<ul class="menu">
<a href="<?php echo $linkmenu ?>">
<li>
<?php echo $titulomenu ?>
</li>
</a>
</ul>
Espero que nos sirva a todos…
Melvyn Pérez says:
Estas hablandome como si yo fuera un idiota. Te reto un mano a mano con Joomla, cuando quieras, donde quieras.
Puedo equivocarme, pero yo detallé hechos con pruebas tangibles. Si quieres argumentar debes presentar hechos, no teoria.
Trabajo con Joomla (a la fuerza) desde hace mas de 5 años. Mis 2 principales socios, los que mas trabajo me proveen, usan joomla, quizás por eso lo odio tanto.
Mencionar MVC de la forma en que lo haces me ofende. ¿Acaso crees que soy un niño de teta?
Primero trata de leer el post, luego rebatelo.
Un abrazo,
M.
Vladimir Arias says:
Me molesta mucho que hechen a la basura el trabajo de un conjunto de personas por un problema que no te has detenido a analizar… Mano a Mano aceptado… Joomla en su modulo de menu te da la opcion de como desplegar el menu, si horizontal, vertical o en ¨lista¨, que es el modo simple del cual hablas… mejor no digo mas porque diras que teorizo mucho, creo que no lo entenderas de todos modos porque estas horrorizado con joomla y ya tienes una idea de que es una porqueria…
Melvyn Pérez says:
Me molesta que te tomes el trabajo de insistir en replicar, sin leerme. Pero te daré el gusto de replicarte punto por punto:
– " Joomla en su modulo de menu te da la opcion de como desplegar el menu, si horizontal, vertical o en ¨lista¨"
Aqui lo tienes, ambos modulos de lista:
http://melvynperez.com/blog/wp-content/uploads/2011/07/menu-lista.png
http://melvynperez.com/blog/wp-content/uploads/2011/07/flatlist.png
Esa forma que dices genera 2 tipos mas y ambos repletas de codigo basura.
Lo cual demuestra que no estas leyendo antes de argumentar. A lo que yo hago referencia es que toma los elementos de menu y los anida innecesariamente dentro de una estructura que solo es basura innecesaria.
– "diras que teorizo mucho"
Falso, no teorizas mucho. Quien teoriza argumenta, tu solo discutes.
– "Me molesta mucho que hechen a la basura el trabajo de un conjunto de personas"
Demuestras una vez mas que no me has leido. Yo soy una de esas personas forzados a trabajar en Joomla desde antes de 2006.
Me molesta que te refieras a mi como si yo fuera un punchador, yo no estoy atacando tu trabajo, pues no lo conozco, de igual forma no conoces el mio.
– " por un problema que no te has detenido a analizar"
Lo analicé de sobra y lo presenté con detalles, pero te niegas a ver, observar, mirar, analizar.
Vladimir Arias says:
Para discutir estos puntos hay que hacerlo personal, son muchas cosas que explicarte, porque estoy seguro que estas errado en muchas cosas de las que hace joomla… que incluso no es que la han puesto para llenar el codigo de basura, sino siguiendo un tipo de estructura de menu para que los usuarios pudieran usar el de su preferencia y trabajar con su propio modelo de trabaoj…
Melvyn Pérez says:
Pues no lo haremos personal. Te dejo tranquilo: tu ganas.
Es imposible hacerlo personal y discutir cuando yo presento evidencia de sobra y tu insistes en "estas equivocado" sin presentar evidencia.
Coge una biblia y sal a predicar.
Que tengas un buen dia.
Vladimir Arias says:
Haré un screencast con los detalles uno por uno de las cosas que planteas aquí, porque como defensor de Joomla no puedo permitir que tires por el suelo la plataforma con la que trabajamos muchos desarrolladores en Rep. Dom.
Melvyn Pérez says:
Si a ti te funciona, dale palante. Yo soy desarrollador, yo estoy en capacidad de hacer desde cero, a puro codigo, en solo 2 minutos, lo que joomla te exige 10 minutos de punchadera.
¿Te funciona Joomla? ¡Palante!
Ambos comemos gracias a Joomla, solo que a mi me remuerde la conciencia saber que para comerme este mangú con salami tuve que joder con joomla.
Me siento como una mujer que le pega cuerno al marido, que no lo ama, que quiere divorciarse, pero necesita económicamente de él, pues el amante no tiene dinero…
No me gusta Joomla, ni tampoco me gusta el PRD, ni el brocoli, tofu, ni zanahoria, de hecho Amelia Vega no me resulta atractiva, cierto que es bonita, pero no me gusta. Y los iPhone me parecen una porqueria (y tengo uno!!! (Preguntale a Milca Peguero)), y
Incluso detesto la berenjena, no me la como ni con una pistola en la cabeza. Sin embargo mi familia del campo cultiva berenjena desde que el mundo es mundo. De no haber sido por la berenjena… ¿también harás un screencast con eso?
Vladimir Arias says:
Creo que ya no vale la pena hacerlo, con el comentario anterio creo que simplemente me quieres decir "No cambiare mi punto de vista por mas que me lo demuestres".
Con mis antiguos comentarios he querido ayudarte porque a mi tambien me ha pasado algo similar… principalmente con plantillas de Yootheme y Rocketheme, que para dar los estilos tan impresionantes se toman su tiempo haciendo overrides a los modulos en su plantilla…
Caso Cerrado!!!
Melvyn Pérez says:
Mientras tomo café a esta hora (8:15pm) estoy arreglando un joomla hackeado que sobreescribió una cantidad indeterminada de index.php en todo el dominio.
Good!
Vladimir says:
Criticamos lo que no podemos entender… Si tanto te incomoda joomla deberias rechazar esos trabajos que te llegan porque te complican la vida y no aceptas el mano a mano que propusiste porque sabes que no quedaras con razon!!!!
Peter says:
jajajajaj tu vé, ahí me gustó, «se les revienta el pecho», porque la única parte del código en que se pueden meter los inventores es en html o css…
Peter says:
Diablo, pero qué ñoños son los yunleros!!
JOSE says:
Vaya asco de joomla a partir de las veriones 1.5 , con la orientación de objetos joomla se va de madre. un monton de archivos, un monton de codigo
Miren un hello world de joomla 1.5 en adelante. Para flipar 7 archivos independientes y un monton de codigo enfermo para montar un simple foreach de una select.
PpToño Salinas says:
Tienes el teclado lleno de razón!!!!
Alexander Flórez says:
yo también odio Joomla, en realidad hemos creado un administrador de contenidos propio, sin basura como la tiene Joomla.
AridioDesign Santana Reynoso says:
si al insertar el módulo en el index.php le colocas style="none" o simplemente no le colocas ese atributo, te apuesto que no armaría esa maraña de códigos. simplemente declaraste una salida determinada la cual está compuesta por ese "espaguetti" digo yo, no sé… si estoy mal quémenme o algo xD
Lucas Sanchis Monsalve says:
yo tb odio joomla!
Luis Alberto Corona Martínez says:
yo tambien odio a joomla tengo 2 web hechas en joomla y una de esas es la mia y otra de un cliente rezo cada dia para que no me las jaquen en lo que cambio todo a php pues ya aprendi a programar.
Peter Berg says:
Todavia par de años después, me da risa lo de la escopeta… XD
Luciano Vega says:
Cuanta verdad en todo este asunto, justo ahora estoy sufriendo intentando hacer una actualización de joomla a la última versión, espero que el cliente acepte mi propuesta de pasarse a wordpress, algo que tal vez me llevara aún más tiempo, pero trabajaría las horas extras de forma gustosa con tal de liberarlo de joomla!