2012-06-21 3 views
0

создали модуль и два пользовательских типа контента (протокол и протокол2). Модуль вмешивается в обычный режим создания и редактирования протокола типа контента и изменяет обычный режим просмотра протокола типа контента2.Потеря разрывов строк после вмешательства в обычный режим создания или просмотра контента в drupal

В обоих случаях у меня возникает проблема с тем, что я теряю разрывы строк, которые присутствуют в текстовом поле, где было добавлено содержимое, или в случае просмотра строки, которая сохраняется там.

Это текст, введенный в текстовое поле, как это:

"Текст

с

линия

ломается."

заканчивает тем, как это:

"Текст с разрывами строк."

Я повторил содержимое form_state, и в обоих случаях я не вижу разрывов строк, и я использую form_state при извлечении и изменении текста.

Я не уверен, что может быть проблемой или точно, когда и как эта информация будет потеряна. У кого-нибудь есть намеки?

+0

Использование nl2br() для печати такого содержимого – nikunj

ответ

0

Это, вероятно, означает, что ваш текстовый формат по умолчанию - это тот, который разделяет разрывы строк. Перейдите в admin/config/content/formats, чтобы просмотреть текстовые форматы, а какой - по умолчанию.

Если вы хотите конкретно установить определенный формат текста для вашего текстового поля в пользовательском модуле, вы что-то вроде ниже:

$form['yourfield'] = array(
'#type'=>'text_format', 
'#format'=>'full_html', 
... 
... 
); 

ли это исправить?

+0

Кажется, что оно хранится как «\ n», поэтому я использовал функцию nl2br(), чтобы восстановить разрывы строк при просмотре. Я не думаю, что это проблема с текстовым форматом, потому что он отлично работает, если я отключу mymodule_node_view, который изменяет представление вида при просмотре, установив «$ node-> content ['body'] [0] ['# разметка «]» – numfar

 Смежные вопросы

  • Нет связанных вопросов^_^