Recursos

Aquesta és la porta d'entrada a les meves col·laboracions amb el projecte de Drupal. Aquí hi trobareu els mòduls que vaig desenvolupant juntament amb d'altres recursos (demostracions, cursos...) relacionats amb Drupal.

Trobareu les demostracions dels meus mòduls a http://demo.garrigos.cat/

Altres

Anecdotàrium

Una vegada em van demanar que redactes un parell d'anècdotes sobre Drupal per sortir publicades en un anecdotari. I ara les recullo aquí juntament amb les que puguin anar sorgint amb el temps.

Topics:

Drupal vs. Joomla!

[img_assist|nid=310|title=Joomla vs. Drupal|desc=|link=none|align=left|width=336|height=447]És conegut de molta gent entesa en CMSs (Content Management System, és a dir, Gestors de Contingut) que des de sempre hi ha hagut una certa rivalitat entre els membres partidaris d'un gestor o un altre. Des que tot plegat va començar amb el mític PHP Nuke s'han creat molts gestors de contingut de codi obert. Alguns de nous i d'altres com a derivacions d'un projecte anterior. Cada un d'aquests projectes té la seva comunitat més o menys vertebrada amb un desig d'evangelització més o menys gran. El cert, però, és que cada vegada s'entén més que el que és més productiu és la col·laboració mútua, i que el compartir experiències i coneixements entre els diferents projectes no pot fer més que beneficiar-nos a tots. De manera que aquelles actituds més tancades davant dels projectes aliens són cada vegada menys habituals.

Aquesta anècdota va passar en la celebració d'una conferència conjunta que es va celebrar a Barcelona fa uns mesos amb el títol “Joomla vs. Drupal”, com si es tractés d'un combat entre gestors. En aquella conferència jo representava la part del Drupal i l'Alberto de la Morena “lluitava” per la part de Joomla. Des de bon començament ens vam posar d'acord tots dos que el no calia fer era muntar un numeret de lluita grecoromana sobre fang, sinó que, naturalment, el que calia era presentar el millor de cada gestor sense entrar en les febleses de l'altre. Vam acordar fer una presentació amb dos projectors paral·lels en el que cada un de nosaltres aniria exposant els aspectes més positius del projecte que representàvem, sobre uns temes prèviament acordats, de manera intercalada. Poc em podia imaginar jo que l'Alberto, tant seriós i convincent com es va mostrar en la nostra reunió de preparació de la conferència, era en el fons un paio molt de la broma.

Així que va arribar el dia de la conferència em vaig adonar que allò tindria repercussions en les dues comunitats. Hi havia una gentada de por! La sala de la Casa del Mig del Parc de l'Espanya Industrial estava de gom a gom, amb gent dreta als passadissos i amuntegada a la porta d'entrada. Quan vaig arribar l'Alberto encara no hi era. De fet va arribar força més tard del que havíem quedat. Suposo que estava preparant el seu “numeret”, però allò ni se'm va passar pel cap. Finalment va arribar amb una bossa d'esports força gran a la que jo, la veritat, no vaig para massa l'atenció. Un cop vam tenir-ho tot més o menys enllestit a la sala, amb els dos projectors en marxa, amb els nostres ordinadors connectats i la gent esperant, l'Alberto va marxar. “Quin mal moment per anar al lavabo”, vaig pensar, “Quina falta de previsió”. En fi, no podia fer res més que esperar-lo. Quan de cop, abans que tornés, ja vaig començar a sentir una remor que venia de la sala que hi havia abans de la nostra. Rialles i sorolls. “Què passa ara?”. I de cop veig l'Alberto entrant de nou a la sala de la conferència vestit amb unes sabatilles d'esports amb molts cordons, pantalons curts, un xandall amb caputxa i uns guants de boxa posats a les mans. Ja us podeu imaginar la riallada de tots els assistents, i la meva, és clar. Feliçment tot es tractava d'una broma totalment inesperada que vaig encaixar com un senyor. Això sí, després d'un ensurt d'unes dècimes de segon en les que vaig pensar: “ai que la ballarem...”.

