[Risolto] Override Hook_Link per Node.tpl.php

13 contenuti / 0 new
Ultimo contenuto
[Risolto] Override Hook_Link per Node.tpl.php

Salve a tutti, sto per diventare pazzo: ho necessità di fare un override dell'hook_link http://api.drupal.org/api/function/hook_link perchè alcuni link che stampa o non mi servono oppure gli ho richiamati manualmente, ma ad esempio il module "Add to Any" inserisce il proprio bottone proprio in questa variabile.

Ho cercato in lungo e in largo ma ancora no ho trovato un consiglio valido per fare un override in modo tale da decidere quali link visualizzare e quali no.

vi posto alcuni link
http://api.drupal.org/api/function/hook_link
http://drupal.org/node/223159
http://drupal.org/node/302623

PS=probabilmente qualcuno mi dirà di creare un modulo ad hoc, ma non mi sembra il caso vorrei risolvere la cosa con un override in template.php

Grazie!

Imho ti stai dimenticando la cosa più importante:

e si, devi creare un modulo che invochi questo hook, altirmenti non ne esci.

Ciao
Marco
--
My blog
Working at @agavee

Grazie mavimo!... leggo questo messagio molto in ritardo, ed ancora non ho trovato soluzione! :D

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

WeBrain Solution | Pillsofbits Of Bits

allora, sono un po' incasinato... e mi ci sto perdendo.

A questo punto mi conviene Creare un Modulo che modifichi le veriabili in uscita da Links... o sbaglio?

Mi ci vorrà un eternità per capire quali variabili chiamare!.. HHRHR

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

WeBrain Solution | Pillsofbits Of Bits

[Update Hook Links Node] Penso che questo link possa essere di aiuto: http://www.kinetasystems.com/blog/theming-the-links-variable-in-drupal-n...

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

WeBrain Solution | Pillsofbits Of Bits

[hELp] i miei neuroni stanno facendo a pugni tra di loro....
Premessa:
-> Ho creato un modulo che dovrebbe utilizzare il Hook_Link_Alter per modifcare in particolare il messaggio Add Comment sotto i nodi
il codice che fa questo è:

<?php
function test_link_alter(&$node,&$links) {
foreach (
$links as $module => $link) {   // iterate over the $links array
 
if ($module == 'comment') {
    echo
'<h1>Messaggio di Test</h1>';
   
print_r($links[$module]);
  }
}
}
?>

Adesso sorge un problema, che non posso trattare $links[$module] come un arrai perchè il suo contenuto è stdClass Object
Mentre ovviamente $links non lo è, è un vero array.

Quindi mi sorge un dubbio nonchè motivo di pazzia, come faccio a modificare questo stdClass Object se non è un array?!?!?

Help, please....

[Update:]chttp://drupal.org/node/287561

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

WeBrain Solution | Pillsofbits Of Bits

Prova questa modifica:

<?php
function test_link_alter(&$links,&$node) {
print_r($links);
// es. modifica link "login o registrati per ..." ==> "Modificato"
if (isset($links['comment_forbidden'])) $links['comment_forbidden']['title']="Modificato";
}
?>

non so se è quello che ti occorre (funziona su D6)...

Maurizio Ganovelli - CHG Digital Solutions Web Agency

Grande funziona!

<?php
function test_link_alter(&$links,&$node) {
print_r($links);
if (isset(
$links['comment_add'])) $links['comment_add']['title']="Modificato";
}
?>

... questo invece modifica la voce "Add Comment" sotto ogni nodo.

Grazie

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

WeBrain Solution | Pillsofbits Of Bits

Per non visualizzarlo affatto...

<?php
function test_link_alter(&$links,&$node) {
if (isset(
$links['comment_add'])) unset($links['comment_add']);
}
?>

Maurizio Ganovelli - CHG Digital Solutions Web Agency

Avevo fatto fondamentalmente grosso errore, e poi comunque non conoscevo questa modalità.
L'errore era che avevo invertito, le variabili passate alla funzione...

-> http://api.drupal.org/api/function/hook_link/6
con questo si dovrebbe aggiungere un link, desso vedo un po...

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

WeBrain Solution | Pillsofbits Of Bits

no, la domanda era un'altra:
nei temi abbiamo la variabile $links che se stampata mostra tutti i link generati da alcuni moduli legati ad un dato nodo, per intenderci stampa tutti quei link come: "Add comment", "Tags: php, Ajax...", "Readmore" ecc... il problema è che tutta una serie di Link a volte sono anche molti, dipende dal numero di moduli che richiedono la stampa di una link, sono stampati da una sola variabile, cioè molto fastidioso mentre si costruisce un tema molto personalizzato perchè molti di essi o non ti servono o semplicemente li desideri posizioni in posti completamente diversi. Solitamente non è complicato "duplicarli" e posizionarli altrove, ma lo è un po' meno disabilitarli... comunque sia dopo questo Thread sarà piuttosto semplice.

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

WeBrain Solution | Pillsofbits Of Bits

mmmh, no!..
Thanks dell'informazione.

appena recupero i link che ho seguito li posto, ora sinceramente non so dove si trovano. :D

Adesso sto confrontando
Il metodo qui mostrato con uno via theming, molto simile, ma meno potente, forse un unione dei due dà ottimi risultati.

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

WeBrain Solution | Pillsofbits Of Bits