Back to top

Autore Topic: [RISOLTO]Aiuto Consiglio sviluppo componente joomla  (Letto 4563 volte)

Offline alessioT

  • Nuovo arrivato
  • *
  • Post: 22
  • Sesso: Maschio
    • Mostra profilo
[RISOLTO]Aiuto Consiglio sviluppo componente joomla
« il: 22 Apr 2010, 20:14:45 »
Salve ragazzi.
Sto sviluppando un estensione per joomla 1.5 che consiste nel mio lavoro di tesi sperimentale.
Il componente  dovrebbe suddividersi in due sottomenù per intenderci:

sezione Biblioteca Didattica
sezione Prestiti

Ho gia sviluppato ed è funzionante la prima sezione seguendo i vari tutorial.
Adesso mi trovo ad affrontare la seconda sezione.
Prima cosa ho inserito il secondo sottomenù nel file xml di installazione; ora a cosa faccio puntare il link?
Come faccio a puntare ad un nuovo punto d'entrata se è cosi che si dovrebbe procedere?

Spero mi sia spiegato.
Non so se sia la sezione giusta ma cmq vi allego la mia estensione sviluppata http://www.2shared.com/file/12747397/327dadb0/com_biblioteca.html
« Ultima modifica: 25 Apr 2010, 20:44:45 da alessioT »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Aiuto Consiglio sviluppo componente joomla
« Risposta #1 il: 22 Apr 2010, 23:03:36 »
ciao alessioT,
  dipende da come hai definito le voci in <submenu> nel file xml, se hai usato la chiave <task> allora ne troverai il valore nella variabile $task nel post (vedi JRequest::getVar), se invece usi la chiave <link> allora poi specificare il link cui indirizzare la richiesta.

dai una occhiata ai componenti esistenti per farti una idea e fammi sapere.

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

Offline alessioT

  • Nuovo arrivato
  • *
  • Post: 22
  • Sesso: Maschio
    • Mostra profilo
Re:Aiuto Consiglio sviluppo componente joomla
« Risposta #2 il: 23 Apr 2010, 21:26:13 »
Ok...Le avevo già notate queste due alternative.
Però in se mi dai una dritta molto pratica te ne sono grato.
Io ho il menù in questo modo :

Codice: [Seleziona]
<menu task="default" img="js/ThemeOffice/component.png">Biblioteca Didattica</menu>
    <submenu>
        <menu link="option=com_biblioteca">Biblioteca</menu>
        <menu link="option=com_biblioteca/prestiti.php">Prestiti</menu>
    </submenu>

Come vedi il primo link linka a com_biblioteca che credo da solo punti al punto d'ingresso con lo stesso nome del componente cioè biblioteca.php, ora se volessi puntare il secondo menù ad un secondo punto d'ingresso che si deve chiamare prestiti.php come dovrei fare? Così non funziona mi dice che non trova la pagina.

Grazie

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Aiuto Consiglio sviluppo componente joomla
« Risposta #3 il: 24 Apr 2010, 09:44:11 »
Codice: [Seleziona]
<menu link="option=com_biblioteca?task=prestiti">Prestiti</menu>

biblioteca.php deciderà poi le azioni da compiere sulla base del valore di $task. questa era la metodologia di 1.0.
ora se nello sviluppo hai seguito quanto scritto in

docs.joomla.org/Developing_a_Model-View-Controller_Component_-_Part_1

ma non mi pare, più corretto sarebbe passare il nome del controller, e sfruttare le funzionalità del framework 1.5.

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

Offline alessioT

  • Nuovo arrivato
  • *
  • Post: 22
  • Sesso: Maschio
    • Mostra profilo
Re:Aiuto Consiglio sviluppo componente joomla
« Risposta #4 il: 24 Apr 2010, 11:08:34 »
Ok.Quindi sto procedendo con il vecchio metodo. Anke se mi pare di aver seguito alla lettera quella guida.

Procedendo con i task dovrei creare e dimmi se è corretto un nuovo punto d'entrata prestiti.php un secondo model una seconda vista e ovviamente un secondo template. Giusto??

