Необработанный HTML в основном тексте после импорта контента с использованием transmorgrifier
Я использую рецепт transmorgrifier для импорта некоторых данных из drupal в сборку на основе Plone 4.1. Сборка основана на https://github.com/claytron/drupal-plone-transmogrifier(в основном я обновил его, чтобы использовать plone 4.1 вместо 4.0). Импорт работает, я успешно импортировал данные с сайта drupal на свой plone-сайт. Единственная проблема заключается в том, что теги html из импортированного html отображаются в виде буквенных тегов.
Если после успешного импорта я вручную перехожу к каждому элементу и выбираю "редактировать", затем нажимаю "сохранить", тогда HTML-код интерпретируется правильно, но это будет много редактирования и сохранения, чтобы исправить мою проблему.
смотрите скриншот недавно импортированного контента с отображением HTML-тегов.
План, выполняющий фактический импорт поля, (я полагаю) показан ниже:
[text_mimetype]
blueprint = collective.transmogrifier.sections.inserter
key = string:_text_mimetype
value = string:text/html
Я экспериментировал с использованием текста / структурированного вместо текста / HTML в проекте, но это дало тот же результат:
Что мне нужно, так это либо дополнительный план, который вызывает интерпретацию html, либо подсказки о том, как обеспечить интерпретацию моего html при импорте.
Полный список чертежей, используемых в моем конвейере, приведен здесь: https://github.com/claytron/drupal-plone-transmogrifier/blob/master/src/my.migration/my/migration/config/base.cfg
3 ответа
Если он работает под Plone 4.0, но не под Plone 4.1, то я предполагаю, что это связано с PLIP "фактор преобразования пользовательских выходов из редакторов", который был объединен как часть Plone 4.1. Я бы посмотрел на изменения из этого PLIP и увидел, как нужно настроить конвейер.
С такой же проблемой столкнулся при переносе контента с использованием wsapi4plone.core.
Решение: прикрепите zope.contenttype к версии 3.5.5 (по умолчанию в следующей версии 4.1.1).
Причина: PLIP # 9938 - http://dev.plone.org/plone/ticket/9938 в соответствии с описанием.
На самом деле этот раздел только вставляет значение "text/html" в ключ "_text_mimetype"
Настоящая инкапсуляция сделана здесь:
[mimetype_encapsulator]
data-key = text
mimetype = python:item.get('_%s_mimetype' % key)
# replace the data in-place
field = key
condition = mimetype
дополнительная информация: http://pypi.python.org/pypi/plone.app.transmogrifier
Во всяком случае, я экспериментировал, что инкапсулировать HTML-текст не обязательно, он также работает с простой строкой.
Пока, Джакомо