We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 17560
    • 49 Posts
    Привет всем,
    возникла необходимость программно генерировать документы (собственно, перенос сайта из другой cms с помощью своего скрипта, который читает старую БД и генерит из этих данных запросы для создания документов ModX). Примерно так:

    INSERT INTO `my_site_content` 
    (`id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `content`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `haskeywords`, `hasmetatags`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`) 
    VALUES 
    (NULL, 'document', 'text/html', 'Page name', 'Page name', 'Page name', 'page123', '', 1, 1330549210, 0, 7, 0, '', '<h1>Page name</h1><p>Page content</p>', 1, 10, 0, 1, 0, 1, 1330549210, 1, 1330549210, 0, 0, 0, 1330549210, 1, 'Menu item', 0, 0, 0, 0, 0, 0, 1);


    Что получается:


    • Документы создаются,
    • нормально отображаются в админке (дереве документов) и откываются в ней для редактирования
    • При нажатии кнопки "Просмотреть" в админке перебрасывает на (адрес сайта)/(id страницы), например site.ru/26 хотя алиас прописан
    • Ditto не отображает созданные скриптом документы

    SQL-запрос из примера выше брала из дампа базы этого сайта
    В чем может быть проблема? Еще в какую-то таблицу надо что-то писать, не только в site_content? Теряюсь в догадках, не могу понять в чем дело... (
      • 38454
      • 71 Posts
      А userfriendly url включен? (в настройках и в .htaccess-файле)
        • 38454
        • 71 Posts
        И еще по поводу программно создаваемых документов — https://forums.modx.com/thread/70095/modx-revo#dis-post-392694
          • 785
          • 2,113 Posts
          Кэш почистить надо после добавления страниц. Если в программе, то:

          include_once MODX_MANAGER_PATH."processors/cache_sync.class.processor.php";
          $sync = new synccache();
          $sync->setCachepath("../assets/cache/");
          $sync->setReport(false);
          $sync->emptyCache();

          Путь "../assets/cache/", возможно, надо будет изменить (в зависимости от того, откуда вызывается).

          Хотя могут быть и другие проблемы...
            Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
            Статьи о MODx, регулярно новые публикации
            • 17560
            • 49 Posts
            max_veche, AKots, спасибо за помощь! Получилось)