У меня насущный вопрос - есть сайт по проектированию газоснабжения которому уже почти четыре года. Вот хочу перейти с движка Ucoz на котором он сделан на Drupal. Есть ли какой скрипт для конвертации или как то врукопашную можно сделать?
У меня насущный вопрос - есть сайт по проектированию газоснабжения которому уже почти четыре года. Вот хочу перейти с движка Ucoz на котором он сделан на Drupal. Есть ли какой скрипт для конвертации или как то врукопашную можно сделать?
Комментарии
http://www.drupal.ru/node/32448
Пока самая развитая тема, что я знаю. Если найдете, что-то - свистните.
про UCOZ - могу ошибаться, не работал с ней - один из вариантов - цепляем две базы, и делаем выборку одной - заполняем структуру данных, и дальше node_save. Это простое решение - в реали немного посложнее, заполняем словари тахсономии, аплодим и атачим файлы. Так партировано 4-5 сайтов в друпал.
Проблема UCOZ'а, он выдает backup в тестовом формате. Это ещё нужно как то парсить....
в текстовом формате как я понял - интереса ради можно примерчик - пару строчек
RomanovDF, спасибо большое за инфу! Но к сожалению у меня еще форум на сайте. Но буду искать дальше.
hmm - а как вы думаете что такое форум в понятиях друпала? это нода с коментами и таксономией категорий
$sql = 'SELECT * FROM dle_forum_topics WHERE tid>1300 and tid < 2000';
$result = db_query($sql);
$count = 0;
while ($topik = db_fetch_object($result)) {
$post_d = new StdClass();
db_set_active('legacy');
$post_d->forum_id = $topik->forum_id;
$post_d->term = db_result(db_query('SELECT name FROM dle_forum_forums WHERE id = %d',$post_d->forum_id));
$post_d->term_descr = db_result(db_query('SELECT description FROM dle_forum_forums WHERE id = %d',$post_d->forum_id));
$post_d->topik = $topik->title;
$post_d->topic_descr = $topik->topic_descr;
$sql1 = 'SELECT * FROM dle_forum_posts WHERE topic_id = %d ORDER BY pid';
$post = db_query($sql1,$topik->tid);
while($pr = db_fetch_object($post)) {
$post_d->post[] = $pr;
}
db_set_active('default');
$autor = user_load(array('name'=>$post_d->post[0]->post_author));
$node = new StdClass();
$term=taxonomy_get_term_by_name($post_d->term);
if($term==NULL) {
$term['name'] = trim($post_d->term);
$term['description'] = $post_d->term_descr;
$term['vid'] = 1;
taxonomy_save_term($term);
$term=taxonomy_get_term_by_name($post_d->term);
}
$node->taxonomy[] = $term[0]->tid;
$node->forum_tid = $term[0]->tid;
$node->uid = $autor->uid;
$node->type = 'forum';
$node->title = $post_d->topik;
$node->created = strtotime($post_d->post_date);
$node->changed = $post_d->edit_time;
$node->status = 1;
$node->comment = 2;
$node->language = 'ru';
$node->format = 3;
$node->body = $post_d->post[0]->post_text;
$node->taxonomy[$node->forum_tid] = $term[0]->tid;
$new_node = node_save($node);
for($i=0;$i<count($post_d->post);$i++){
$nid = $node->nid;
$user_commaent = user_load(array('name'=>$post_d->post[$i]->post_author));
$edit['timestamp'] = strtotime(strip_tags($post_d->post[$i]->post_date));
$edit['name'] = $user_commaent->name;
$edit['uid'] = $user_commaent->uid;
$edit['nid'] = $nid;
$edit['subject'] = $post_d->topik = $topik->title;
$edit['comment'] = $post_d->post[$i]->post_text;
$edit['format'] = 1;
$edit['status'] = 0;
$edit['mail'] = $post_d->post[$i]->e_mail;
comment_save($edit);
}
что то наподобие этого нужно
Структура
forum
205|12|0|0|1291620496|0|10|123|Анкета|форма|совесть|1|Демон|1|0|61
120|10|0|0|1217496001|0|21|70|Давайте прыгнем с парашюта!||Утюг|1|Совесть|1|0|17
275|17|0|0|1234526247|1|0|15|Восточный тайфун 6.06.2009 г.|Ивановская обл.|совесть|1|совесть|1|0|61
42|4|0|0|1205736761|0|4|516|Совесть с ДРом!!!!!!!!!||шекспир|1|Совесть|1|0|11
forump
3387|369|1251359910|0|буду|1|Демон|1||0|||89.179.135.34|0||101|1251359910
3388|369|1251361665|0|+1|1|dembel|1||0|||95.25.94.77|0||117|1251361665
3389|367|1251361737|0|принял|1|dembel|1||0|||95.25.94.77|0||117|1251361737
Мне кажется легче сделать чистый сайт на Друпале а материалы перенести ручками. Иначе трудно - хотя говорят что в австралии зверя поймали - помесь кенгуру собаки и летучей мыши - чупакабру. Но я не очень верю в эту затею. Зачем укозовский сайт на друпале - непонятно. Если для добавления функционала - тогда после переноса еще больше проблем со структурой сайта появится - и всеравно вручном режиме прийдется все переделывать и допиливать..
Почему в ручном? Я не уверен, но топикстартер ИМХО хотел перенести контент. А дальше - проще. В Друпале много больше модулей чем в Юкозе и уж точно с не худшим функционалом.
Если человек хочет добавить функционала сайту то наверняка будет использовать разделение материала по типам а также таксономию итд итп. Вот материал и прийдется ручками переносить - не проще ли это сделать сразу путем обычного копирования на готовый друпал.Имхо - так надежнее и гарантия что все будет работать.
Не устанет ли он все ручками переносить?
Дык постепенно - наверняка есть секретарша которая не знает куда себя деть )))
А секретарше предлагаете пройти курсы администрирования SQL? Фантазировать можно долго, но толкового ответа на главный вопрос никто пока не дал.
решение из коробочки тут не подойдет - как вариант переносите текстовые файлы в mysql - и пишете скрипт экспортирования этого всего в drupal. Ни чего не супер сложного, просто немного покодить надо.
Основная причина по которой хочется перенести сайт это "ПРИВЯЗАННОСТЬ" к системе UCOZ. Это с одной стороны + (не надо следить за обновлениями, адекватна техподдержка и т.д.), а с другой стороны ни куда я от них не смоюсь как это можно сделать с drupal.
Хм ... А если распарись его прямо с HTML и толкнуть все данные в один SQL запрос А есть скрипт конвертации баз из ВП или джумла под друпал? Можно рискнуть