Offline alessioT

  • Nuovo arrivato
  • *
  • Post: 22
  • Sesso: Maschio
    • Mostra profilo
Re:Aiuto Consiglio sviluppo componente joomla
« Risposta #5 il: 24 Apr 2010, 11:12:09 »
Cmq Ti informo che ho appena provato ma nada mi da componente non trovato in quel modo. Cosa sbaglio?

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Aiuto Consiglio sviluppo componente joomla
« Risposta #6 il: 24 Apr 2010, 11:32:25 »
hai sbagliato: l'entry point è sempre uno solo, all'interno di questo decidi che fare, ovvero quale controller/view caricare sulla base dei dati passati in $_REQUEST.

rileggi la documentazione, perché mi pare che ti siano sfuggiti i concetti alla base della progettazione joomla.

Codice: [Seleziona]
// Require specific controller if requested
if($controller = JRequest::getWord('controller')) {
    $path = JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php';
    if (file_exists($path)) {
        require_once $path;
    } else {
        $controller = '';
    }
}

come vedi verifica se è indicato un controller specifico e nel caso lo carica, con tutto ciò che ne consegue.

leggi anche, nella sezione articoli, l'articolo appena scritto da ventus: http://forum.joomla.it/index.php/topic,101767.0.html

ciao,
marco

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

Offline alessioT

  • Nuovo arrivato
  • *
  • Post: 22
  • Sesso: Maschio
    • Mostra profilo
Re:Aiuto Consiglio sviluppo componente joomla
« Risposta #7 il: 24 Apr 2010, 11:48:56 »
Ok. Grazie marco credo di aver capito.

Quindi in sostanza nel sub menù del file xml mi conviene far passare il nome del controller che voglio richiamare e l'unico punto d'entrata biblioteca.php smista la richiesta al controller specifico.

Offline alessioT

  • Nuovo arrivato
  • *
  • Post: 22
  • Sesso: Maschio
    • Mostra profilo
Re:Aiuto Consiglio sviluppo componente joomla
« Risposta #8 il: 24 Apr 2010, 13:00:29 »
Marco ho effettuato questi cambiamenti:

Ho cambiato il sub menu facendo passare il nome del controller in questo modo:
Codice: [Seleziona]
<menu link="option=com_biblioteca&amp;controller=prestiti">Prestiti</menu>
Quindi ho effettuato un controllo nel punto d'ingresso biblioteca.php in modo da inizializzare il controller giusto :
Codice: [Seleziona]
if($controller=='prestiti'){
//Inizializza il controller
$classname = 'PrestitiController'.$controller;
}else{
//Inizializza il controller
$classname = 'BibliotecaController'.$controller;
}

Ovviamente ho creato un nuovo controller prestiti.php situato nella cartella controllers un secondo model e una seconda vista con relativo template.
Pultroppo nel momento in cui clicco sul secondo menù mi becco schermata bianca cn url ovviamente quello passato nel submenù :
Codice: [Seleziona]
http://127.0.0.1/administrator/index.php?option=com_biblioteca&controller=prestiti
Ho sbagliato qualcosa?

Offline alessioT

  • Nuovo arrivato
  • *
  • Post: 22
  • Sesso: Maschio
    • Mostra profilo
Re:Aiuto Consiglio sviluppo componente joomla
« Risposta #9 il: 24 Apr 2010, 13:33:26 »
Ok. Grazie mille per l'aiuto ci sono riuscito :).
Ho seguito le tue indicazioni quindi carico il nome del controller e carico il controller giusto e tt il resto grazie mille marco.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Aiuto Consiglio sviluppo componente joomla
« Risposta #10 il: 24 Apr 2010, 14:41:39 »
prego,
  ricordati sempre di mettere [RISOLTO] nel post di apertura del topic.

ciao ed in bocca al lupo.
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline alessioT

  • Nuovo arrivato
  • *
  • Post: 22
  • Sesso: Maschio
    • Mostra profilo
Re:Aiuto Consiglio sviluppo componente joomla
« Risposta #11 il: 25 Apr 2010, 20:43:07 »
Grazie di tutto

 



Web Design Bolzano Kreatif