Archivio per marzo, 2010

Drupal 6 – Vitaminizzare la gestione delle revision

mercoledì, marzo 31st, 2010

Drupal fornisce una gestione delle revisioni dei nodi che permette di gestire le varie versioni di un documento. Il problema è che la pagina di gestione è bruttina e non è accessibile direttamente dal front-end. Ho scritto quindi alcuni snippet di codice PHP per ottenere una gestione più lineare e accessibile delle versioni.

Innanzitutto ho scritto una vista blocco che riporta le informazioni della attuale revisione. Così da dare un pò di informazioni su cosa si sta vedendo.

Questo il dettaglio:

Campi
Revisione nodo: Data di  creazione Data di creazione
Revisione nodo: Titolo Titolo
Revisione nodo: Messaggio di  log Messaggio
Poi ho pubblicato la stessa nel template specifico del content-type di cui volevo fare il controllo di versione:
<? if ($node->is_current): ?>
<?php
$block = module_invoke('views', 'block', 'view', 'og_news-block_4');
print $block['content'];
?>

Poi ho realizzato una serie di links dinamici come un pannellino di gestione che appare diverso a seconda che ci si trovi nella revisione attuale o in una di quelle precedenti:

<? if ($node->is_current): ?>
<div>
<p>Operazioni sull'ultima revisione pubblicata.</p>
<a href="/node/<?php echo $node->nid ?>/view"> Visualizza ultima revisione  </a>
<a href="/node/<?php echo $node->nid ?>/edit?destination=node/<?php echo $node->nid ?>/view">
 Modifica ultima revisione  </a>
<a href="/node/<?php echo $node->nid ?>/revisions"> Visualizza revisioni precedenti </a>
<a href="/node/<?php echo $node->nid ?>/delete"> Cancella tutto il documento </a>
</div>
<?php endif; ?>
<? if (!$node->is_current): ?>
<div>
<p>Operazioni sulla revisione che stai vedendo in questo momento.</p>
<p>Questa &egrave; la revisione numero <? echo arg(3) ?> del documento numero <?php echo $node->nid ?>. </p>
<a href="/node/<?php echo $node->nid ?>/revisions"> Torna alla lista delle revisioni </a>
<a href="/node/<?php echo $node->nid ?>/view"> Visualizza ultima revisione  </a>
<a href="/node/<?php echo $node->nid ?>/revisions/<? echo arg(3)
 ?>/edit?destination=node/<?php echo $node->nid ?>/view"> Modifica questa revisione  </a>
<a href="/node/<?php echo $node->nid ?>/revisions/<? echo arg(3) ?>/delete"> Cancella questa revisione </a>
</div>
<?php endif; ?>

E infine un messaggio per far capire in che revisioni ci si trovi:

<? if ($node->is_current): ?>
 <div> Questa &egrave; l'attuale revisione del documento. </div>
<?php endif; ?>
<? if (!$node->is_current): ?>
<div> Questa &egrave; una precedente revisione del documento. </div>
<?php endif; ?>

Drupal 6 – Invocare un modulo direttamente dal template tpl.php

mercoledì, marzo 31st, 2010

A volte non basta la gestione delle zone di pubblicazione di Drupal. E’ una dura realtà. E che si fa? Semplice, da veri grezzi dell’informatica si invoca il modulo che vogliamo pubblicare direttamente da template.

Il codice PHP da utilizzare è il seguente:

<?php
$block = module_invoke('module_name', 'block', 'view', 0);
print $block['content'];
?>

Dove è sufficiente indicare il nome del blocco e il delta. Il nome del blocco lo trovate nella pagina di configurazione del singolo blocco (in basso).

Il codice può essere utilizzato direttamente nei tpl.php del vostro tema. Può essere soggetto a condizioni e altro, del resto c’è tutto il php a disposizione!

L’uso più potente di questo sistema è a mio avviso la creazione di un blocco-vista dinamico, così da avere un singolo blocco che si popola secondo i parametri dinamici che gli vengono passati e pubblicabile dentro un singolo content-type o singolo nodo (!!!) a piacimento. Anche la grafica è parsabile e ci sono alcune variabili da poter stampare o meno.

Per i dettagli: http://drupal.org/node/26502

Nimblex – Linux semplice in prova

mercoledì, marzo 31st, 2010

Se avete necessità di avviare un pc con Linux senza perdere tempo, potete usare Nimblex!

Semplicissima, leggera, rapida da scaricare, masterizzare e avviare.

http://www.nimblex.net/

La uso per i recovery e copia dati quando il sistema operativo principale non vuole partire…