link a nodi da contenuto

6 contenuti / 0 new
Ultimo contenuto
link a nodi da contenuto

Ammettiamo di avere due nodi: nodo A e B.
Nel nodo A ho una pagina di base contenente del testo e all'interno di questo testo voglio inserire un link al nodo b. Ora, posso realizzare questo con un tag a che punta al nodo b attraverso l'url /node/19 ad esempio.
Questa soluzione funziona ma non è funzionale per quanto riguarda l'indicizzazione: non posso usare gli alias per una migliore indicizzazione.
Se url è invce /alias risolvo il problema dell'indicizzazione ma nel caso cambio l'alias devo andare manualmente a modificare tutti i collegamenti nei contenuti.

Esiste qualche possibilità per convertire a runtime automaticamente i link assoluti (/node/19) in alias?

usa global redirect che manda /node/id in alias, anche se in realtà non cambia i link.

cè questa funzione che ti può tornare utile per ricavarti il link con l'alias al posto del uid

drupal_lookup_path('alias', "node/".$nid);

ciao ciao

Grazie Ealmuno e anche a somtam la cui risposta mi è stata di grande aiuto.

Se questo link ti serve in un posto che si trova gia dentro delle directory allora ti può tornare utile

$GLOBALS['base_url'].'/'.drupal_lookup_path('alias', "node/".$nid);

che ti evita doppioni di pezzi di link (es: /content/content/3)

ciao ciao

somtam ti ringrazio ancora per la pronta risposta.
Dopo aver realizzato il modulo che creava un filtro di testo ho scoperto che c'era già qualcosa di simile....

L'accoppiata linkit + pathologic permette di inserire i link interni nei campi testo nella forma < a href="node/999">link. Se si utilizza ad esempio ckeditor questo è ancora più semplificato grazie ad un pulsante e ad un form che permette la ricerca dei nodi.
Abilitando poi il filtro di testo fornito da pathologic in visualizzazione questi link verranno sostituiti con l'alias, se esiste. L'unica accortezza è si elimini la cache quando si cambiano gli alias.

Spero che questo possa essere utile a qualcuno.