Posizionamento Blocco tramite php

6 contenuti / 0 new
Ultimo contenuto
Posizionamento Blocco tramite php

Salve a tutti, ho un problema con il posizionamento di un blocco. Questo blocco deve essere visibile solo in alcune parti del sito web. Logicamente sono andato a specificare le varie pagine dove voglio rendere visibile il blocco ma siccome ho manipolato le url per renderle più digeribili mi trovo in una situazione un pò ridondente. Cerco di spiegarvi meglio.

Il blocco voglio che sia visibile in:

www.miosito.com/prima-parte/prima/
www.miosito.com/prima-parte/seconda/
www.miosito.com/prima-parte/terza/
www.miosito.com/prima-parte/nid/ (NID è il node ID quindi un intero)

invece non voglio che sia visibile in

www.miosito.com/prima-parte/bla-bla/
www.miosito.com/prima-parte/bla-bla-bla/

Andando nel blocco ho specificato le tre destinazioni
www.miosito.com/prima-parte/prima/*
www.miosito.com/prima-parte/seconda/*
www.miosito.com/prima-parte/terza/*

ma non so come specificare che il blocco deve essere visibile anche in:
www.miosito.com/prima-parte/nid/

In quanto se aggiungo
www.miosito.com/prima-parte/*
logicamente il blocco mi diventa visibile in tutto il resto, invece non deve essere così come indicavo precedentemente.
Penso che si debba spevificare tramite qualche riga di codice php ma sinceramente non so come posso recuperare l'url e fare un confronto.

Mi aiutate?
In questo momento non ho idee a riguardo.

puoi creare codice PHP per verificare determinate "caratteristiche" oppure NID ecc.
On in alternativa ti direi di dare un occhiata al modulo "Context"

Slice2Theme Servizio per la conversione di Design in markup HTML e/o temi.

WeBrain Solution | Pillsofbits Of Bits

Ciao Kiuz, grazie per la risposta.
Sinceramente vorrei evitare di installare un modulo per una singola azione.
Vorrei anche iniziare ad imparare a manipolare tramite codice.
Ho cercato sia sul forum italiano che internazionale ma senza buon esito (probabilmente non l'ho fatto nel modo giusto).
Cercavo qualche discussione per capire come poter manipolare il segmento dell'URL.
Potreste darmi qualche suggerimento o qualche esempio? Non sono una cima su queste cose ;)

Grazie

MI serve una mano, ho fatto un pò di prove ma non sono riuscito a far funzionare il blocco nella posizione che mi serve.
vi posto il codice che ho usato.

$uri = $_SERVER['REQUEST_URI'];
$patharray = explode("/", $uri);
if(is_numeric($patharray[2])){
}

Questo codice dovrebbe restituire true come vuole il blocco, ma non funziona.
Non so cosa inserire nell'if.
Inoltre se devo far si che il blocco si visualizza in altre pagine come descrivevo sopra come faccio?
un if annidato?

Grazie

jimboo wrote:
MI serve una mano, ho fatto un pò di prove ma non sono riuscito a far funzionare il blocco nella posizione che mi serve.
vi posto il codice che ho usato.

$uri = $_SERVER['REQUEST_URI'];
$patharray = explode("/", $uri);
if(is_numeric($patharray[2])){
}

Questo codice dovrebbe restituire true come vuole il blocco, ma non funziona.
Non so cosa inserire nell'if.
Inoltre se devo far si che il blocco si visualizza in altre pagine come descrivevo sopra come faccio?
un if annidato?

Grazie


Ciao,
leggevo stamane questo intervento su Drupalitalia: http://www.drupalitalia.org/node/13023#comment-45190
Con qualche piccola modifica ai tuoi scopi dovresti riuscire a farcela.
Nell'if, devi inserire un return true, altrimenti non ritorna nulla!
;)

Il codice che sto utilizzando è questo:

<?php
$match
= false;
$uri = $_SERVER['REQUEST_URI'];
$uri = '/' . ltrim($uri, '/');
$patharray = explode("/", $uri);
if ((
$patharray[3]) == "primo") { $match = TRUE; }
if ((
$patharray[3]) == "secondo") { $match = TRUE; }
if (
is_numeric($patharray[2]))         { $match = TRUE; }
return
$match;
?>

Il codice funziona e vedo che nelle seguenti url compare il blocco.

www.miosito.it/primo-segmento/primo
www.miosito.it/primo-segmento/secondo
www.miosito.it/primo-segmento/22
Il problema che risconto è ora quello di far visuzlizzare il blocco solo nell'url del tipo
www.miosito.it/primo-segmento/secondo/*
o meglio in secondo non deve comparire...

Grazie dell'aiuto prezioso :D