joomla logo

Llamar a función de un Componente desde otro Componente

joomla logoSi alguna vez les ha tocado desarrollar componentes que pudieran hacer uso de funciones ya existentes en otros componentes, ya sea por reutilización de código o dependencia entre componentes, esta es la forma correcta de hacer el llamado.

Existen dos formas de hacerlo, la primera forma es simplemente cargar el "helper" del componente que contenga la función haciendo uso de la función php "require_once(PATH_TO_HELPER)".

La segunda forma es cuando queremos hacer uso de un modelo completo y se debe realizar de la siguiente forma: lo que tenemos que hacer el cargar el "model" del componente que tenga la función que queramos usar, esto se hace mediante el uso de la función "addModelPath" del core de joomla.

a continuación un ejemplo del código que se debe utilizar:

require_once (JPATH_ADMINISTRATOR.DS.'components'.DS.'com_questaudit'.DS.'helpers'.DS.'db.php'); $this->addModelPath( JPATH_ADMINISTRATOR.DS.'components'.DS.'com_questaudit'.DS.'models' ); $auditmodel = $this->getModel('audit', 'questauditModel'); $result = $auditmodel->getitem();