Jump to content


Photo
- - - - -

Сохранение элементов в БД

парсер сохранение материала создание элемента

Best Answer SmetDenis , 05 March 2014 - 11:01

а как именно внести новый элемент в базу


Создаете пустой объект материала, наполняете его, сохраняете.
// пустышка
$item                   = $this->app->object->create('Item');

// наполняем стандартные поля
$item->application_id   = 10;
$item->name             = 'Item name';
$item->alias            = 'item-alias';
$item->type             = 'type-alias';
$item->publish_up       = $this->app->date->create()->toSQL();
$item->publish_down     = $this->app->database->getNullDate();
$item->created          = $this->app->date->create()->toSQL();
$item->created_by       = JFactory::getUser()->get('id');
$item->created_by_alias = '';
$item->state            = 1;
$item->searchable       = 1;

// наполняем пользовательские поля
$item->getElement('<element_id>')->bindData(array(
  'value' => '123' // данные в формате элемента, можно посмотреть PMA
));

// сохраняем
$this->app->table->item->save($item);

Go to the full post


  • This topic is locked This topic is locked
5 replies to this topic

#1 arist0

arist0
  • JBZoo User (rus)
  • User rate: ~
  • posts: 3
  • topics: 1

Posted 04 March 2014 - 23:02

Здравствуйте.

Пишу парсер элементов для каталога на базе JBZoo (каталог предприятий). С самим парсером всё понятно: получил название, адрес, телефон, мыло... теперь в каталоге надо добавить новое предприятие с этими данными. Вот тут и всё... не могу найти решение ни для zoo ни для jbzoo... Есть вариант копировать существующий элемент, а потом изменять в нём грубо говоря всё, но что-то мне кажется что это не самое лучшее решение при условии что мне надо спарсить 160000 предприятий. Есть возможности API для сохранения нового элемента? Кто-то решал подобную задачу и как? 


Edited by arist0, 04 March 2014 - 23:03.

  • 0

#2 Sliapy

Sliapy
  • JBZoo User (rus)
  • User rate: 50.5
  • posts: 6393
  • topics: 15

Posted 05 March 2014 - 00:57

Смотрели эту тему - http://forum.jbzoo.c...enta-zoo-jbzoo/ ?


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 arist0

arist0
  • Topic Starter
  • JBZoo User (rus)
  • User rate: ~
  • posts: 3
  • topics: 1

Posted 05 March 2014 - 10:13

ну если вы про последние 2 строчки по поводу как изменить данные и сохранить обратно в базу, то да. а как именно внести новый элемент в базу. Смотрел и http://forum.jbzoo.c...-v-bd-mimo-zoo/ там тоже ничего не решено...


  • 0

#4 Sliapy

Sliapy
  • JBZoo User (rus)
  • User rate: 50.5
  • posts: 6393
  • topics: 15

Posted 05 March 2014 - 10:30

Так в указанной теме Денис дал рекомендации, что нужно делать.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#5 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 05 March 2014 - 11:01   Best Answer

а как именно внести новый элемент в базу


Создаете пустой объект материала, наполняете его, сохраняете.
// пустышка
$item                   = $this->app->object->create('Item');

// наполняем стандартные поля
$item->application_id   = 10;
$item->name             = 'Item name';
$item->alias            = 'item-alias';
$item->type             = 'type-alias';
$item->publish_up       = $this->app->date->create()->toSQL();
$item->publish_down     = $this->app->database->getNullDate();
$item->created          = $this->app->date->create()->toSQL();
$item->created_by       = JFactory::getUser()->get('id');
$item->created_by_alias = '';
$item->state            = 1;
$item->searchable       = 1;

// наполняем пользовательские поля
$item->getElement('<element_id>')->bindData(array(
  'value' => '123' // данные в формате элемента, можно посмотреть PMA
));

// сохраняем
$this->app->table->item->save($item);


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#6 arist0

arist0
  • Topic Starter
  • JBZoo User (rus)
  • User rate: ~
  • posts: 3
  • topics: 1

Posted 05 March 2014 - 13:24

спасибо, разобрался :)


  • 0





Also tagged with one or more of these keywords: парсер, сохранение материала, создание элемента

Click to return to top of page in style!