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

olivergreen

  • Новичок
  • 8
  • 0 / 0
Здравствуйте!
Задался я идеей парсинга. Решил парсить данные напрямую в БД. Настроил парсер, написал код принимающий POST данные и отправляющий полученные данные в шаблоне таблицы #_zoo_item
Код
<?php

$foo = $_POST[alias];
$cdate = date("Y-m-d H:i:s");
$getimage = $_POST[image];
$img = str_replace('/','\/',$getimage);
$text = $_POST[video];
$video = str_replace('%26amp-','&',$text);
$duration = $_POST[long];
$actors = $_POST[cast];
$description = $_POST[desc];
$categories = $_POST[cat];

$content = ' {\n "d8c08f2f-b054-4596-a83f-dca11b51d239":  {\n "0":  {\n "file": "'.$img.'",\n "title": "'$_POST[name]'",\n "link": "",\n "target": "0",\n "rel": ""\n }\n },\n "1be02372-4f00-4841-824e-617a0d52a9dc":  {\n "0":  {\n "value": "<p>'.$foo.'<\\/p>"\n }\n },\n "b35faeaf-0df9-4e74-8b8f-23faeec83b67":  {\n "0":  {\n "value": "'.$video.'"\n }\n },\n "57251f90-ab42-4219-ae6c-01db17bb6ce5":  {\n "0":  {\n "value": "'.$duration.'"\n }\n },\n "c7db7e65-2fec-4f07-a4b9-d2c271d7cfdd":  {\n "0":  {\n "value": "'.$foo.'"\n }\n },\n "ef6647fa-456b-4fce-b451-fe45bcdb2d9f":  {\n\n },\n "03a2cd4a-1c44-439e-806e-934e6e5a04d9":  {\n "value": "1"\n },\n "befe9115-54d0-4b34-9b50-c0d0ed6630c9":  {\n "0":  {\n "value": "'.$foo.'"\n }\n }\n}';

$params = ' {\n "metadata.title": "",\n "metadata.description": "",\n "metadata.keywords": "",\n "metadata.robots": "",\n "metadata.author": "",\n "config.enable_comments": "1",\n "config.primary_category": "9"\n}';

$db = mysql_connect("localhost", "db_user", "db_pass");
mysql_select_db("db_name");
mysql_query("SET NAMES utf8");
mysql_query("INSERT INTO qpoqp_zoo_item (id, application_id, type, name, alias, created, modified, modified_by, publish_up, publish_down, priority, hits, state, access, created_by, created_by_alias, searchable, elements, params) VALUES
(LAST_INSERT_ID(), 1, 'appname', '$_POST[name]', '$_POST[alias]', '$cdate', '$cdate', 860, '$cdate', '0000-00-00 00:00:00', 0, 1, 1, 1, 860, '', 1, '$content', '$params')");

?>
В коде в некоторых местах установлены переменные для теста.

В результате все данные отлично парсятся, сохраняясь в БД (правда не в JSON, а не конвертированном UTF-8, что, как показывает практика не проблема для ZOO - строки отлично обрабатываются).

Но оказалась проблема - если открывать записи в админке, то из созданного элемента остаются только название и алиас. Всё остальное начисто пропадает. Очищается в БД. Ума не приложу из-за чего. Проверяя все возможные причины пробовал вносить данные латиницей, не помогло.

Прошу знающих помочь разобраться в проблеме.
Заранее благодарен!
« Последнее редактирование: 18.01.2013, 11:13:32 от olivergreen »
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
проверте наличие $_POST[name].config в папке /media/zoo/applications/page/types  и соответствие полей в этом файле вашему шаблону "парсинга", а также правильности заливки данных в базу, как известно zoo "кушает" такой формат

Код
 {
"e7bab209-a0d5-4a44-863c-f624a8b9e021":  {
"whtml": "\u042d\u0442\u043e\u0442 \u0442\u0435\u043a\u0441\u0442 \u0431\u044b\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u0438\u0442\u0435\u043c\u0430\r\n"
},
"fa090924-0a43-49eb-8b10-383ef0a0b6bf":  {
"whtml": ""
}
}
а при выводе из базы конвертирует в человеко понятный вид, в противном случае zoo не сможет вывести данные(конвертированные), и в админке вы увидите только даты и титл с алиасом итема, а при нажатии кнопки сохранить, ваши введенные данные попросту очистятся
R331474010295
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться