Back to top

Autore Topic: Creare voci Link nel Core per sezioni del mio componente  (Letto 6290 volte)

Offline ndomiano

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
Ho un problema con il mio componente appena sviluppato:

non riesco a far in modo che la struttura del sito rimanga intatta durante la navigazione sul mio componente in quanto non eredita nessuna posizione modulo a meno che i moduli non siano settati su 'mostra su tutte le pagine', inoltre se vado sul mio componente il sito cambia aspetto in quanto la struttura per quando visualizzo un articolo è leggermente diversa(margini, title ecc...)
la mia domanda è:

come faccio a linkare delle sezioni del mio componente per farle diventare voci di menu che rispettino la struttura di Joomla?

allego una foto di quello che mi servirebbe


Spero di essere stato abbastanza chiaro, grazie.

[allegato eliminato automaticamente dopo un anno]
« Ultima modifica: 17 Lug 2013, 09:30:44 da ndomiano »

mau_develop

  • Visitatore
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #1 il: 17 Lug 2013, 09:34:39 »
 la navigazione sul mio componente in quanto non eredita nessuna posizione modulo
------------------------------------------------------------------------------------------------------------------------
perchè un componente dovrebbe ereditare delle posizioni modulo?

se guardi il template vedi che non centra nulla è anche lui inserito in una struttura indipendente da quello che succede al suo interno

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #2 il: 17 Lug 2013, 11:22:23 »




nelle view del componente lato frontend devi mettere i file xml che definiscono la view stessa in modo tale che joomla sappia cosa sono, cosi le vedi, copia un qualsiasi default.xml che trovi nei componenti.


2 ingenre ogni componente ha un helper route per determinare il corretto itemid che punta al componente, chiaramente se non lo fai e utilizzi link interni che non fanno uso di Jroute i moduli se non sono impostati su tutte le pagine non li vede.
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline ndomiano

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #3 il: 17 Lug 2013, 11:34:09 »
la navigazione sul mio componente in quanto non eredita nessuna posizione modulo
------------------------------------------------------------------------------------------------------------------------
perchè un componente dovrebbe ereditare delle posizioni modulo?

se guardi il template vedi che non centra nulla è anche lui inserito in una struttura indipendente da quello che succede al suo interno

 ??? ??? ??? bah...(sempre il solito)


simone83 ha capito perfettamente... grazie simone provo cosa mi succede e ti faccio sapere!

mau_develop

  • Visitatore
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #4 il: 17 Lug 2013, 13:14:53 »
simone è troppo buono ;)

se mi trovi "il solito" è perchè non hai fatto passi avanti :) ...

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #5 il: 17 Lug 2013, 15:07:54 »
sono un angioletto direi  :)
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline ndomiano

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #6 il: 17 Lug 2013, 16:33:32 »



nelle view del componente lato frontend devi mettere i file xml che definiscono la view stessa in modo tale che joomla sappia cosa sono, cosi le vedi, copia un qualsiasi default.xml che trovi nei componenti.


2 ingenre ogni componente ha un helper route per determinare il corretto itemid che punta al componente, chiaramente se non lo fai e utilizzi link interni che non fanno uso di Jroute i moduli se non sono impostati su tutte le pagine non li vede.

Non ho trovato info sufficienti e nemmeno i file .xml che mi hai indicato. Potresti aiutarmi magari con un esempio?

il mio componente ha una home(lavoratori) e una sottocategoria(impiegati)

devo associare (lavoratori) alla voce di menu 'lavoratori'  , in questo modo joomla mi posizionerà menu e immagini come glie lo imposto io.
la voce (impiegati) deve essere un altra voce di menu e, allo stesso modo, al click devono comparire altri menu che io imposterò in joomla. questa struttura così deve rimanere anche se scendo di livello (se creo una sottocategoria di 'impiegati' deve ereditare la struttura di 'impiegati')

notasi che sto chiamando categorie le view del mio componente.


Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #7 il: 17 Lug 2013, 16:46:26 »
come non le trovi ???


components/com_content/views/article/tmpl/default.xml qua ci trovi pure come associare un id al link della voce di menu


http://docs.joomla.org/Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_03


qui c'e la guida
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline ndomiano

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #8 il: 17 Lug 2013, 20:14:14 »
come non le trovi ???


components/com_content/views/article/tmpl/default.xml qua ci trovi pure come associare un id al link della voce di menu


http://docs.joomla.org/Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_03


qui c'e la guida

Credimi. . Ho guardato in tutte quelle che non c era! Grazie mille.. mi metto subito a studiare!!

Offline ndomiano

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #9 il: 15 Ago 2013, 15:00:46 »
Credimi. . Ho guardato in tutte quelle che non c era! Grazie mille.. mi metto subito a studiare!!
Ok, studiato.
Per adesso riesco a spostarmi nel mio componente tramite link JROUTE, in pratica:
ho creato router.php e in BuildRoute ho inserito la regola che va a prendere l'id del menu item e lo aggiunge all'array $query['Itemid'], in ParseRoute non ho dovuto fare nulla fino ad ora (possibile?).
il problema che ho adesso è il seguente:
-genero il link : <?php echo JRoute::_('index.php?option=com_mycomponent&view=user', false);?>
-in BuildRoute prendo l'id menu corrispondente al segmento 'index.php?option=com_mycomponent&view=user' e lo aggiungo all'array come descritto sopra
-TUTTO OK ma.. il link non mi diventa index.php/user ma index.php/user/user , da precisare che se cancello un '/user' manualmente mi rediretta comunque nella pagina giusta... :o
sicuramente sbagio qualcosa di banale..
qualche dritta? thanks!