Publicat a : http://www.cibersociedad.net/congreso2009/anecdotarium/?p=13

L’origen de Drupal

L'etimologia del propi nom del projecte, drupal, és una anècdota força curiosa.

El fundador de drupal, en Dries Buytaert, estudiava a una universitat belga quan va escriure un programa en php per compartir idees i coneixement entre els seus companys de la facultat per ser usat dins la xarxa interna de la mateixa facultat. El programa funcionava prou bé i van decidir penjar-lo a internet per poder-hi tenir accés des de fora de la facultat. Va ser el moment de buscar un domini on allotjar el codi.

La seva intenció inicial va ser posar-li el nom “Dorp”, que en flamenc significa “poble”, donat que el que havia creat era, de fet, una comunitat virtual. Desgraciadament tots tenim el nostre costat dislèxic i en el moment de fer el registre del domini dorp.org no es va adonar que en realitat estava registrant drop.org. Un petit canvi amb una gran diferència de significat, ja que “drop” en anglès significa “gota”. Tanmateix en aquell moment, això passava cap a l'any 2000, no va tenir més transcendència fins que drop.org va deixar de ser un projecte usat per uns quants amics i va començar a ser usat per moltíssima més gent arreu del món amb ganes d'aportar-hi millores. En Dries va decidir llavors alliberar el codi i crear un projecte de codi obert. Calia, doncs, un nou domini pel projecte.

En Dries va pensar a buscar un derivat del domini actual drop.org per mantenir una relació amb l'origen de tot plegat. Així que buscant en l'anglès i el flamenc, els dos idiomes que ell domina, va trobar drupal, que no és res més que la pronunciació anglesa de la paraula “druppel”, és a dir, “gota” en flamenc. Així s'entén, a més, que la icona blava que representa el projecte tingui una forma de gota.

Publicat a: http://www.cibersociedad.net/congreso2009/anecdotarium/?p=11

Conferències, xerrades i presentacions

Llistat de recursos sobre conferències, xerrades o presentacions en les que he intervingut. Aquí hi trobareu els meus Keynotes en format pdf.

Joomla vs. Drupal, febrer 2009

AdjuntMida
drupal_vs_joomla.pdf27.29 MB

Presentació en format pdf (enzipat) de la conferència que vaig donar el 2 de febrer de 2009, conjuntament amb l'Alberto López, a la Casa del Mig del Parc de l'Espanya Industrial de Barcelona, dins el marc del festival Visualsound 2009.
Afegeixo un enllaç a un article interessant sobre una comparativa dentre aquests dos gestors feta per un consultor d'IBM: http://www.topnotchthemes.com/blog/090224/drupal-vs-joomla-frank-comparison-ibm-consultant

Presentació Drupal 6

Casa Golferichs 09

AdjuntMida
introduccio_a_drupal.pdf20.7 MB

Aquesta presentació adjunta és la que vaig donar a la Casa Golferichs el 23 de febrer de 2009.

Centre Cultural Les Corts 09

Presentació de Drupal en el Marc del Dia de la llibertat del programari, organitzat per la gent de caliu, que es va celebrar el 19 de semtembre de 2009 al Centre Cultural de les Corts.

presentacio_drupal6.pdf

Presentació Panels 3

AdjuntMida
panels_3.pdf7.43 MB

Aquesta és la presentació que vaig donar al Citilab de Cornella, el dissabte 13 de juny del 2009, sobre el mòdul Panels 3, en el marc de les sessions de treball de Drupal.cat.

Què hi ha de nou a Drupal 7?

AdjuntMida
drupal7.pdf2.39 MB

Avui 18 de setembre, en el marc del Dia de la Llibertat del Programari, la gent de Caliu ha organitzat una jornada de presentacions i tallers, en la que jo faig una presentació sobre les novetats del Drupal 7.

Adjunto el pdf d'aquesta presentació.

Cursos i tallers

