Вход • Регистрация

Импорт текста в статьи

  • 10 сентября 2018 г. , редакция: 11 сентября 2018 г.
  • Всем привет! Пытаюсь импортировать статьи, всё работает, кроме одного: текст импортируемых статей содержит html-разметку, но после импорта в статьях её нет - импортируется простой текст. Видимо, разметка где-то проходит фильтр.
    Есть способ обойти эту "фильтрацию" и импортировать тексты статей "как есть"?
    PS: импортирую через стандартные API-функции (DB::query)
    • 11 сентября 2018 г.
    • Импортируете как именно? Через что? Где?
      • 11 сентября 2018 г. , редакция: 11 сентября 2018 г.
      • Создал в папке functions файл с кодом импорта, вызываю его на отдельной странице через шаблонный тег.
        Импорт происходит через библиотеку parsecsv-for-php из файлв CSV. Парсер срабатывает нормально - весь html-текст показывается именно как html, если вывести.
        Вот код непосредственно импорта:
        Код

        $csv = new ParseCsv\Csv();
        $csv->delimiter = ";";
        $csv->fields = ['id', 'name', 'short', 'slug', 'anons', 'text', 'title', 'keywords', 'description' ];
        $csv->parse('import.csv');
        foreach ($csv->data as $item) {
        $new_post_id = DB::query("INSERT INTO {clauses} ([name], [anons], [act], site_id, created, text1, [keywords], [descr], [title_meta]) VALUES ('%h','%h','%d', '%d', '%d','%h','%h','%h','%h')", $item['name'], $item['anons'] , 1 , 182 , time(), $item['text'], $item['keywords'], $item['description'], $item['title'] );
        DB::query("REPLACE INTO {rewrite} (rewrite, module_name, element_id) VALUES ('%h', '%h','%d')", $item['slug'] , 'clauses', $new_post_id);
        }


        Вставку делал и в поле [text], но результат аналогичный.
        • 11 сентября 2018 г. , редакция: 11 сентября 2018 г.
        • Эту строчку:
          Код
          DB::query("INSERT INTO {clauses} ([name], [anons], [act], site_id, created, text1, [keywords], [descr], [title_meta]) VALUES ('%h','%h','%d', '%d', '%d','%h','%h','%h','%h')", $item['name'], $item['anons'] , 1 , 182 , time(), $item['text'], $item['keywords'], $item['description'], $item['title'] );
          Замените на эту:
          Код
          DB::query("INSERT INTO {clauses} ([name], [anons], [act], site_id, created, text1, [keywords], [descr], [title_meta]) VALUES ('%h','%h','%d', '%d', '%d','%s','%h','%h','%h')", $item['name'], $item['anons'] , 1 , 182 , time(), $item['text'], $item['keywords'], $item['description'], $item['title'] );


          Не заметил, что уже был дан ответ. Так что это сообщение только для примера.

          Да и вместо text1 лучше использовать [text]
  • 13 сентября 2018 г. , редакция: 13 сентября 2018 г.
  • В продолжение темы ещё один вопрос: как в процессе импорта прикрепить к статье (ну или новости) изображение?
    Я делаю следующее:
    Код

    DB::query("INSERT INTO {images} (name, module_name, element_id, [alt], [title]) VALUES ('%s', '%h','%d', '%h', '%h')", $item['image'] , 'clauses', $new_post_id, $item['title'], $item['title']);

    где $item['image'] - имя файла изображения (без пути), а $new_post_id - id статьи. Картинки для импорта помещал и в папку userfls/original, и в userfls/clauses/original. У меня они к импортированным статьям не прикрепляются. Если в настройках модуля статей нажать кнопку "Применить настройки ко всем ранее загруженным изображения", то превьюшки генерятся в положенных папках large и small, однако, в админке к статьям они все равно не прикручиваются.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум