CD, Drupal, MySQL - парсинг сразу в MySQL-базу

Тема в разделе "Импорт CSV", создана пользователем boodooboo, 29 авг 2012.

  1. boodooboo

    boodooboo New Member Пользователи

    Регистрация:
    15 мар 2010
    Сообщения:
    27
    Кто-нибудь может сделать? Или может уже сделал?
     
  2. Павел

    Павел New Member Пользователи

    Регистрация:
    23 окт 2012
    Сообщения:
    13
    друпал из csv кушает на ура
     
  3. doc360

    doc360 New Member Пользователи

    Регистрация:
    14 янв 2013
    Сообщения:
    3
    Еще можно сделать файл импорта в вордпресс и импортировать модулем Wordpressimport как написано Ссылки недоступны для гостей. Еще можно модулем Feeds из csv. Туча вариантов, но готовых решений нет.
     
  4. dobroe utro

    dobroe utro New Member Пользователи

    Регистрация:
    15 янв 2013
    Сообщения:
    13
    Может и появится, если доработать эту мысль ->
    Если напрямую записывать в таблицу через
    PHP:
    mysql_query("INSERT INTO название_таблицы (post_title, post_content) VALUES ('$_POST***91;header***93;', '$_POST***91;text***93;')"); 
    то возникают сложности - ноды хранятся в разных таблицах и их как то нужно синхронизировать по id
    Но есть возможность программно создать ноду, для drupal 6 это
    PHP:
    $node = new stdClass(); 
    $node->type 'story'
    $node->title 'Заголовок ноды'
    $node->body 'Содержание ноды'
    $node->teaser 'Текст анонса'
    $node->uid 1;                  // id автора 
    $node->status 1;               // 1 - опубликовано, 0 - нет 
    $node->promote 1;              // 1 - показывать на главной, 0 - нет 
      
    node_save($node);
    для drupal 7
    PHP:
    $node = new stdClass();
    $node->type 'story';
    $node->title 'Заголовок ноды';
    $node->language LANGUAGE_NONE;
    $node->body[LANGUAGE_NONE][0]['value'] = 'Содержание ноды';
    $node->body[LANGUAGE_NONE][0]['summary'] = 'Текст анонса';
    $node->body[LANGUAGE_NONE][0]['format'] = 'filtered_html';
    $node->uid 1;
    $node->status 1;
    $node->promote 1;
     
    node_save($node);
    если просто подключится к базе
    PHP:
    $db mysql_connect("localhost""юзер""пароль"); 
    mysql_select_db("имябазы"); 
    mysql_query("SET NAMES utf8"); 
    далее код создании ноды из примера выше
    то ничего не выходит.
    Я не программист, по этому мысль мне доработать сложно :)
     
    Последнее редактирование: 23 янв 2013
  5. dobroe utro

    dobroe utro New Member Пользователи

    Регистрация:
    15 янв 2013
    Сообщения:
    13
    С feeds мне пока не понятно как настроить автоматический импорт по времени, чтобы он сам брал файл с одним и тем же именем и импортировал его. Вроде выбираю в настройках Feeds Minimum refresh period: 15 min, но по какой то причине не обновляет. И все таки это не задание по времени, а регулярное обновление по заданному значению. Хотя для начала и это бы меня устроило. В общем пока не разобрался.

    И второе, решить вопрос с GUID (уникальный идентификатор), без которого, если парсить контент, часть из которого уже импортирована в друпал раннее, то появляются дубли.
    А надо чтобы, если нода уже есть, он не добавлял её повторно при новом импорте, а добавлял только новые.

    Есть макрос [INT_ID], counter который делает +1, но считает он в рамках одной загрузки проекта.

    Как сделать, чтобы CD загрузил проект, по заданным ссылкам спарсил ссылки, с них спарсил контент(автоматически запускать парсинг контента), допустим 10 статей, [INT_ID] стал равен 10 и при повторной загрузке этого проекта через планировщик CD, он уже плюсовал к 10 а не к 0, а в следующий раз к 20 или 35, в зависимости от того сколько спарсил?
     
  6. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Подключить скрипт, который будет хранить в себе текущий ID и постоянно увеличивать его на 1 Ссылки недоступны для гостей при каждом вызове скрипта...
     
  7. dobroe utro

    dobroe utro New Member Пользователи

    Регистрация:
    15 янв 2013
    Сообщения:
    13
    Так то оно так, только его еще написать надо.
    Да вообще то пора уже php изучать, там глядишь и до API drupal доберусь..
     

Поделиться этой страницей