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.
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.
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.
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.
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.
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.
user/[user])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}