Aquest és un llistat de cursos i tallers que dono arreu. Els tallers són sessions de 3 hores sobre un tema de drupal concret. Els cursos es celebren durant diversos dies i poden ser més o menys extensos. Entreu en la descripció d'algun dels tallers o cursos per veure'n més informació i per reservar una plaça en una següent edició del curs o taller.

No dubteu a posar-vos en contacte amb mi per qualsevol consulta que em vulgueu fer.

Topics:

Proper curs de Drupal presencial al PUnt Multimèdia

El proper 28 de gener començo a donar un curs de Drupal cada dijous al vespre, de 19:30h a 21:30h, al Punt Multimèdia de la Casa del Mig, al Parc de l'Espanya Industrial de Barcelona, fins el 25 de març. Informeu-vos sobre els preus i forma d'inscripció.
Aquest es tracta d'un curs d'iniciació de Drupal, en el que tractarem temes com la instal·lació i configuració de Drupal, instal·lació i configuració dels mòduls més importants, adaptació del disseny i aplicacions pràctiques. En aquesta pàgina aniré publicant qualsevol informació relativa a aquest curs durant els propers dos mesos.

Topics:

Taller Drupal 6 a les Jornades de Programari Lliure 2009 de Barcelona

AdjuntMida
Taller_drupal_6.pdf9.64 MB

Aquesta és la presentació, en format pdf, del taller que vam fer durant les jornades de programari lliure de Barcelona, el passat divendres 3 de juliol de 2009.

Taller: Descoberta de Drupal 6

Destinataris: 
Qualsevol tipus d'usuari d'Internet amb curiositat per saber què és Drupal 6 i com funciona.
Requeriments dels alumnes: 
No es requereix cap coneixement tècnic específic.
Objectius: 
Amb aquest taller els alumnes adquireixen un coneixement bàsic del Drupal, els seus conceptes bàsics, com s'usa i el seu entorn de comunitat amb l'objectiu de poder prendre la decisió de seguir coneixent el Drupal... o no.
Descripció: 
<p>Aquest &eacute;s un taller pr&agrave;ctic en el que els alumnes &quot;s'embruten&quot; les mans amb el drupal des de bon comen&ccedil;ament. Durant el taller fem una instal&middot;laci&oacute; de Drupal 6 en local i comen&ccedil;em a crear contingut. Fem tamb&eacute; un rep&agrave;s dels conceptes b&agrave;sics de Drupal, donem una ullada general a l'administraci&oacute; d'un Drupal, veiem com s'instal&middot;len m&ograve;duls i plantilles i com s'articula la comunitat drupalera, on podem trobar m&eacute;s informaci&oacute; i ajuda, quins web hi ha fets amb Drupal, etc.<b><br /></b></p>
Notes: 
Aquest taller encara no té cap edició creada. Si ens voleu ajudar a decidir quin és el millor horari de la primera edició d'aquest taller podeu votar la <a href="/node/274">nostra enquesta sobre la preferència d'horaris</a>.

Curs: Drupal 6 per a desenvolupadors (20h)

Destinataris: 
Aquest curs està destinat a aquelles persones amb coneixements avançats sobre internet que no coneguin Drupal. Amb aquest curs tindran una visió general del Drupal des d'un punt de vista més tècnic, tant en els aspectes de l'administració del drupal via web com del de la seva instal·lació en diverses modalitats i l'escriptura de mòduls o l'adeqüació de plantilles gràfiques.
Requeriments dels alumnes: 
No es requereix saber programar amb php però sí certs coneixements de programació amb qualsevol llenguatge. Cal també tenir coneixements d'HTML i CSS i no tenir por de fer servir la línia de comandaments. Dubteu que tingueu els requeriments? <strong><a href="/contact">No dubteu a consultar-m'ho</a></strong>.
Objectius: 
L'objectiu principal d'aquest curs és tenir un coneixement general del Drupal que permeti a un usuari, amb coneixements tècnics, l'administració avançada del drupal així com adquirir les eines mínimes necessàries per a la programació d'un mòdul de drupal i la creació o adeqüació de plantilles gràfiques.
Descripció: 
Durant el curs els alumnes disposaran d'un servidor privat accessible des de qualsevol punt d'accés a internet pel seguiment de les matèries i exercicis. Aquestes matèries es dividiran en cinc camps diferents: <ol> <li>Instal·lació: diverses maneres d'instal·lar Drupal 6 i diverses configuracions d'instal·lació. </li> <li>Administració i conceptes bàsics. </li> <li>Administració avançada: mòduls contribuïts més importants. </li> <li>Programació amb Drupal: eines de desenvolupador. </li> <li>Plantilles gràfiques: adeqüació i creació de noves plantilles. </li> </ol>
Notes: 

