Joomla.it Forum

Non solo Joomla... => Sviluppo => : lory1990 30 Jun 2010, 17:02:17

: [WIP] Componente gestione esami
: lory1990 30 Jun 2010, 17:02:17
Ciao a tutti! inizio questo [WIP] (Work in progress) sulla mia prima creazione joomla: un componente basato su eventlist e CB che permetta ad una persona di estrapolare alcuni dati riguardanti i partecipanti ad un dato evento, inserire tutto ciò in una tebella ed esportare il tutto in word o excel!

Inizierò a programmare il frontend utente: la mia idea è quella che l'utente abbia un menu (di quelli standard di joomla) con 3 voci: Impostazioni, Statistiche, Segui un evento.

quindi ho creato questo controller principale

:
<?php

// No direct access
defined'_JEXEC' ) or die( 'Restricted access' );

jimport('joomla.application.component.controller');

class 
ReindController extends JController
{
        function 
statistiche()
    {
        
    }
        function 
impostazioni()
    {
        
    }
        function 
aggiungi()
        
    {

    }
}

Quindi per raggiungere le varie funzioni scriverò: index.php?option=com_esami&task=statistiche

Adesso però non so come passare al Model di queste funzioni e non so se implementare l'interfaccia grafica (form per l'inserimento di un nuovo evento) sulla view o sul model.

Spero mi seguirente in tanti con questo mio progetto!
: Re:[WIP] Componente gestione esami
: mau_develop 30 Jun 2010, 17:55:30
 ;D ;D se freni sì... altrimenti nel fosso con te nn ci vengo!

prima di partire a scrivere codice devi organizzare la struttura, chi farà cosa.

Il componente metterà qualcosa a disposizione del lato pubblico? sarà solo amministrativo?
La visualizzazione del menù sarà un "monoblocco" col componente o avrà un modulo?
Ti servirà anche un plugin?

Poi guarda il tool scritto da Marco che genera automaticamente a seconda del progetto una serie di cartelle e files standard dove troveranno posto i tuoi script.

Fatto questo devi progettare un minimo di logica, quante view ti serviranno etc...

te vai troppo veloce.. ;)

M.
: Re:[WIP] Componente gestione esami
: lory1990 30 Jun 2010, 18:18:13
Ok provo a fare 1 po' di progettazione:

Frontend
Backend

da definire....

Per quanto rigiarda il menù pensavo di avvlermi dei meu joomla, senza modulo! quando voglio scegliere una nuova voce menu nell'albero ce ne saranno alcune riguardanti il componente.... ma questo viene dopo!

Sono riuscito a creare la view home e sto scrivendo il codice che deve venire "visualizzato" li, quando mi serviranno dei dati dal database li devo far prendere al model se non ho capito male no?
: Re:[WIP] Componente gestione esami
: mau_develop 30 Jun 2010, 21:07:07
...quella no è progettazione... è un contentino per me che te l'ho chiesto ;)

Frontend

    * view home che reindirizza a tre view "secondarie" (quindi entro con il controller principale qui)
    * view per "statistiche"
    * view per aggiungere un blocco eventi
    * view per le impostazioni
    * view per "modifica un blocco eventi" all'interno delle impostazioni

Backend

da definire....

bene, fai un bell'albero delle cartelle e dei file che ti occorrono, non è necessario mettere tutto ma almeno avere un idea.
se usi il tool di Marco ti semlifichi la vita.

M.
: Re:[WIP] Componente gestione esami
: mmleoni 30 Jun 2010, 21:09:43
lory!!!!

in un progetto la fase di analisi e progettazione richiede tipicamente tra il 60% e l'80% del tempo, il resto è coding e debug. se parti così difficilmente arriverai a scrivere qualcosa di 'informaticamente' accettabile  :(

ti consiglio di studiare la documentazione di Joomla! sulla creazione delle estensioni perché una frase tipo:

non so se implementare l'interfaccia grafica (form per l'inserimento di un nuovo evento) sulla view o sul model

è indice di una leggera  ;)  confusione sui ruoli degli oggetti in questione...

in bocca al lupo e buon lavoro.

ciao,
marco
: Re:[WIP] Componente gestione esami
: lory1990 01 Jul 2010, 08:14:48
Va bene così, è solo l'inizio!

[allegato vecchio più di un anno eliminato automaticamente]
: Re:[WIP] Componente gestione esami
: lory1990 07 Jul 2010, 00:15:43
Sto facendo progressi! ma volevo chiedere se un controller può reindirizzare a model diversi!! e se si come !

grazie!
: Gestione della view
: lory1990 07 Jul 2010, 22:07:48
Ciao sono sempre qui, ogni giorno apprendo di più!

nel controller principale (controller.php) ho creato una funzione

