Drupal, php snippets

mostra solo

contenenti anche

Drupal: inserire una vista -views- in una pagina o blocco con PHP

tags: Drupal   php snippets  
drupal tags: views  

Nell'Handbook di Drupal.org viene spiegato come inserire una vista (Modulo Views) in una pagina di template di Drupal (page.tpl.php, node.tpl.php), in un nodo o in un blocco abilitato a ricevere contenuti PHP. Il codice suggerito è il seguente:

<?php
//load the view by name
$view = views_get_view('sample_view');
//output the view
print views_build_view('embed', $view);
?>

Drupal: inserire il contenuto di un nodo in un blocco (o in un altro nodo)

tags: Drupal   php snippets   moduli  
drupal tags: blocks   contents  

Abbiamo già visto come inserire un blocco all'interno di un nodo, ma come possiamo fare il contrario, ovvero andare ad inserire il contenuto di un nodo in un blocco o in un secondo nodo?

Se intendiamo utilizzare di frequente questa possibilità e vogliamo una soluzione automatica e facile, esiste un modulo che fa proprio questo. Si chiama Node As Block e questa è la descrizione che ne da il suo autore:

Drupal: nascondere il messaggio di log nelle form dei nodi

tags: Drupal   php snippets  
drupal tags: user interaction   phptemplate  

Se anche voi non siete proprio dei fan della funzionalità dei Messaggi di Log di Drupal (quella che aggiunge un campo "Log Message" a ciascuna node form per intenderci), ecco un breve snippet php da aggiungere al file template.php del vostro tema per far si che la textarea del Messaggio di Log non appaia più:

/**
* Override node form
*/
function phptemplate_node_form($form) {
  // Remove 'Log message' text area
  $form['log']['#access'] = FALSE;
  return drupal_render($form);
}

Fatene buon uso ;)

Tradurre la front page in Drupal

tags: Drupal   php snippets  
drupal tags: translations   i18n  
Se si utilizza il modulo i18n per tradurre i contenuti di un sito, e si desidera anche avere una particolare homepage per ciascuna lingua, si può procedere nei seguenti modi:

se si utilizza una front page custom mediante PHPTemplate (page-front.tpl.php)

Drupal: mostrare contenuti solo agli utenti anonimi / registrati

tags: Drupal   php snippets  
drupal tags: users   contents  

E' davvero semplice in Drupal differenziare i contenuti da mostrare agli utenti anonimi (guests) da quelli per gli utenti registrati (authenticated). Basterà adattare le poche righe di php che seguono:

<?php
global $user;
if (!
$user->uid) { ?>

    <div>contenuti per gli anonimi</div>
<?php } else { ?>
    <div>contenuti per gli utenti registrati</div>
<?php } ?>

Come aggiungere una destinazione ad un URL in Drupal

tags: Drupal   php snippets  
drupal tags: navigation   user interaction  

Avete mai avuto bisogno di reindirizzare i vostri visitatori ad una certa pagina non appena questi hanno completato un certo task (ad esempio dopo che sono stati invitati a registrarsi sul sito)?

Farlo é semplice:

basta tradurre il link nel vostro file PHPTemplate corrispondente al content-type in uso (es: node.tpl.php) da:
http://www.miosito.com/user/register

Mostrare i termini di un unico vocabolario (in un nodo)

tags: Drupal   php snippets  
drupal tags: categories   content types  

In Drupal mi capita di frequente di voler mostrare i termini ($terms) di un nodo divisi per singolo vocabolario ($vid). Questo può essere utile qualora si vogliano separare o organizzare i propri termini, non mostrarne alcuni, o comunque evitare che vengano presentati tutti assieme su un'unica riga.

Mostrare contenuti diversi ai visitatori e agli utenti registrati

tags: Drupal   php snippets  
drupal tags: users   contents  

<?php
/**
* The following simple snippet
* displays different information to anonymous/logged in users within a page.
*
* This works with drupal 4.5 and drupal 4.6
*/
global $user;
if (
$user->uid) {
    return
"This message is only visible for logged-in users.";
}
if (!
$user->uid) {
    return
"This message is only visible for not-logged-in users.";
}
?>

Inserire un blocco all'interno di un altro contenuto

tags: Drupal   php snippets  
drupal tags: blocks  
Il seguente codice PHP inserisce un blocco di Drupal all'interno di un qualsiasi altro contenuto (sia esso un nodo, un content type, un altro blocco, una pagina):
<?php
$block
= module_invoke('module_name', 'block', 'view', '0');
print
$block['content'];
?>
Basterà sostituire:

Come far puntare i $terms (links) di un nodo ai contenuti del solo autore (user ID)

tags: Drupal   php snippets  
drupal tags: categories   users  

Come utilizzare i link dei termini ($terms) associati a ciascun nodo di Drupal per navigare altri contenuti dello stesso autore taggati con lo stesso termine?

Il codice di seguito permette di far puntare i termini di un nodo ad una view personalizzata (che chiameremo "blogterms") contenente due argomenti: lo user id dell'autore e il term id.

Add to calendar

Archivio

Febbraio 2012
DomLunMarMerGioVenSab
1234
567891011
12131415161718
19202122232425
26272829
PureDivs Conversione Temi Drupal
PureDivs Conversione Temi Drupal