mau_develop

  • Visitatore
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #10 il: 15 Ago 2013, 20:51:58 »
usa tutta la path non partire da index

Offline ndomiano

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #11 il: 15 Ago 2013, 21:14:35 »
usa tutta la path non partire da index

Dici? Ma qualsiasi componente ho visto parte da index.php nessun altro usa il path completo, come mai? Comunque domani provo ma non vedo perche a me si comporta diversamente ..

mau_develop

  • Visitatore
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #12 il: 15 Ago 2013, 22:38:55 »
puoi provare a passare dopo il false anche il -1 (meno 1) per l'ssl

poi perchè xhtml false?

Offline ndomiano

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #13 il: 16 Ago 2013, 09:54:36 »
Dici? Ma qualsiasi componente ho visto parte da index.php nessun altro usa il path completo, come mai? Comunque domani provo ma non vedo perche a me si comporta diversamente ..

Niente, con l'indirizzo completo addirittura JROUTE non lo risconosce, ma effettivamente nel manuale si parla di indirizzo da index.php... in poi. provato con xhtml true,  ssl a -1, 0, 1. nulla da fare.
Praticamente il primo '/user' è l'alias di menu, il secondo è :
<?php echo JRoute::_('index.php?option=com_mycomponent&view=user', true, -1);?>

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #14 il: 16 Ago 2013, 11:20:42 »
jroute non centra nulla, se ti mette 2 volte user nel path vuole dire he nel file router.php del tuo componente hai fatto 2 volte un unset nella funzione buildroute del tuo componente che ti prende 2 volte una variabile  user. Comunque cercare di capire questi problemi è pressoche impossibile, per me il tuo problema e ancora prima, in generere l'itemid si recupera in una classe a se come fa il com_contenten nel file helpers/route.php.
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline ndomiano

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #15 il: 16 Ago 2013, 12:11:00 »
jroute non centra nulla, se ti mette 2 volte user nel path vuole dire he nel file router.php del tuo componente hai fatto 2 volte un unset nella funzione buildroute del tuo componente che ti prende 2 volte una variabile  user. Comunque cercare di capire questi problemi è pressoche impossibile, per me il tuo problema e ancora prima, in generere l'itemid si recupera in una classe a se come fa il com_contenten nel file helpers/route.php.

ho visto come fa il com_content, si affida al metodo $app->getMenu('site');, io ho seguito quello di virtuemart che è pressocchè identico ma utilizzo una mia query per cercarmi la voce di menu creando un array con tutte le voci/id del componente in questione.
Ho controllato la funzione buildroute e oltre a  unset( $query['view'] ); e  unset( $query['task'] ); non effettuo alcun unset.
Da precisare che se strutturo il sito in menu collegando le varie voci in modo nativo con joomla non ho problemi, ma se printo un link con JROUTE accade ciò, sia dentro la pagina del componente che in una pagina esterna al componente stesso.

P.s. simone , il secondo /user é il nome della view non e una replicazione dell alias menu
« Ultima modifica: 16 Ago 2013, 15:20:00 da ndomiano »

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #16 il: 16 Ago 2013, 17:14:14 »
forse allora sbagli nella seconda parte del router.php ovvero nella funzione parse route, ovvero associ male le variabili che hai preso nella funzione prima, scusa ma e veramente difficile aiutarti in questa parte
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline ndomiano

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #17 il: 16 Ago 2013, 18:08:43 »
forse allora sbagli nella seconda parte del router.php ovvero nella funzione parse route, ovvero associ male le variabili che hai preso nella funzione prima, scusa ma e veramente difficile aiutarti in questa parte

Effetticamente e una parte un po cobtorta. Io credo di aver capito che la seconda parte ovvero il parseroute viene invocato nel momento del click e quindi del redirect vero e proprio mentree il build lo invoca il jroute per realizzare i link. Al momento del click dunque viene chiamato build che passa l array segments al parse, quest ultimo non viene chiamato quando la pagina genera il link JROUTe. Giusto?

Offline ndomiano

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #18 il: 25 Ago 2013, 21:00:18 »
Effetticamente e una parte un po cobtorta. Io credo di aver capito che la seconda parte ovvero il parseroute viene invocato nel momento del click e quindi del redirect vero e proprio mentree il build lo invoca il jroute per realizzare i link. Al momento del click dunque viene chiamato build che passa l array segments al parse, quest ultimo non viene chiamato quando la pagina genera il link JROUTe. Giusto?

Si è proprio così, sto capendo come funziona:
-se il link viene generato da un menu la struttura sarà: /miodominio/category(alias menu)
-se viene generato dall'interno del mio componente con JROUTE sarà: /miodominio/category(alias menu)/view/layout (parametri che io stesso passo al link)

ho un altro problema OVVIAMENTE  :-\
come faccio ad attivare una voce di sottomenu che effettivamente non appartiene al menu padre?
esempio voci di menu:
-articoli->giugno
voce padre 'articoli', figlio 'giugno', correttamente joomla 'attiva' graficamente le voci di menu,

MA SE VOLESSI..
-articoli->lista generale
dove 'lista generale' appartiene ad un altra view del mio componente e questa view non posso collegarla direttamente ad un menù perchè NON  ci si può accedere direttamente (ma solo tramite procedure interne del componente)?
risolverei mettendo la voce sotto 'articoli' ma joomla non permette di nasconderla!

 ???

Offline ndomiano

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
Re:Creare voci Link nel Core per sezioni del mio componente
« Risposta #19 il: 03 Set 2013, 23:20:46 »
nothing?  ::)

 



Web Design Bolzano Kreatif