:
function autorizzato(){
        $view =& $this->getView('Autorizzato');
}

Ho creato tutti i files:
views/autorizzato/view.html.php
views/autorizzato/tmpl/default.php

dentro view.php c'è scritto:

:
class EventManagerViewAutorizzato extends JView
{
    function display($tpl = null)
    {
        parent::display($tpl);
    }
}

Ma mi viene dato questo errore:
              500 - Si è verificato un errore.                                   View not found [name, type, prefix]: Autorizzato,,eventmanagerView
: Re:[WIP] Componente gestione esami
: mau_develop 07 Jul 2010, 22:28:54
come si chiama esattamente il componente? com_ ..... ?

M.
: Re:[WIP] Componente gestione esami
: lory1990 07 Jul 2010, 22:31:30
com_eventmanager

: Re:[WIP] Componente gestione esami
: lory1990 07 Jul 2010, 23:05:00
noto con dispiacere che da questo problema anche se cerco di farlo da altre funzione con altre viste

Posto i files che ho creato, non c'è il file di installazione! vanno messi lato backend

---------
edit: all ok!!
la sintassi è: $view =& $this->getView('Autorizzato', 'html');
: Re:[WIP] Componente gestione esami
: lory1990 08 Jul 2010, 12:58:40
Continuo il mio sviluppo (sta diventando interessante!!)  :)

Mi trovo difronte a questo errore:
Fatal error:  Call to a member function numero() on a non-object   in C:\xampp\htdocs\Joomla\administrator\components\com_eventmanager\views\privilegicb\view.html.php   on line 19

quando vado a caricare una view il cui codice è

:
        $model =& $this->getModel('PrivilegiCB');
        $a = $model->numero();
        $this->assingRef('dati',$a);

e nel model c'è :

:
    function numero();
    {
    $a= "numero";
        return $a;
    }

Perchè mi parla di oggetti se la funzione non restituisce alcun oggetto?
: Re:[WIP] Componente gestione esami
: = odino = 08 Jul 2010, 14:35:01
i test, se devi iniziare da zero usa l'approccio test first per dare una qualità e coscenza infinitamente maggiore a ciò che scrivi
: Re:[WIP] Componente gestione esami
: lory1990 08 Jul 2010, 14:38:24
cosa è l'approccio test first?
: Re:[WIP] Componente gestione esami
: = odino = 08 Jul 2010, 14:44:48
http://en.wikipedia.org/wiki/Test-driven_development

In soldoni, con una sintesi affatto esaustiva: scrivi i test prima del codice ;)
: Re:[WIP] Componente gestione esami
: lory1990 08 Jul 2010, 14:57:49
Vedo, ho letto ma... qui non è un problema di approccio penso! il problema è che non capisco dove sbagio!! ho fatto questo test di "passaggio variabili" uguale a quello di com_hello e mi da errore.. ma dove sta questo errore?! mah!
: Re:[WIP] Componente gestione esami
: = odino = 08 Jul 2010, 15:09:06
infatti il mio consiglio è per un approccio migliore  ;)
: Re:[WIP] Componente gestione esami
: lory1990 08 Jul 2010, 15:10:06
ok... ma penso che il problema sia: perchè non riesco a recuperare il model? e poi: perchè questo non fa uello che dico?

è sbagliato il codice?
: Re:[WIP] Componente gestione esami
: = odino = 08 Jul 2010, 18:12:41
l'errore che hai descritto ti dice che stai chiamando il metodo numero() su un entità che NON è un oggetto
: Re:[WIP] Componente gestione esami
: mau_develop 08 Jul 2010, 18:29:00
$a = $model->numero();

perchè è sbagliato il concetto, non puoi usare un metodo così (la funz numero è un metodo, se tu nella costruzione del modello (credo) dove ha fatto quella funzione

scrivi

$this->num = $this->numero();

dopo puoi recuperare la proprietà creata + o - come hai fatto

$a = $model->num;

M.

ps nn so se quello che fai ha una logica... ti ho solo corretto la sintassi... cmq ti manca ancora il concetto oop
: Re:[WIP] Componente gestione esami
: lory1990 08 Jul 2010, 19:35:59
OOP.... eh... è da 4 anni che non ci metto più mano iniziai con java 5!!

comunque c'è una logica.. spero al più presto di dimostrarvelo!
: Re:[WIP] Componente gestione esami
: lory1990 11 Jul 2010, 20:18:55
La programmazione continua! Penso di aver capito abbastanza... ora bisogna programmare

Vi lascio il mio lavoro (embrionale) in attesa di commenti

http://docs.google.com/leaf?id=0BxO7WlEjXlueZDVlZTY0NWItZjBlMS00NTAxLWExYTEtNGIzNTBjMDdhYmFl&hl=it&authkey=CPOqlKoD