Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 2328 Просмотров
*

ninth

  • Захожу иногда
  • 59
  • 0 / 0
  • [ 9 ]
выгрузка данных в XML
« : 05.02.2016, 11:37:11 »
Доброго времени суток.

Есть простенький компонент (галерея картинок), в общем ничего сложного.
Хотелось бы в самом компоненте добавить кнопку "Экспорт в XML" и сохранять данные этой галереи в файл.
Например, название и путь к картинке (для Flash).
Сталкивался кто с подобным?
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: выгрузка данных в XML
« Ответ #1 : 05.02.2016, 13:28:31 »
добрый.
я сегодня скачал корявый компонентик карты сайта.
так вон он как раз должен это делать - там одна кнопка с выгрузкой в XML
компонент кривой и толком не работает, выдавая пустой файл, но вам посмотреть, как оно устроено, думаю, хватит )
"sitemap faster" называется. JED
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: выгрузка данных в XML
« Ответ #2 : 05.02.2016, 15:02:33 »
не пойму в чем проблема? Повесить одну кнопку в вьюхе, указать task
в контроллере нужном отловить таск получить данные, сформировать XML и отдать юзеру.. простейшая задача.. делается максимум 20 минут..
*

ninth

  • Захожу иногда
  • 59
  • 0 / 0
  • [ 9 ]
Re: выгрузка данных в XML
« Ответ #3 : 05.02.2016, 20:28:20 »
Ну всё относительно легко по мере прибавления опыта )))
Создание кнопки - JToolBarHelper::custom('task', 'list', '', 'Экспорт в XML');
А вот дальнейшее пока от меня ускользает(
« Последнее редактирование: 05.02.2016, 20:53:09 от ninth »
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: выгрузка данных в XML
« Ответ #4 : 06.02.2016, 03:00:43 »
Ускользает вижу все ))

JToolbarHelper::custom( 'controller_name.exportXML', 'download', 'download', 'Экспорт в XML', false );
где:
controller_name.exportXML
controller_name -> имя контроллера в папке controllers
exportXML - в классе этого контроллера из папки controllers создаете метод
public function exportXML(){ echo ''test task; }
 'download', 'download' - 1-е значение вроде иконка текущая а второе то ли при клике толи при наведении
 'Экспорт в XML' - метка
false - должны ли для срабатывания кнопки быть задействованы чекбоксы!

А дальше вам в методе вашем сформировать XML  и отдать юзеру!
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: выгрузка данных в XML
« Ответ #5 : 06.02.2016, 03:22:21 »
:)
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ninth

  • Захожу иногда
  • 59
  • 0 / 0
  • [ 9 ]
Re: выгрузка данных в XML
« Ответ #6 : 06.02.2016, 17:57:56 »
Istaan, спасибо.

Да, вроде всё получается... только вот опять чего-то неправильно понимаю.

Контролер:
Код: php
class MyworksControllerExportxml extends JControllerAdmin
{
public function controllexportXML()
{
$model = $this->getModel('exportxml');

if ($model->modelexportXML()) {
$msg = JText::_( 'Успех' );
}
else
{
$msg = $model->getError();
}

$this->setRedirect(JRoute::_( 'index.php?option=com_myworks' ), $msg);
}
}
Сообщение не выводит никакого...

Модель:
Код: php
class MyworksModelExportxml extends JModelList
{
public function modelexportXML(){

$db = $this->getDbo();
$query = $db->getQuery(true);

$query->select(array('name', 'id'));
$query->from('#__myworks');

$query->where('state = '.(int)1);

$db->setQuery($query);
$query = $db->loadObjectlist();

$dom = new domDocument("1.0", "utf-8");
$root = $dom->createElement("myworks");
$dom->appendChild($root);

foreach($query as $myworks) {
$work = $dom->createElement("work", $myworks->name);
$work->setAttribute("id", $myworks->id);
$work->setAttribute("name", $myworks->name);
$root->appendChild($work);
}

$dom->save($_SERVER['DOCUMENT_ROOT']."/media/com_myworks/myworksFlash.xml");
}
}
Ругается - $myworks->name, Не нравится что в названии есть "&". Хотя в атрибут выводит без ошибок, на как "&"
« Последнее редактирование: 06.02.2016, 18:04:43 от ninth »
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: выгрузка данных в XML
« Ответ #7 : 06.02.2016, 19:20:11 »
Конечно не выведет сообщение!
У вас идет:
if ($model->modelexportXML()) {   $msg = JText::_( 'Успех' );   }
else{   $msg = $model->getError();   }
Смотрим в модель в метод modelexportXML()
что у вас возвращает метод? правильно! Ничего не возвращает )
а в PHP false равно 0 и равно пустой строке! то есть ваше условие возвращает ничего, а ничего это false и у вас  ошибку пытается получить в elsr $msg = $model->getError()!
Но вы же в модели никакой ошибки не устанваливали ?) значит и сообщения не будет )
*

ninth

  • Захожу иногда
  • 59
  • 0 / 0
  • [ 9 ]
Re: выгрузка данных в XML
« Ответ #8 : 07.02.2016, 14:04:47 »
Istaan, спасибо всё получилось.
Разобрался )
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Выгрузка в маркет+++

Автор DimonBush

Ответов: 0
Просмотров: 540
Последний ответ 17.09.2018, 17:23:56
от DimonBush
Два запроса к базе данных за раз можно делать?

Автор borro

Ответов: 4
Просмотров: 1138
Последний ответ 17.10.2017, 09:30:44
от SeBun
Стоит ли создавать отдельный запрос к базе данных?

Автор borro

Ответов: 4
Просмотров: 919
Последний ответ 10.07.2017, 13:03:03
от b2z
Вывод данных из MySQL на сайт

Автор Frics

Ответов: 5
Просмотров: 2609
Последний ответ 20.06.2017, 13:21:49
от Septdir
Запрос на обновление данных

Автор web3.0

Ответов: 0
Просмотров: 889
Последний ответ 30.04.2017, 21:30:12
от web3.0