Back to top

Autore Topic: [WIP] Componente gestione esami  (Letto 6885 volte)

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
[WIP] Componente gestione esami
« il: 30 Giu 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

Codice: [Seleziona]
<?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!

mau_develop

  • Visitatore
Re:[WIP] Componente gestione esami
« Risposta #1 il: 30 Giu 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.

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #2 il: 30 Giu 2010, 18:18:13 »
Ok provo a fare 1 po' di progettazione:

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....

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?

mau_develop

  • Visitatore
Re:[WIP] Componente gestione esami
« Risposta #3 il: 30 Giu 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.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #4 il: 30 Giu 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:

Citazione
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
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #5 il: 01 Lug 2010, 08:14:48 »
Va bene così, è solo l'inizio!

[allegato vecchio più di un anno eliminato automaticamente]

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #6 il: 07 Lug 2010, 00:15:43 »
Sto facendo progressi! ma volevo chiedere se un controller può reindirizzare a model diversi!! e se si come !

grazie!

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Gestione della view
« Risposta #7 il: 07 Lug 2010, 22:07:48 »
Ciao sono sempre qui, ogni giorno apprendo di più!

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

Codice: [Seleziona]
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:

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

Ma mi viene dato questo errore:
Citazione
              500 - Si è verificato un errore.                                   View not found [name, type, prefix]: Autorizzato,,eventmanagerView

mau_develop

  • Visitatore
Re:[WIP] Componente gestione esami
« Risposta #8 il: 07 Lug 2010, 22:28:54 »
come si chiama esattamente il componente? com_ ..... ?

M.

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #9 il: 07 Lug 2010, 22:31:30 »
com_eventmanager


Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #10 il: 07 Lug 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');
« Ultima modifica: 07 Lug 2010, 23:11:36 da lory1990 »

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #11 il: 08 Lug 2010, 12:58:40 »
Continuo il mio sviluppo (sta diventando interessante!!)  :)

Mi trovo difronte a questo errore:
Citazione
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 è

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

e nel model c'è :

Codice: [Seleziona]
    function numero();
    {
    $a= "numero";
        return $a;
    }

Perchè mi parla di oggetti se la funzione non restituisce alcun oggetto?

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #12 il: 08 Lug 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

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #13 il: 08 Lug 2010, 14:38:24 »
cosa è l'approccio test first?

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #14 il: 08 Lug 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 ;)

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #15 il: 08 Lug 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!

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #16 il: 08 Lug 2010, 15:09:06 »
infatti il mio consiglio è per un approccio migliore  ;)

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #17 il: 08 Lug 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?

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re:[WIP] Componente gestione esami
« Risposta #18 il: 08 Lug 2010, 18:12:41 »
l'errore che hai descritto ti dice che stai chiamando il metodo numero() su un entità che NON è un oggetto

mau_develop

  • Visitatore
Re:[WIP] Componente gestione esami
« Risposta #19 il: 08 Lug 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

 



Web Design Bolzano Kreatif