функция, выгружающая прайс в файл, не в админке. в админке, в контроллере она только вызывается, а затем проверяется, создан ли файл и выводится сообщение.
/administrator/components/com_component/controllers/objects.php
require_once(JPATH_ROOT.DS.'components'.DS.'com_component'.DS.'models'.DS.'object.php');
public function getFile() {
$params = JComponentHelper::getParams('com_component');
$getFile = new ComponentModelObject();
$getFile -> getFile();
if (JFile::exists($params->get('filepath'). 'price.txt')) {
JFactory::getApplication()->enqueueMessage(JText::_('COM_COMPONENT_NOTICE_FILE_SAVE_SUCCESS'). '<br /><br />' . JURI::root(). $params->get('filepath'). 'price.txt');
}
else {
JError::raiseWarning(JText::_('COM_COMPONENT_NOTICE_FILE_SAVE_ERROR'));
}
$this->setRedirect(JRoute::_('index.php?option=com_component&view=objects', false));
}
а сама функция выгрузки в файл лежит в /components/com_component/models/object.php
и представляет собой
function getFile() {
$params = JComponentHelper::getParams('com_component');
$price = $this->getPrice();
JFile::write((JPATH_ROOT . DS . $params->get('filepath'). 'price.txt'), $price);
return true;
}
окончательно прайс формируется в функции getPrice(), которая, в свою очередь, состоит вызывает функции, формирующие заголовок прайса, список товаров и т.п.
я теперь не понимаю, как мне из админки вызвать getPrice() с подключенным роутером?