Autore Topic: Sviluppare SEF per componente privato  (Letto 1124 volte)

Offline james81

  • Appassionato
  • ***
  • Post: 475
  • Sesso: Maschio
    • Mostra profilo
Sviluppare SEF per componente privato
« il: 13 Mag 2014, 10:33:41 »
Ciao a tutti!,

volevo chiedervi un consiglio: ho creato un componente, ora vorrei rendere SEF gli indirizzi creati dal mio componente.
Come faccio ?

Grazie

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Sviluppare SEF per componente privato
« Risposta #1 il: 13 Mag 2014, 14:26:09 »
ciao,
 ti suggerirei di partire da qui: http://docs.joomla.org/Supporting_SEF_URLs_in_your_component



mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline james81

  • Appassionato
  • ***
  • Post: 475
  • Sesso: Maschio
    • Mostra profilo
Re:Sviluppare SEF per componente privato
« Risposta #2 il: 26 Mag 2014, 16:26:58 »
allora ho letto la pagina che mi hai segnalato, ma ho ancora qualche dubbio, vediamo se ho capito bene:
- creo il mio file router.php
- inserisco una funzione che si occupa di gestire tramite un array la struttura del mil link
poi non ho capito che cosa fà le socnda funzione.

Posso chiedervi di farmi un'esempio con quest'indirizzo?

http://www.miosito.it/miocomponente/categoria/sottocategoria/prodotto.html


inoltre come mai appena crea il file route.php all'interno del mio componente, dal lato front-end, mi si blocca tutto, con pagina bianca?

grazie
« Ultima modifica: 26 Mag 2014, 16:52:05 da james81 »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Sviluppare SEF per componente privato
« Risposta #3 il: 27 Mag 2014, 10:02:53 »
hai due metodi


il primo (build route) riceve un array associativo con i parametri (chiave = valore) contenuti nella invocazione di JRoute::_() e li deve convertire in un array di 'segmenti' che verranno concatenati per formare l'url sef. ad esempio passare dal idCat=23 al nome della stessa.


il secondo (parse route) riceve un array con il 'percorso' url, o meglio i segmenti e deve ricostruire l'array associativo della query string, ovvero con le chiavi ed i valori. esempio passare da 'arredamento' a idCat=23.


come debba essere scritto il codice dipende troppo profondamente da come funziona il componente cui si riferisce (views, parametri query string, layout) perché si possa fare un esempio che non sia tradurre quanto già scritto nel citato articolo.


posso però dirti che, se nel tuo esempio categoria e sottocategoria sono due nomi di categoria, allora molto probabilmente non hai capito come funziona il sistema, perché manca il segmento che indica la view (basarsi sul numero dei segmenti è un errore, imho).


se vedi una pagina bianca significa che vi è un errore nel codice php: abilita la modalità di debug.


ciao
marco

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Sviluppare SEF per componente privato
« Risposta #4 il: 27 Mag 2014, 14:29:49 »
Per costruire url decenti è chiaro che ci deve essere tutto un lavoro dietro fatto perbene, gestione alias, craezione del tuo helperroute per identificare l'itemid collegato alle voci di menu del tuo componente ecc.
Non ti nascondo che secondo me la creazione del router.php e la gestione della riscrittura degli url per joomla sia una delle parti piu complesse che ci siano (basta guardare il router.php del com_content per perdersi).
Se vuoi fare una cosa banale, cioe elimino view e id dall'url sono due righe ma se vuoi iniziare a togliere il nome della view ad esempio dall'url, oppure l'id, devi iniziare a ragionare seriamente sulla voce di menu attiva e a cosa ti aspetti che puntino i link che trovi in quella pagina.

Forse la mia è una riflessione un po contorta, ma era solo per affermare quanto detto da mmleoni che in questo particolare caso ti possiamo aiutare poco. Dipende tutto da cosa sta dietro al componente.
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

 

Host

Torna su