Изменить шаблон, который отображает стандартное поле описания, чтобы преобразовать переводы строк в разрывы, не сложно, но потребуется немного осторожности, чтобы избежать создания дыры в безопасности.
Переопределить шаблон слоя кожи kss_generic_macros.pt, либо в тематическом продукте, либо в пользовательской папке.
Затем вы можете использовать Products.PythonScripts.standard.newline_to_br для преобразования новых строк в разрывы. Вам нужно будет вставить преобразованный текст со «структурой», чтобы избежать выхода из разрывов.
Поскольку вы будете использовать «структуру», вам также необходимо вручную html экранировать описание (используйте html_quote из стандарта) перед применением newline_to_br, или вы создадите вектор для атаки XSS.
Ключевой раздел макроса, если он исправлен, может выглядеть так:
<div metal:define-macro="description-field-view"
id="parent-fieldname-description"
tal:define="kss_class python:getKssClasses('description',
templateId='kss_generic_macros', macro='description-field-view');
pps modules/Products.PythonScripts.standard"
tal:condition="context/Description"
tal:attributes="class string:documentDescription$kss_class;">
<span metal:define-slot="inside"
tal:replace="structure python:pps.newline_to_br(pps.html_quote(context.Description()))">Description</span>
</div>