Curs: Introducció a Drupal 6 (18h)

Destinataris: 
Aquest curs està destinat a les persones interessades a aprendre el funcionament del Drupal, com es crea i es manté el contingut i quins són els millors mòduls per obtenir qualsevol funcionalitat.
Requeriments dels alumnes: 
Els alumnes d'aquest curs no necessiten tenir cap coneixement tècnic específic.
Objectius: 
Amb aquest curs l'alumne aconseguirà sentir-se confiat amb l'administració d'un Drupal.
Descripció: 
Durant aques curs cada alumne disposarà d'un servidor a internet per poder portar a terme tots els exercicis amb el que podrà treballar des de qualsevol lloc i en qualsevol moment. El temari del curs inclou el procés d'instal·ació complert de Drupal en un servidor públic, amb tots els problemes que això pot comportar i les solucions aplicables. També inclou una visió extensa de l'us i administració de tots els mòduls del nucli del Drupal així com una primera aproximació a alguns dels mòduls contribuïts més importants com el views i el cck.
Notes: 

Mòduls

Llistat dels mòduls per drupal que he desenvolupat o que m'encarrego de mantenir

EC Role Price

Aquest és un connector pel mòdul ecommerce per tal que es puguin tenir diferents preus per a cada rol d'usuari. Amb aquest mòdul, a diferència del 'role discount' que ja porta l'ecommerce, que permet fer descomptes per cada role, permet assignar un preu diferent per a cada producte i cada rol, i no només un descompte general per a tots els productes segons el rol.

Trobareu aquest mòdul a drupal.org a http://drupal.org/project/role_price

Menu block split

Com a resultat del desenvolupament d'un mòdul específic per a un client, he desenvolupat aquest mòdul menu_block_split.

Aquest mòdul permet dividir en dos blocs un block de menú. En un bloc s'hi veu el primer nivell de navegació del menú i en un altre els segón i següents nivells de navegació. Això permet tenir un sistema de navegació de menús dividit en dos blocs i, per tant, en dues zones diferents de la web.

És un funcionament similar al dels enllaços principals de Drupal (primary links) però generalitzat a qualsevol tipus de menú, cosa que el Drupal no permet de manera estàndar.

Podeu veure una demostració d'aquest mòdul a http://menu_block_split.demo.garrigos.cat/

El mòdul el trobareu a http://drupal.org/project/menu_block_split

 

 

Node time tracker

Aquest mòdul permet fer un seguiment del temps per a un tipus de node concret. Un cop sel·leccionat el tipus de node, aquest mòdul crea un bloc visible quan es veu en aquest tipus de node, que permet engegar i parar el temps que després queda registrat per a cada node.

Mitjançant aquest mòdul, doncs, podem fer el seguiments d'unes incidències, per exemple, i controlar el temps que emprem per a la seva resolució.

Trobareu el mòdul a drupal.org a http://drupal.org/project/node_time_tracker

OG Author

Mòdul per Organic Groups que mostra el grup que origina una tramesa.

Vegeu-ne una demostració a http://og_author.demo.garrigos.cat/

El mòdul el trobareu a http://drupal.org/project/og_author

Range

Aquest mòdul de cck permet afeigr un nou camp numèric a qualsevol tipus de node amb una particular funcionalitat: permet configurar un rang pel valor del camp, de tal manera que el valor es mostra d'un color diferent depenent de si es troba dins del rang o no. Si es mostra dins el rang es mostra de color verd i si es troba fora del rang es mostra en vermell.

