Back to top

Autore Topic: Creare link menu al proprio componente  (Letto 6973 volte)

Offline james81

  • Appassionato
  • ***
  • Post: 475
  • Sesso: Maschio
    • Mostra profilo
Creare link menu al proprio componente
« il: 03 Dic 2013, 09:23:54 »
Salve a tutti!
ho creato un piccolo componente pej j25 col quale visualizzo tramite varie view dei prodotti da un db, ora volevo crere per ogni view una voce nel menu, e seguendo le guide, ho inserito all'iterno della cartella view un file default.xml, però non ho ben capito il funzionamento del file o comunque come compilarlo...potete aiutarmi?
Grazie

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #1 il: 03 Dic 2013, 10:00:15 »
Ciao, la voce di menu la vuoi nel frontend o nel backend? Perché è differente il modo in cui si implementa. Nel secondo caso devi agire direttamente sul file tuaEstensione.xml nel pacchetto di installazione!

Nel primo caso invece inserisci un file default.xml nella cartella tmpl della view (come scritto qui: http://docs.joomla.org/J2.5:Developing_a_MVC_Component/Adding_a_menu_type_to_the_site_part ) in cui inserisci
Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<metadata>
        <layout title="NOME_DELLA_VIEW_DA_TRADURRE">
                <message>
                        <![CDATA[DESCRIZIONE_DELLA_VIEW_DA_TRADURRE]]>
                </message>
        </layout>
</metadata>
« Ultima modifica: 03 Dic 2013, 10:02:42 da giovi »

Offline james81

  • Appassionato
  • ***
  • Post: 475
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #2 il: 03 Dic 2013, 12:23:00 »
si tratta del frontend, quello che non capisco é: cosa devo inserire nella "DESCRIZIONE_DELLA_VIEW_DA_TRADURRE" , perchè mentre nel title devo iscerisco il nome che dopo vedrò quando creo il menu, nella "CDATA" non ho capito

puoi farmi un'esempio ? il mio componente si chiama "COM_GIOCATTOLI" e la view è "tuttirossi"
« Ultima modifica: 03 Dic 2013, 12:27:15 da james81 »

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #3 il: 03 Dic 2013, 13:22:39 »
Sono testi liberi, uno relativo al nome della view ed uno alla descrizione. Puoi inserire elenco giocattoli e come descrizione questa vista mostra un elenco di giocattoli. Non c'è bisogno di usare necessariamente le stringhe traducibili:
Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<metadata>
        <layout title="Lista giocattoli">
                <message>
                        Questa vista mostra elenca dei giocattoli</message>
        </layout>
</metadata>

Offline james81

  • Appassionato
  • ***
  • Post: 475
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #4 il: 03 Dic 2013, 15:29:58 »
ok, ho eseguito il tutto, però una volta creato e attivato , se aggiorno il frontend mi si blocca al momento del caricamento

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #5 il: 03 Dic 2013, 18:33:06 »
spiegati meglio  ???

Offline james81

  • Appassionato
  • ***
  • Post: 475
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #6 il: 03 Dic 2013, 18:41:50 »
praticamente dopo aver cerato la voce del menu, mi sposto nel frontend e aggiorno la pagina....mi visualizza l'header e altri moduli....ma poi si bloccca quando in teoria dovrebbe caricarmi il menu contenente la nuova voce creata

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #7 il: 03 Dic 2013, 18:49:35 »
liiiiiiink  :)

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #8 il: 03 Dic 2013, 22:07:01 »
@james81
premesso che ti consiglio di usare sempre e comunque la dichiarazione CDATA, stai cercando nel posto sbagliato.
se l'xml della descrizione della view fosse sbagliato, non vedresti il nome e la descrizione nel back end, ma solo il nome 'php' della view nella creazione della voce di menù. da front end questo file è irrilevante.

attiva il debug e verifica il codice eseguito nella pagina.

ciao,
marco


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:Creare link menu al proprio componente
« Risposta #9 il: 04 Dic 2013, 09:58:11 »
purtroppo il sito è ancora in locale ,
comunque stò uasnto il CDATA, e attivo il debug ma non riesco nemmeno a visulizzaro, in quanto il caricamento della pagina e la sua visualizzazione si ferma proprio al momento della visualizzazione/caricamento del menu con la voce incriminata e da li in poi non carica + nulla

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #10 il: 04 Dic 2013, 10:10:45 »
è attiva la visualizzazione errori? Se no attivala su massimo, deve per forza uscire qualcosa :)

Offline james81

  • Appassionato
  • ***
  • Post: 475
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #11 il: 04 Dic 2013, 10:27:40 »
perfetto!!!...ho attivato la visualizzazione errori e mi ha riportato questo:

giocattoliBuildRoute() in /web/htdocs/www.sito.it/home/includes/router.php on line 347

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #12 il: 04 Dic 2013, 10:28:39 »
What's at line 347?

Offline james81

  • Appassionato
  • ***
  • Post: 475
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #13 il: 04 Dic 2013, 10:35:05 »
$parts        = $function($query);

però è il file router.php di joomla 2.5

è come se non riuscisse a riscriviere l'indirizzo utilizando il sef

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #14 il: 04 Dic 2013, 10:58:48 »
nono è qualcosa nel tuo componente. Senza codice davanti è difficile capire

Offline james81

  • Appassionato
  • ***
  • Post: 475
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #15 il: 04 Dic 2013, 12:18:01 »
controller.php
Codice: [Seleziona]
class GiocattoliController extends JController
{
  public function Rossi($cachable = false, $urlparams = false)
    {
        // set default view if not set
        JRequest::setVar('view', JRequest::getCmd('view', 'rossi'));
       
        // call parent behavior
        parent::display($cachable);
    }

model/rossi.php
Codice: [Seleziona]
jimport( 'joomla.application.component.modellist' );

class GiocattoliModelRossi extends JModelList
{
    function getListQuery()
    {
        $db = JFactory::getDBO();
        $query = $db->getQuery(true);

qui ho la query

    }
}   

views/Rossi
Codice: [Seleziona]
jimport( 'joomla.application.component.view' );
class GiocattoliViewRossi extends JView
{
    function display($tpl = null)
    {
        $this->items = $this->get('Items');
        parent::display($tpl);
    }
}

views/Rossi/tmp
Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<metadata>
        <layout title="Lista giocattoli">
          <message><![CDATA[Lista giocattoli rossi]]></message> 
        </layout>
</metadata>

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #16 il: 04 Dic 2013, 19:06:51 »
giocattoliBuildRoute() in /web/htdocs/www.sito.it/home/includes/router.php on line 347

ma l'errore è solo questo? non dice altro? ad esempio syntax error, warning, ecc...?

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Creare link menu al proprio componente
« Risposta #17 il: 06 Dic 2013, 09:01:59 »
in realtà dovrebbe essere GiocattoliBuildRoute() per stare alla naming convenction di J2.5, comunque il problema dovrebbe essere nel file router.php nella directory del tuo componente, non in quello di di libreria di joomla.
inserisci un error_reporting(-1) all'inzio del tuo router.

ciao

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

 



Web Design Bolzano Kreatif