Перенести статьи с Joomla перенести на Modx EVO
        Помогите, подскажите пожалуйста
Необходимо статьи с сайта который на Joomla перенести на MODX EVO
Предоставляю скрины обеих БД
    
    
                                                                                
            Необходимо статьи с сайта который на Joomla перенести на MODX EVO
Предоставляю скрины обеих БД
Комментарии: 6
                Я не думаю что у кого-то найдется свободное время чтоб Вам тут написать безвозмездно скрипт переноса. Тем более на MODX Evo )
Хотя там не так много писать кода.
                    Хотя там не так много писать кода.
                На Revo — есть. Для Evo — увы. 
и кода там писать реально всего ничего
                    и кода там писать реально всего ничего
                Ну помоги пожалуйста, если не трудно            
                    
                Примерно так это выглядит для Revo (взял из одного проекта, и не проверяя подкорректировал).
А смысл простой — взять нужные данные из таблиц Джумлы, завернуть их в массив и вставить с помощью какой-то матери в таблицу для Evo. Если погуглить, то можно найти такую ссылку. Осталось только присобачить пример выше к примеру по ссылке и добавлять данные как-то так, судя по статье:
                    <?php
set_time_limit(500);
$modx->setDebug(E_ALL & ~E_NOTICE); // sets error_reporting to everything except NOTICE remarks
$modx->setLogLevel(modX::LOG_LEVEL_DEBUG);
$result = $modx->query("SELECT k2.id,k2.title, k2.fulltext, k2.introtext, k2.created, k2.hits, k2.alias, FROM `joomlasite_k2_items` k2";
if (!is_object($result)) {
    return 'No result!';
} else {
    while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
                $data['pagetitle'] = $row['title'];
                $data['content'] = $row['introtext'];
                $data['template'] = 4;
		$data['context_key'] = 'web';
                $data['createdon'] = strtotime($row['created']);
                $data['tvs'] = true;
                $data['tv43'] = $row['hits'];
                $response = $modx->runProcessor('resource/create', $data);
                if ($response->isError()) {
                    html .= ($modx->error->failure($response->getMessage())) . '<br />
</br>?';
                } else {
                    $object = $response->getObject();
                    $html .= "
Был обновлен документ с ID {$object['id']}";
                }
}
return $html;Но дело в том, что в Revo есть процессоры, а в Evo, вроде бы (последний раз работал с Evo в 2014), нет. А смысл простой — взять нужные данные из таблиц Джумлы, завернуть их в массив и вставить с помощью какой-то матери в таблицу для Evo. Если погуглить, то можно найти такую ссылку. Осталось только присобачить пример выше к примеру по ссылке и добавлять данные как-то так, судя по статье:
// где $new_document это массив с данными из базы.
$newDocId = $modx->db->insert( $new_document, $modx->getFullTableName('site_content') );            
                А если переносить на Revo, не можете подробнее описать действия по переносу?            
                    
                Да тоже самое:
0. Импортировать таблицы из сайта на Joomla в бд с сайтом на MODX.
1. Составить запрос к БД с присоединением всех нужных параметров (категории, рейтинги, просмотры и т.п.)
2. Выполнить запрос с помощью $modx->query()
3. Обработать запрос, заполнив массив данными
4. С помощью процессора MODX resources/create создавать ресурсы из значений массива
5. Профит. Вы восхитительны.
Примерный код выше.
Я вам даже больше скажу. Вы можете сбыдлокодить и тупо скопировать значения из таблицы в таблицу, минуя процессоры. Это не тру, так делать нельзя, но оно работает. Я сталкивался с такими вещами. Очень многие умники любят так делать.
                    0. Импортировать таблицы из сайта на Joomla в бд с сайтом на MODX.
1. Составить запрос к БД с присоединением всех нужных параметров (категории, рейтинги, просмотры и т.п.)
2. Выполнить запрос с помощью $modx->query()
3. Обработать запрос, заполнив массив данными
4. С помощью процессора MODX resources/create создавать ресурсы из значений массива
5. Профит. Вы восхитительны.
Примерный код выше.
Я вам даже больше скажу. Вы можете сбыдлокодить и тупо скопировать значения из таблицы в таблицу, минуя процессоры. Это не тру, так делать нельзя, но оно работает. Я сталкивался с такими вещами. Очень многие умники любят так делать.
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.