Back to top

Autore Topic: override di una funzione  (Letto 2828 volte)

Offline iacoposk8

  • Appassionato
  • ***
  • Post: 529
    • Mostra profilo
override di una funzione
« il: 18 Gen 2012, 09:25:03 »
Ciao a tutti! penso sia una domanda facile:
nella cartella /libraries/joomla/application
è contenuto il file router.php che lancia la funzione $this->_buildSefRoute($uri);
facendo una ricerca in tutte le pagine del sito, la funzione _buildSefRoute è presente solo nello stesso file (ma al suo interno non c'è nulla) e in includes/router.php qua invece contiene le regole per riscrivere le url.
Ora vorrei sapere se tramite plugin posso fare l'override di questa funzione ma andrebbe bene anche se non è un plugin... fatemi sapere, grazie :)
Iacopo Guarneri

mau_develop

  • Visitatore
Re:override di una funzione
« Risposta #1 il: 18 Gen 2012, 15:21:17 »
è contenuto il file router.php che lancia la funzione $this->_buildSefRoute($uri);
-------------------------------------------------------------------
assolutamente non lancia nulla, costruisce un metodo per "fare qualcosa"

Ora vorrei sapere se tramite plugin posso fare l'override di questa funzione ma andrebbe bene anche se non è un plugin...
----------------------------------------------------------------------------------
cosa significa?

hai guardato come fanno alcune estensioni a "manipolare" l'uri?

M.

Offline iacoposk8

  • Appassionato
  • ***
  • Post: 529
    • Mostra profilo
Re:override di una funzione
« Risposta #2 il: 18 Gen 2012, 16:02:23 »
in rete ho trovato solo come creare un file router.php per specificare come devono essere riscritte le url di un componente creato da zero, quindi non scaricato dalla jed.
Io vorrei creare un plugin che riscriva le url secondo mie regole e non quelle di joomla.
Siccome ho visto che il metodo di joomla per costruire le url si trova in includes/router.php con nome _buildSefRoute mi chiedevo se in qualche modo potevo fare l'override di questo metodo con la funzione scritta da me...
Credo sia la strada giusta per quello che devo fare ma ogni consiglio è ben accetto :)
Iacopo Guarneri

Offline iacoposk8

  • Appassionato
  • ***
  • Post: 529
    • Mostra profilo
Re:override di una funzione
« Risposta #3 il: 20 Gen 2012, 12:58:43 »
ditemi anche solo se è possibile o no... fare un plugin che riscriva le url secondo miei criteri e non i criteri di joomla
Iacopo Guarneri

mau_develop

  • Visitatore
Re:override di una funzione
« Risposta #4 il: 20 Gen 2012, 23:06:41 »
rischio di essere antipatico e noioso ma continui ad insistere su cose che fai veramente pochissima fatica a verificare da solo, basta che cerchi tra le estensioni un plugin che fa questo, non penso tu abbia avuto un idea esclusiva il sef è molto usato.

I plugin solitamente sono un file quindi anche qui invece di farti mille domande basta che guardi come fa e lo fai anche tu come ti piace.

Se non trovi soluzioni probabilmente ti sei infilato in qualcosa che non si fa o non si fa così per questo esiste la documentazione:
http://docs.joomla.org/Search_Engine_Friendly_URLs

M.

Offline iacoposk8

  • Appassionato
  • ***
  • Post: 529
    • Mostra profilo
Re:override di una funzione
« Risposta #5 il: 21 Gen 2012, 12:21:44 »
Tranquillo non rischi di essere noioso anche perchè mi hai scritto in pochi post :)
Ho cercato in un famoso prodotto commerciale che non posso citare e poi anche con joomfish ma purtroppo con mille ricerche nel web e tra i vari plugin (solo quei due ho trovato) non sono riuscito a venirne a capo... io ho cercato nella documentazione e nel resto del web, ma probabilmente mi sfugge ancora qualcosa anche se sono arrivato ad un buon punto nella costruzione della mia estensione... quindi ho pensato di rivolgermi ad un luogo apposito per rivolgere domande come questo, per vedere se qualcuno sapeva darmi una risposta sicura sul problema che magari conosceva o aveva già affrontato in passato. comunque grazie, leggerò i link che mi hai dato.
Iacopo Guarneri

Offline iacoposk8

  • Appassionato
  • ***
  • Post: 529
    • Mostra profilo
Re:override di una funzione
« Risposta #6 il: 24 Gen 2012, 09:13:08 »
sto riguardando il plugin responsabile della riscrittura url di un prodotto commerciale... vedo che la funzione responsabile della riscrittura si chiama _buildSefRoute come per il file router.php per questo pensavo che si potesse fare una sorta di override... solo che, nel mio plugin, pur richiamando la stessa funzione e estendo la stessa classe, il mio metodo non vien mai chiamato
Iacopo Guarneri

 



Web Design Bolzano Kreatif