Back to top

Autore Topic: realizzazione componente  (Letto 3115 volte)

Offline ilovephp

  • Esploratore
  • **
  • Post: 175
  • Sesso: Maschio
    • Mostra profilo
realizzazione componente
« il: 12 Ago 2008, 11:44:14 »
Quale è la funzione di

Codice: [Seleziona]

$controller->execute( JRequest::getVar( 'task' ) );

in una file principale per la costruzione di un componente ?

 ??? ??? ???
Consulenze per la realizzazione e personalizzazione di siti web dinamici. Inoltre, sul sito
http://www.soluzioniperilweb.it
sono disponibili manuali di sviluppo joomla.

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re: realizzazione componente
« Risposta #1 il: 12 Ago 2008, 13:19:37 »
Ciao ILP  :)

Sono le funzioni descritte nel controller ( se parliamo del back-end del componente ), per esempio aggiungi, salva, modifica...

Codice: [Seleziona]
function __construct()
{
parent::__construct();


$this->registerTask( 'add'  , 'edit' );
}




function edit()
{
JRequest::setVar( 'view', 'view#1' );
JRequest::setVar( 'layout', 'view'  );
JRequest::setVar('hidemainmenu', 1);

parent::display();
}



function save()
{
$model = $this->getModel('jp');

if ($model->store($post)) {
$msg = JText::_( 'Data saved!' );
} else {
$msg = JText::_( 'Error saving data' );
}


$link = 'index.php?option=com_componenteacaso';
$this->setRedirect($link, $msg);
}


come vedi vengono riferite a views e models


Offline ilovephp

  • Esploratore
  • **
  • Post: 175
  • Sesso: Maschio
    • Mostra profilo
entry point hello.php
« Risposta #2 il: 12 Ago 2008, 14:25:18 »
Scusami ma penso che mi manca qualche pezzo!!! :-)

nel file entry point
la riga

$classname   = 'HelloController';

$controller = new $classname();

restituisce un oggetto di questo tipo
Codice: [Seleziona]
Uscita da controller : object(HelloController)#117 (14) { ["_basePath"]=>  string(38) "/var/www/Joomla15/components/com_hello" ["_name"]=>  string(5) "hello" ["_methods"]=>  array(2) { [0]=>  string(8) "display_" [1]=>  string(7) "display" } ["_taskMap"]=>  array(3) { ["display_"]=>  string(8) "display_" ["display"]=>  string(7) "display" ["__default"]=>  string(7) "display" } ["_task"]=>  NULL ["_doTask"]=>  NULL ["_path"]=>  array(1) { ["view"]=>  array(1) { [0]=>  string(45) "/var/www/Joomla15/components/com_hello/views/" } } ["_redirect"]=>  NULL ["_message"]=>  NULL ["_messageType"]=>  string(7) "message" ["_acoSection"]=>  NULL ["_acoSectionValue"]=>  NULL ["_errors"]=>  array(0) { } ["_data"]=>  array(0) { } }


 $controller->execute('');

qust'istruzione mi visualizza Hello Word ma non capisco come arriva in view???

 :-[
Consulenze per la realizzazione e personalizzazione di siti web dinamici. Inoltre, sul sito
http://www.soluzioniperilweb.it
sono disponibili manuali di sviluppo joomla.

Offline ilovephp

  • Esploratore
  • **
  • Post: 175
  • Sesso: Maschio
    • Mostra profilo
Re: realizzazione componente
« Risposta #3 il: 13 Ago 2008, 10:46:10 »
 ;D
All'interno del $controller->execute('');
la proprieta $_doTask diventa display, quindi si raggiunge function display($cachable=false) che pensa al resto.

 ;)
Consulenze per la realizzazione e personalizzazione di siti web dinamici. Inoltre, sul sito
http://www.soluzioniperilweb.it
sono disponibili manuali di sviluppo joomla.

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re: realizzazione componente
« Risposta #4 il: 13 Ago 2008, 12:53:44 »
Ciao ILP scusa se non ti ho risposto ma ieri ho visto il topic e me n'ero dimenticato.

Comunque se dai un'occhiata al back-end, c'è più da divertirsi  :)

Offline ilovephp

  • Esploratore
  • **
  • Post: 175
  • Sesso: Maschio
    • Mostra profilo
Re: realizzazione componente
« Risposta #5 il: 13 Ago 2008, 13:06:26 »
be! altrimentri che gusto cè  ;)
alla prox classe o function...
 ;D
« Ultima modifica: 13 Ago 2008, 15:01:42 da ilovephp »
Consulenze per la realizzazione e personalizzazione di siti web dinamici. Inoltre, sul sito
http://www.soluzioniperilweb.it
sono disponibili manuali di sviluppo joomla.

Offline luca.santaniello

  • Nuovo arrivato
  • *
  • Post: 49
    • Mostra profilo
Re: realizzazione componente
« Risposta #6 il: 03 Apr 2009, 15:51:30 »
;D
All'interno del $controller->execute('');
la proprieta $_doTask diventa display, quindi si raggiunge function display($cachable=false) che pensa al resto.

 ;)

Salve,
anche io sto cercando di sviluppare un componentino joomla personalizzato. Ho letto un po di tutorial in giro ma ho le idee un po confuse.

Nel file entry point devo selezionare uno dei controller del mio componente. Giusto?

Ciascun componente deve avere una vista associata? oppure devo io stabilire quale chiamare?

Mi manca questo passaggio. Mi potreste spiegare?

Grazie

 



Web Design Bolzano Kreatif