Joomla.it Forum
Non solo Joomla... => Sviluppo => : salvosound 05 Jul 2018, 12:59:55
-
Cari Amici
sto seguendo piano piano la guida alla programmazione del semplice " HELLO WORLD" component tramite la guida (https://docs.joomla.org/J3.x:Developing_an_MVC_Component/Adding_backend_actions) joomla
Sono arrivato alla parte del backend in cui si parla della vista singola e multipla e delle azioni.
L'uso del componente HelloWord dopo un po' crea molta confusione perchè in alcune parti non da modo di distinguere fra Istanze, e altri tipi logici. ( magari appena termino il lavoro provo a riscrivere qualche articolo di approfondimento )
Ora vengo al dunque:
il componente si chiama com_start_autisti, le due viste come da prassi si chiamano "start_autisti" e " start_autistis"
Partiamo dall'entryPoint che si chiama come è giusto che sia "start_autisti.php" dove all'interno creo l'istanza
$controller = JControllerLegacy::getInstance('StartAutisti');
Creo le varie classi del Model. La seguente è la classe del Models/start_autisti ( quindi vista singola )
class StartAutistiModelstart_autisti extends JModelAdmin
Zippo tutto e carico il componente su joomla e la lista viene fuori, cioè la vista multipla ( start_autistis ) funziona.
Se vado a cliccare su una voce dell'elenco, ad esempio per modificarlo, il server da errore 404 come componente non trovato.
Guardando attentamente la riga dell'indirizzo viene fuori il seguente LINK
administrator/index.php?option=com_startautisti&view=start_autisti&layout=edit&id=1
Riporto la parte interessata:
da notare che il nome del componente è errato.
option=com_startautisti&view
Se modifico a mano il nome del componente, funziona tutto, viene fuori il form corretto e registro nel db correttamente.
Quindi la domanda viene spontanea: Chi è responsabile del redirect e da dove prende il nome del componente?
Vi ringrazio.
-
Mi rispondo da solo visto che ho trovato, credo, una soluzione:
In pratica partendo dall'istanza e chiamandola con il nome del componente ho risolto la cosa, e quindi di conseguenza vanno modificate le varie assegnazioni delle classi. quindi sostituendo Start_autisti al posto di StartAutisti si risolve.
Mi rimane sempre un dubbio: Posso usare solo un istanza? non posso avere altre istanze?
ciao
-
molto bene, i miei complimenti ma il sito web qual'è? (http://"https://www.thewidefactory.it/")
-
è uno sviluppo in locale. ho tutto su un server in azienda per testare la funzionalità del nuovo componente.
Quindi diciamo che è a scopo didattico.
-
molto bene, i miei complimenti ma il sito web qual'è?
Ecco un altro che si crede furbo.