Vaig desenvolupar aquest mòdul pel projecte predircam.cat per poder portar un registre de valors d'analítiques.

Trobareu la pàgina del projecte a http://drupal.org/project/range

Tax by taxonomy

Un altre connector per l'ecommerce de drupal. Tax by taxonomy permet gestionar diferents impostos (IVA) mitjançant un vocabulari del sistema de taxonomia. Amb altres mòduls només es pot gestionar un únic impost per a tots els productes, però amb aquest mòdul es poden aplicar diferents valors (4%, 7%, 16%, etc) d'impost per a cada producte, que corresponen a cada terme d'un vocabulary.

Trobareu aquest mòdul a drupal.org a http://drupal.org/project/tax_by_taxo.

Traducció al català

El mòdul de traducció al català el mantinc i, juntament amb d'altres voluntaris, ajudo a la seva traducció, tot coordinant-ho a drupal.cat.

Localització del mòdul a drupal.org: Catalan translation

Usertabs

Usertabs és un mòdul que col·loca les pestanyes d'edició del compte d'usuari sota mateix de la pestanya de vista del compte. Això és quelcom que sempre he trobat una mica confós en Drupal: que en la vista del compte d'usuari, si hi ha actiu algun mòdul que habiliti alguna pestanya extra en aquesta vista, quedi la pestanya d'edició del compte al mateix nivell que la resta de pestanyes, en tant que és, de fet, una pestanya que depèn funcionalment de la pestanya de vista. Amb aquest mòdul es resol la confusió.

Trobareu el mòdul a http://drupal.org/project/usertabs

Pedassos

Conjunt de pedassos publicats a drupal.org o drupal.cat, del nucli o de mòduls contribuïts.

Trucs

Topics:

Recalcular un camp calculat amb el mòdul rules

