blocco nelle pagine edit

9 contenuti / 0 new
Ultimo contenuto
blocco nelle pagine edit

come faccio a visualizzare un blocco solo nelle pagine edit di un nodo?

Ciao,
basta inserire nelle impostazioni di visibilità il path node/*/edit (questo solo per la modifica, se ti serve anche per l'inserimento potresti usare anche un node/add/*). Ovviamente, assicurati che il tema visualizzi le regioni nell'admin e, se stai utilizzando un template per l'amministrazione, di inserire il blocco in quel template e non in quello di front end!
;)

ok grazie

per non aprire altro post chiedo qui se posso:
un altro blocco ho bisogno di vederlo solo in un determinato content type ma non in modalità "add" e nemmeno "edit" come posso fare?

melissa wrote:
per non aprire altro post chiedo qui se posso:
un altro blocco ho bisogno di vederlo solo in un determinato content type ma non in modalità "add" e nemmeno "edit" come posso fare?

Se hai installato pathauto stai poco a farlo: dai una regola particolare per il tuo tipo di contenuto, come per esempio:
content/my-content/[node_title]
e poi sempre nelle impostazioni di visibilità del blocco metti l'url
content/my-content/*
;)

o un piccolo problema visto che avevo gia inserito una regola ini php nelle impostazioni del blocco quindi non posso aggiungere questa che mi hai detto cosi comè.
credo che dovrei inserirla in php ma non saprei come fare.

sapererri

Ok,
supponiamo sempre che tu abbia installato pathauto, una regola in php potrebbe essere una cosa tipo questa (non l'ho testata, però!):

<?php
$url
= $_SERVER['REQUEST_URI'];
if(
$url == 'content/my-content/'.$node->title){
 
//azione per la visibilità
}
 
?>

Ripeto: non so se funziona, non l'ho testato...
;)

e infatti non funziona :))

asdomar wrote:
e infatti non funziona :))

In effeti hai ragione... ho avuto un pò di tempo per provare una soluzione e questa dovrebbe funzionare (uso il condizionale):

<?php
$url
= $_SERVER['REQUEST_URI'];
$node = node_load(arg(1));
if(
$url == '/testing/node/'.$node->nid){
return
true;
}
?>

ovviamente, devi cambiare l'url di verifica secondo le tue necessità. Il funzionamento è molto semplice: dato che dai blocchi non ho accesso a $node, utilizzo la funzione node_load() che non fa altro che caricarmi un nodo dato il suo NID, semplicemente utilizzando la funzione arg() che mi pesca il nid del nodo che sto visualizzando dall'URL (arg(0) = node, arg(1) = NID).

Con node_load() hai a disposizione tutte le variabili di $node, quindi, ritornando al discorso dei tipi di contenuto, se devi mostrarlo solo per un tipo di contenuto il codice potrebbe diventare così:

<?php
$node
= node_load(arg(1));
if(
$node->type == 'my_content'){
return
true;
}
?>

;)