inserito da...

Posts: 5
Iscritto il: 29 Ott 06

Creando una nuova pagina, una storia ecc... in alto compare chi lo ha scritto e il giorno.
Questa è una funzione utilissima, ma io vorrei che se ad inserire il contenuto è stato l'amministratore del sito, comparisse al massimo solo la data di inserimento e non "Inserito da AMMINISTRATORE il ..."!
Ho pensato di inserire un if che controlla se il nome utente è uguale a 'nomeamministratore' nel file phptemplate.engine, ma non riesco...

Forse mi sto complicando la vita e questa opzione è possibile attivarla dal Drupal stesso...
quanlcuno sà come fare?


Posts: 48
Iscritto il: 05 Ott 05

Scusa, ma quando crei una pagina, ecc., in fondo, quasi subito prima di invia c'è: Informazioni sull'autore. Puoi modificare quelle.

myself

__________________

Grazie, myself


Posts: 5
Iscritto il: 29 Ott 06

posso modificarle, ma non posso cancellarle: infatti se elimino l'autore mi compare in automatico "amonimo" mentre io vorrei che non comparisse niente!


Posts: 42
Iscritto il: 03 Gen 08

la discussione è vecchia, ma a me interesserebbe proprio questo: eliminare le informazioni sull'autore, specie quando un contenuto è inserito dall'amministratore.

In particolare ho appena creato una pagina "contattaci" con webform e preferirei non visualizzare la dicitura "Posted Febbraio 27th, 2008 by Administrator"...

Ciaoo Smiling


Posts: 475
Iscritto il: 09 Giu 05
Sviluppatore DrupalDrupal Monkey. Mangio moduli e API a colazioneModeratore di Drupal ItaliaRedattore di Drupal Italia. Contribuisco a manuali

edita node.tpl.php
alla riga
<span class="submitted"><?php print $submitted?></span>

metti un if del tipo:

<span class="submitted">
<?php
global $user;
if (
$user->uid != 1) print $submitted;
?>

</span>

Ciao


Posts: 42
Iscritto il: 03 Gen 08

innazitutto grazie x la risposta,

2 ultime domande da niubbo:

-il file da modificare è in /engines/phptemplate oppure è quello del tema che sto utilizzando?

-nell' if che mi hai scritto devo sostituire uid con il nik di Administrator?

Ciaoo Smiling


Posts: 283
Iscritto il: 02 Apr 07

Il node.tpl che devi modificare è nel tuo tema.. e l'uid (user id) è appunto l'id che identifica l'utente admin (in questo caso l'admin è sempre 1) ...

Gianni ma invece di controllare l'id,nn è meglio se fa il controllo direttamente sul role id ?.. in questo caso se ha piu admin,e quindi con uid diversi nn perde l'if..?

Spero di nn aver detto una castroneria Sticking out tongue

__________________

Un giorno vidi Drupal e dissi: "Husti che roba"..
Il giorno dopo vidi View e dissi: "Husti che roba"..
Un'anno dopo gioco con Drupal e dico: "E sti ca... ?"..


Posts: 42
Iscritto il: 03 Gen 08

...volendo fare il controllo sui ruoli anzicche sullo userid, come potrebbe diventare l'if?

(perdonatemi se vi rompo sul codice ma sto approcciando adesso al php...piano piano farò da me)

Ciaoo Smiling


Posts: 475
Iscritto il: 09 Giu 05
Sviluppatore DrupalDrupal Monkey. Mangio moduli e API a colazioneModeratore di Drupal ItaliaRedattore di Drupal Italia. Contribuisco a manuali

morxe wrote:

Gianni ma invece di controllare l'id,nn è meglio se fa il controllo direttamente sul role id ?.. in questo caso se ha piu admin,e quindi con uid diversi nn perde l'if..?

Giustissimo.... io generalmente uso solo un amministratore.

X drupalryx
Ovviamente in questo caso devi controllare $user->roles che ti da un array di ruoli a cui appartine l'utente. L'if diventa una cosa tipo:
if (in_array('ruolo che vuoi',$user->roles)) fai quel che vuoi

Dove 'ruolo che vuoi' metti il nome del ruolo a cui vuoi permettere le istruzioni che seguono l'if.

Ciao
Gianni


Posts: 42
Iscritto il: 03 Gen 08

volevo chiedere...come mai questa modifica al node.tpl permette la non visualizzazione di "inserito da etc etc" soltanto se non si è loggati?

da loggato (non necessariamente come Administrator) continuo a vedere "inserito da Administrator etc etc...

Ciao Smiling


Posts: 1899
Iscritto il: 01 Gen 07
Admin di Drupal ItaliaSviluppatore DrupalDrupal Monkey. Mangio moduli e API a colazioneTraduttore

devi inserire un IF ceh controlli, usado global $user, se il tuo utente ha un UID, se l'UID non esiste l'utente non è loggato e quindi nascondi il codice.

__________________

Ciao
    Mavimo
_________________
Io mio sito su Drupal, CFD e OpenFOAM (e se vi chiedete cosa c'entrano l'uno con l'altro.. bhè, non so nemmeno io la risposta Sticking out tongue )


Posts: 42
Iscritto il: 03 Gen 08

perdonami mavimo, ma non ho ben compreso...

io sin'ora, per impedire al tema la visualizzazione della dicitura "Inserito da Administrator il Mer, 02/27/2008 - 01:27" ho effettuato la modifica suggerita da Gianni:

giannigiusti wrote:
edita node.tpl.php
alla riga
<span class="submitted"><?php print $submitted?></span>

metti un if del tipo:

<span class="submitted">
<?php
global $user;
if (
$user->uid != 1) print $submitted;
?>

</span>

Ciao

ed io ho fatto:

<span class="submitted">
<?php
global $user;
if (
$user->uid != Administrator) print $submitted;
?>

</span>

quello che succede è però che un utente non loggato finalmente non vede piu la dicitura in un contenuto inserito da "Administator", mentre un utente loggato continua a visionare la dicitura. Non riesco a comprendere per quale motivo e mi piacerebbe capirlo...

ma io eventualmente per eliminare completamente la dicitura per l'inserimento di contenuti da qualsiasi tipo di utente posso completamente eliminare questa parte di codice dal node.tpl senza combinare danni:

<?php if ($submitted): ?>
<span class="submitted"><?php
global $user;
if (
$user->uid != Administrator) print $submitted;
?>
</span>
<?php endif; ?>

Ciao Smiling


Condividi contenuti