De tots és conegut que el camp calculat de cck és molt útil per guardar a la base de dades valors calculats en funció d'altres valors. El problema que té és que només es recalcula el valor quan s'edita el node en el que hi ha el camp calculat. Una forma que tenim per solucionar aquest problema és mitjançant el mòdul rules (regles). El mòdul rules és l'evolució del workflow ng (workflow next generation), un mòdul que ja en el seu moment va ser tota una revolució. Rules és, doncs, el mòdul que heu de fer servir a drupal 6.x si necessiteu crear fluxes de treball diversos. Un flux de treball és un seguit d'accions determinades. Un flux de treball es pot executar en un moment concret, és a dir, quan una altra acció o event, anomenada disparador, ha tingut lloc. A cada acció del flux de treball se li pot aplicar, també, una o diverses condicions, de manera que només s'executarà si es compleixen totes les condicions. En el nostre cas, doncs, el que necessitem és crear una regla que, quan es compleixi unes determinades condicions, un node determinat es carregui i es torni a guardar (acció d'actualitzar un node) perquè es recalculi el camp calculat que inclou. Aquest és el procés. Per crea una nova regla aneu a admin/rules/trigger i feu clic a la pestanya *Add new rule*. Afegiu el nom de la vostra regla al camp *Label* [img_assist|nid=312|title=|desc=|link=none|align=none|width=542|height=112] Després heu d'especificar el disparador que farà que aquesta regla, aquest flux de treball o conjunt d'accions, es posin marxa. Nosaltres volem que el camp es recalculi quan el node que conté el camp calculat estigui a punt de visualitzar-se. Veuràs el camp *Event*. [img_assist|nid=313|title=|desc=|link=none|align=none|width=342|height=71] Si hi fas clic es desplegarà una llista de possibles disparadors, que pot ser més o menys llarga en funció dels mòduls que tinguis activats i que incorporin un disparador per *rules*. selecciona l'event *Content is going to be viewed*. [img_assist|nid=314|title=|desc=|link=none|align=none|width=327|height=448] Tot seguit veuràs una pantalla d'administració d'aquesta nova regla, amb un apartat *Rule elements* que inclourà les condicions per les quals aquesta regla s'executarà i les accions concretes que farà. [img_assist|nid=315|title=|desc=|link=none|align=none|width=393|height=221] Fes clic a *Add a condition* per afegir una condició. Veuràs el formulari per afegir una condició. [img_assist|nid=316|title=|desc=|link=none|align=none|width=276|height=176] Si fas clic al camp *Select the condition to add* tornaràs a veure un desplegable amb les condicions disponibles. Volem que aquesta regla només s'executi si el tipus de contingut és del tipus que conté el camp calculat. No té cap sentit que s'executi quan estiguem a punt de veure un tipus de contingut que no conté cap camp calculat. selecciona *Content has type* i fes clic a *Next* [img_assist|nid=317|title=|desc=|link=none|align=none|width=256|height=349] Accedeixes a la configuració d'aquesta condició. Cada condició té una etiqueta amb un valor per defecte que pots canviar, una configuració d'arguments i uns paràmetres determinats i que poden ser únics de cada condició. En aquest cas la pantalla és la següent [img_assist|nid=318|title=|desc=|link=none|align=none|width=504|height=640] Ara només cal que seleccionis el tipus de contingut que tingui el camp calculat i guardis la configuració fent clic al botó del peu del formulari. Ara veuràs la pantalla de configuració principal de la regla amb una condició nova. Sota de l'apartat *IF* (si condicional) hi ha les condicions i sota de l'apartat *DO* (fer) hi ha les accions. [img_assist|nid=319|title=|desc=|link=none|align=none|width=386|height=271] Pots continuar afegint més condicions, si vols, o afegir una acció. Dependrà del tipus de càlcul que facis que et convindrà afegir més condicions o no. Per exemple, podries tenir un càlcul que segons una condició determinada el resultat fos null o en blanc, o que donés un resultat determinat si encara no es pogués fer el càlcul en el moment de crear el node (per exemple si necessites l'nid del node que s'està guardant). En aquest cas et convindria tenir una condició que digués 'recalcula el camp si el valor del camp és buit' o 'recalcula el camp si el valor del camp és x'. Si no hi afegeixes cap més condició has de tenir present que cada vegada que es vegi un node del tipus que has seleccionat abans es farà el càlcul, i ho has de tenir en compte per si el càlcul en concret fos més o menys complex i pogués col·lapsar el sistema. Imagina't que has fet una vista amb views que llista els títols dels nodes d'aquest tipus i que la llista mostra els 50 primers títols. Això implicaria 50 recalculacions per cada pantalla mostrada. Si tens poques visites potser no és important però si en tens moltes, i el càlcul és complex, ho podria ser. Ara hem d'afegir l'acció de guardar el node que estem a punt de veure. Quan drupal està a punt de mostrar un node, primer l'ha hagut de carregar, per tant ara no cal que li diguem que ho faci, ja el té carregat. Fes clic a l'*Add an action* de sota del *DO*. Al desplegable del camp *Select an action to add*, selecciona *Save a content* [img_assist|nid=320|title=|desc=|link=none|align=none|width=361|height=437] Veuràs el formulari de configuració de l'acció que, com en el cas de les condicions, pot ser diferent en funció del tipus d'acció que triïs. A l'apartat de configuració de l'argument selecciona *viewed content* i desa el formulari. [img_assist|nid=322|title=|desc=|link=none|align=none|width=256|height=124] Arribats a aquest punt, la regla ja fa el càlcul cada vegada que es mostra el node, però hem d'afegir una darrera acció, la de tornar a carregar el node. Per què? Molt simple, perquè el node que té carregat el drupal en aquest punt és el que no conté el càlcul fet. El càlcul s'ha regenerat en guardar el node, que s'ha fet DESPRÉS de carregar-lo, per tant, el càlcul que veurem per pantalla correspondrà a la càrrega anterior. Si volem, doncs, veure el càlcul actualitzat, hem de tornar a carregar el node, que serà el que s'acabarà mostrant. Afegim, doncs, una nova acció i al camp desplegable seleccionem *Load content by id*. [img_assist|nid=323|title=|desc=|link=none|align=none|width=362|height=470] Fem clic a *Token replacement patterns* i després a *Replacement patterns for viewed content*. [img_assist|nid=324|title=|desc=|link=none|align=none|width=516|height=426] Veuràs les opcions de què disposes. La que ens interessa és [node:nid]. Això és el que has de col·locar al camp *Content ID*. [img_assist|nid=325|title=|desc=|link=none|align=none|width=232|height=59] El que li estem dient és que faci servir l'nid del node, que estem veient, com a argument per tornar a carregar el node. Ja pots guardar el formulari. Ara sí que tindrem el node amb el càlcul que acabem d'actualitzar i es mostrarà amb el càlcul actualitzat. Com hauràs pogut veure, el mòdul rules és un mòdul molt potent que ens permet moltes possibilitats. No tinguis por a jugar amb ell i a treure-li el màxim profit. Si mai tens problemes i no estàs segur de si està funcionant correctament, el mòdul disposa d'una opció de configuració per a depurar errors i et mostra un registre d'accions a l'àrea de missatges de la pàgina web. Aquesta n'és una mostra del registre de la nostra acció, amb una condició més (comprova que el camp field_alimentador estigui buit) [img_assist|nid=326|title=|desc=|link=none|align=none|width=493|height=239]

