Переход Ucoz-Drupal

Главные вкладки

Аватар пользователя proekt-gaz proekt-gaz 17 ноября 2010 в 11:30

У меня насущный вопрос - есть сайт по проектированию газоснабжения которому уже почти четыре года. Вот хочу перейти с движка Ucoz на котором он сделан на Drupal. Есть ли какой скрипт для конвертации или как то врукопашную можно сделать?

Комментарии

Аватар пользователя ATon23 ATon23 17 ноября 2010 в 17:02

про UCOZ - могу ошибаться, не работал с ней - один из вариантов - цепляем две базы, и делаем выборку одной - заполняем структуру данных, и дальше node_save. Это простое решение - в реали немного посложнее, заполняем словари тахсономии, аплодим и атачим файлы. Так партировано 4-5 сайтов в друпал.

Аватар пользователя RomanovDF RomanovDF 18 ноября 2010 в 14:37

ashadrin wrote:
про UCOZ - могу ошибаться, не работал с ней - один из вариантов - цепляем две базы, и делаем выборку одной - заполняем структуру данных, и дальше node_save. Это простое решение - в реали немного посложнее, заполняем словари тахсономии, аплодим и атачим файлы. Так партировано 4-5 сайтов в друпал.

Проблема UCOZ'а, он выдает backup в тестовом формате. Это ещё нужно как то парсить....

Аватар пользователя ATon23 ATon23 17 ноября 2010 в 22:45

hmm - а как вы думаете что такое форум в понятиях друпала? это нода с коментами и таксономией категорий

        db_set_active('legacy');
        $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);
               
                }

что то наподобие этого нужно

Аватар пользователя RomanovDF RomanovDF 1 февраля 2011 в 16:37

Структура

forum

  • id
  • forumID
  • poll
  • ontop
  • lpost
  • closed
  • posts
  • reads
  • name
  • descr
  • author
  • authreg
  • userpost
  • userreg
  • fontop
  • uid
276|17|0|0|1243485836|1|11|51|Умиротворение 10:00 12.06.2009 по 16.00 14.06.2007.||совесть|1|Fox|1|0|61
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

  • id
  • treadID
  • postTime
  • isFirst
  • message
  • userIsReg
  • user
  • signatureOn
  • editedBy
  • edittime
  • attach
  • attachsize
  • ip
  • subscribe
  • pollD etails
  • uid
  • lastmod
3391|366|1251363627|0|+1 <br /> всех благ и роста!|1|dembel|1||0|||95.25.94.77|0||117|1251363627
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
Аватар пользователя DDDDD099 DDDDD099 1 февраля 2011 в 17:47

Мне кажется легче сделать чистый сайт на Друпале а материалы перенести ручками. Иначе трудно - хотя говорят что в австралии зверя поймали - помесь кенгуру собаки и летучей мыши - чупакабру. Но я не очень верю в эту затею. Зачем укозовский сайт на друпале - непонятно. Если для добавления функционала - тогда после переноса еще больше проблем со структурой сайта появится - и всеравно вручном режиме прийдется все переделывать и допиливать..

Аватар пользователя RomanovDF RomanovDF 2 февраля 2011 в 13:24

Почему в ручном? Я не уверен, но топикстартер ИМХО хотел перенести контент. А дальше - проще. В Друпале много больше модулей чем в Юкозе и уж точно с не худшим функционалом.

Аватар пользователя DDDDD099 DDDDD099 2 февраля 2011 в 14:01

Если человек хочет добавить функционала сайту то наверняка будет использовать разделение материала по типам а также таксономию итд итп. Вот материал и прийдется ручками переносить - не проще ли это сделать сразу путем обычного копирования на готовый друпал.Имхо - так надежнее и гарантия что все будет работать.

Аватар пользователя RomanovDF RomanovDF 4 февраля 2011 в 10:52

А секретарше предлагаете пройти курсы администрирования SQL? Фантазировать можно долго, но толкового ответа на главный вопрос никто пока не дал.

Аватар пользователя ATon23 ATon23 7 марта 2011 в 22:30

решение из коробочки тут не подойдет - как вариант переносите текстовые файлы в mysql - и пишете скрипт экспортирования этого всего в drupal. Ни чего не супер сложного, просто немного покодить надо.

Аватар пользователя proekt-gaz proekt-gaz 10 марта 2011 в 8:30

Основная причина по которой хочется перенести сайт это "ПРИВЯЗАННОСТЬ" к системе UCOZ. Это с одной стороны + (не надо следить за обновлениями, адекватна техподдержка и т.д.), а с другой стороны ни куда я от них не смоюсь как это можно сделать с drupal.

Аватар пользователя Shift-Web Shift-Web 10 марта 2011 в 12:46

Хм ... А если распарись его прямо с HTML и толкнуть все данные в один SQL запрос Wink А есть скрипт конвертации баз из ВП или джумла под друпал? Можно рискнуть