Indice del sito

Archive for Agosto, 2007

You are currently browsing the archives of echo .

blog fork

Ho aperto un nuovo blog su http://chirale.wordpress.com/. L’ho fatto per due ragioni: la prima è che volevo uno spazio in cui scrivere esclusivamente in inglese, la seconda è che lo spazio offerto qui su altervista ha troppe limitazioni.

Posted by echo on Ago 9th 2007 | Filed in manutenzione blog, computer | Commenti (0)

Abilitare i link agli utenti Drupal in Gallery2

Problema: Gallery2 offre un mucchio di funzionalità aggiuntive rispetto al modulo Image di Drupal, ma sta un passo indietro rispetto al collegamento autore/contenuto, dato che i singoli elementi di Gallery2 non sono trattati come nodi di Drupal.

Uno dei problemi maggiori è che, usando il modulo Gallery, non è immediatamente possibile collegare il proprietario di una immagine al corrispettivo utente Drupal. Ecco come risolvere questo problema.

La strada più faticosa non sempre è la più saggia

Come tutte le cose divertenti, ci sono almeno un paio di modi per farlo: il primo è segnalato su http://drupal.org/node/155195, ed implica interrogazioni SQL e la modifica/creazione dei seguenti files:

gallery2/themes/floatrix/theme.inc
gallery2/themes/floatrix/templates/local/photo.tpl
gallery2/modules/core/templates/blocks/ItemInfo.tpl

e regala imprecazioni assortite. Dopo qualche tentativo, ho optato per la soluzione due.

Usare Pathauto

Il modulo Pathauto fa al caso mio (e vostro, se state ancora leggendo). Parto dalla premessa che, usando il modulo Gallery, i nomi utente di Drupal e Gallery2 siano i medesimi. Non gli ID, ma i nomi utente. Se la prima soluzione interrogava la tabella g_externalId per trovare la corrispondenza fra l’id utente di Gallery2 e quello di Drupal, ora uso direttamente il nome utente di Gallery2 per arrivare alla relativa pagina utente su Drupal.

  1. modificare il file gallery2/modules/core/templates/blocks/ItemInfo.tpl come segue
      </div>
      {/if}
    
      {if !empty($showOwner)}
      <div class="owner summary">
        <a href="/?q=user/{$item.owner.userName}">
              {g->text text="di %s" arg1=$item.owner.fullName|default:$item.owner.userName}
        </a>
      </div>
      {/if}
    
      {if !empty($showSize) && $item.canContainChildren && $item.childCount > 0}
    

    Ho semplicemente aggiunto il link a /?q=user/{$item.owner.userName}, dove $item.owner.userName è il nome dell’utente Gallery2.

    In tutte le pagine di Album e Foto, ora comparirà il link all’utente Drupal, che però va ancora abilitato.

  2. Scaricate ed installate il modulo Pathauto all’indirizzo http://drupal.org/project/pathauto.
  3. Dal pannello di amministrazione admin/settings/pathauto, impostate come preferite il pattern per gli alias (in questo caso user/[user])
  4. Selezionate Bulk update user paths per generare un alias per ogni utente Drupal già iscritto. I successivi verranno aggiunti automaticamente.
  5. Dopo aver premuto Salva configurazione, i link fra Gallery2 e Drupal saranno consistenti.

Blocchi immagine

Per i blocchi immagine, si segue la stessa procedura indicata sopra sul file
gallery2/modules/imageblock/templates/local/ImageBlock.tpl

es.

      {if isset($ImageBlockData.show.owner)}
      <span class="summary">
         di  <a href="/?q=user/{$block.owner.userName}">
           {g->text text="%s" arg1=$block.owner.fullName|default:$block.owner.userName}</a>
      </span>
      {/if}

Posted by echo on Ago 1st 2007 | Filed in drupal | Commenti (0)