Mostrare blocco in base all'autore

7 contenuti / 0 new
Ultimo contenuto
Mostrare blocco in base all'autore

Ciao a tutti, uso Drupal 6 per gestire una sezione del mio sito.
Vorrei mostrare un blocco in alcune pagine in base all'autore della pagina stessa.

In altre parole, avrei due blocchi che contengono lo stesso codice e che dovrebbero essere mostrati, l'uno o l'altro, in base a chi ha scritto la pagina.
Quindi dovrei usare del codice php che indichi a Drupal: se autore è Tizio mostra questo blocco, altrimenti non mostrare.

Altra condizione è che questi blocchi dovrebbero essere mostrati in tutte le pagine tranne che in:
node/*/edit
comment/edit*
comment/reply*
node/add*
admin*
user*

Ho dato un'occhiata qui http://drupal.org/node/134431 ma il codice non funziona con Drupal 6.

Qualche suggerimento? Grazie in anticipo.

Ecco il codice per l'utente specifico (da inserire nelle regole di visibilità, sezione codice php):

<?php
global $user;
return (
$user->name=='nickname');
?>

Non sono stato abbastanza chiaro, vediamo di semplificare.
Per le regole di visibilità userò le funzioni base di Drupal.
Per cui scelgo di mostrare il blocco in tutte le pagine tranne che dove non interessa.

Adesso il mio problema si riduce ad inserire nel corpo del blocco, scegliendo il formato PhP, una regola in base alla quale se autore è Tizio mostra un codice se autore è Caio mostra un'altro codice (posso anche usare l'ID progressivo 1,2,3, eccetera).

Questo codice deve essere mostrato a tutti gli utenti che navigano nel sito, sia autenticati sia non autenticati.

Ancora grazie.

fai quello che ti hanno detto andando a inserire il codice nel corpo del blocco e impostando come Filtro di input PHP, quindi:

<?php
global $user;
if (
$user->uid == 10):
?>

<strong>Ciao pippo</strong>
<?php elseif  ($user->uid == 20): ?>
<strong>Ciao pluto</strong>
<?php endif; ?>

Ciao
Marco
--
My blog
Working at @agavee

Grazie mavimo, ma temo che non ci siamo amcora capiti.

Io voglio mostrare il contenuto del blocco a tutti a prescindere dal fatto che l'utente loggato si chiami Pippo o meno.

Esempio pratico.

Creo un blocco dove pongo come condizione:
se l'autore del nodo è Pippo mostra un banner della ditta X, altrimenti mostra un banner della ditta Y.
Ovviamente ciò dovrà avvenire quando viene visualizzata la pagina intera e non il teaser.

mi sa che non ci stiamo caendo, è proprio quello ceh fa quel codice che ti ho scritto :)

Crea un nuovo blocco, e imposta iil tipo di input a PHP (devi aver abilitato il modulo prima, altrimenti non l'avrai), poi vai a mettere nel corpo del blocco il codice:

<?php
global $user;
if(
$user->uid > 50) :
?>

<img src="banner/1.gif" />
<?php else: ?>
<img src="banner/2.gif" />
<?php endif; ?>

a questo punto è il contenuto del banner che cambia null'altro.

Ciao
Marco
--
My blog
Working at @agavee

Ciao Mavimo,
ho anche io lo stesso problema e in particolare devo mostrare un blocco con un contenuto specifico ad un autore preciso e specifico, siccome il blocco però è creato con le viste non posso aggiungere codice nel body del blocco, mi hanno suggerito il modulo context ma non riesco a comprenderlo!
Hai qualche suggerimento, guida o dritta da darmi?

GRAZIE!