php snippets

Els snippets de php són petits fragments de codi php que es poden incrustar en blocs o pàgines de drupal i que aporten unes determinades funcionalitats. Com molts altres usuaris de drupal.org, en faig servir tot sovint i alguns els publico al manual d'snippets de drupal.org.

Aquí en trobareu una sel·lecció.

Menús dividits en blocs

Aquest snippet permet tenir el menu d'enllaços principals dividit en dos blocs, els quals després podeu posar en diferents regions, com en dues columnes diferents. Aquest codi l'heu de posar al primer bloc: 'menu')); } return $output; ?> I us mostrarà el primer nivell dels enllaços principals. Aquest codi el poseu en un segon bloc: Aquest segon bloc mostrarà el segon nivell i subsegüents de l'element actiu del primer bloc. Pràctic, no? Val a dir que aquest snippet funciona amb drupal 5.x tot i que penso que hauria de funcionar també amb 4.7. Localització d'aquest snippet a drupal.org: http://drupal.org/node/142352 Finalment, tinc publicat un mòdul que usa aquest snippet actualitzat perquè funcioni amb tot tipus de menus, no només els principals: menu_block_split

actualització mòdul image de 5.x-1 a 6.x sense passar per 5.x-2

En l'actualització del meu web a drupal 6 m'he trobat amb la sorpresa que el mòdul image s'ha d'actualitzar de la branca 5.x-1 a la 5.x-2 abans de passar a la 6.x, però jo ja tenia el drupal6 instal·lat i actualitzat. De manera que me les he hagut d'empescar per passar de la 5.x-1 a la 6 directament, i el resultat són aquestes dues consultes a la base de dades:

CREATE TABLE image ( `nid` INTEGER UNSIGNED NOT NULL, `fid` INTEGER UNSIGNED NOT NULL, `image_size` VARCHAR(32) NOT NULL, PRIMARY KEY (`nid`, `image_size`), INDEX image_fid(`fid`) ) /*!40100 DEFAULT CHARACTER SET utf8 */;

INSERT INTO image SELECT DISTINCT u.nid, f.fid, f.filename FROM files f INNER JOIN upload u ON f.fid = u.fid WHERE f.filename IN ('_original', 'thumbnail', 'preview')

La primera consulta és la mateixa que porta l'actualització del mòdul, però la segona està adaptada a drupal 6. Fixeu-vos que hi ha una llista de les mides que el mòdul té configurades. Aquestes són les mides per defecte. Si en teníeu alguna de més l'hi hauríeu d'afegir.

Trobareu aquest codi als manuals de drupal.org a http://drupal.org/node/342269#comment-1142647