stampa questa pagina feed di signalkuppe.com/

You are hereIn attesa di Views 2 per Drupal 6

In attesa di Views 2 per Drupal 6

By admin - Posted on 09 June 2008

Ho provato Views 2 per Drupal6, ma onestamente è ancora lontanto dall'essere definito stabile! Nella nuova versione del blog volevo mettere in evidenza un articolo fra tutti quelli inviati. Non avendo a disposizione views, ho creato un blocco con del codice php scritto ad hoc. In particolare volevo estrarre, il titolo, le prime 30 parole del sommario (senza le eventuali immagini presenti) e un link "leggi tutto" al nodo selezionato.

Ecco il codice

//prepara la query: n.nid identifica il post che voglio Ecco il 
 
$query=("select r.title,teaser,n.nid from node_revisions r inner join node n on r.nid=n.nid where type='story' and sticky='0' and n.nid='166'");
$result=db_query($query);while($x=db_fetch_object($result)){
 
//prendo i campi che mi servono 
 
 $grezzo=$x->teaser; //estratto del post
 $titolo=$x->title; //titolo del post
 $id=$x->nid; // nid del post
 
}
 
//scrivo una funzione per troncare il post ad un numero predefinito di parole
function trunc($phrase, $max_words) 
{
   $phrase_array = explode(' ',$phrase);
   if(count($phrase_array) > $max_words && $max_words > 0)
 
   {
      $phrase = implode(' ',array_slice($phrase_array, 0, $max_words));
 
  }  
   return $phrase;
}
 
 
$link= 'node/'.$id; //preparo il link al nodo
$estratto=strip_tags($grezzo, '<strong>'); // pulisco il testo da tutti i tags tranne lo strong
$estrattotroncato=trunc($estratto, 30); // limit a 30 il numero di parole chiamando la mia funzione
$linkformattato=l("leggi tutto", $link); //formatto il link utilizzando la funzione l di drupal
 
// preparo il contenuto da mostrare
 
$output .= '<h2 class="titoloevidenza">In evidenza</h2>';
$output .= '<div class="estrattolaterale">';
$output .= '<div class="estrattolateralecontent">';
$output .= '<h3 class="evidenza">'.l($titolo,$link).'</h3>';
$output .='<p>'.$estrattotroncato.'...'.'<span>'.$linkformattato.'</span></p>';
$output .= '</div>';
$output .= '</div>';
 
echo "$output";

Si tratta di una soluzione rapida ma efficace. In questi casi sarebbe opportuno creare un piccolo modulo, che gestisca i parametri attraverso una form nel backend di Drupal.

Peppigno's picture

Interessante... speriamo che Views 2 e CCK escano presto anche se devo ammettere che non ho ancora provato le ultime beta... e a quanto pare la prima RC non tarderà ad arrivare. :)

Ti volevo chiedere se è possibile creare uno script per un campo field che carichi certe immagini, sulla falsariga di IMAGEFIELD...
Vorrei che anche gli utenti "noobs" possano caricare delle foto in determinate pagine... Sto usando una dev di Imagecache e Lightbox 2. Qualche suggerimento?

Vorrei usare IMCE+FCK Editor ma mi pare un po' troppo spaesante per gli utenti alle prime armi.

Post correlati

Screenshot del tema Marinelli per drupalDa oggi è possibile scaricare su drupal.org la prima versione di Marinelli 3 per Drupal7. E' stato un lavoraccio ma sono soddisfatto del risultato ottenuto. Il tema è radicalmente cambiato rispetto alla seconda versione. Tutte le configurazioni...

Non chiedetemi perchè ma mi è capitato di dover concatenare due viste in modo da passare i risultati di una vista come argomento di un'altra. In particolare dovevo passare il nid di un nodo come argomento della seconda vista e mostrare quindi il risultato della seconda vista nella vista di partenza. Non è complicato, basta utilizzare la funzione views_embed_view

Un trucchetto semplice ma secondo me molto utile per escludere da una vista dei nodi restituiti da una seconda vista. Il procedimento è molto semplice: fra gli argomenti della vista basta aggiungere "node: nid", e impostare questi parametri

Prima Drupalcon in una città a dir poco fantastica. Sabato riunione del core developer summit guidata da Kieran Lal vestito da monaco. Interessante il nuovo sistema di testing del codice, sarà introdotta una nuova funzionalità che consentirà di testare al volo le patch. Anche Javascript rienterà nel sistema di testing. Lato Front End si cercherà di creare delle linee guida di sviluppo delle UI, in modo da rendere il più possibile coerente l...