2016-09-11 4 views
0

Мне нужен тизер, как чистый текст, без каких-либо ссылок или форматирования текста в последнем представлении, возможность. Предусмотрено ли это для соответствующего ViewHelper или другого подхода?tx_news-Viewhelper: вывод Plaintext

Объекты HTML, например, не должны быть & для &.

ответ

1

Список новостей отображается с использованием частичного для каждого элемента (Resources/Private/Partials/List/Item.html). В том, что вы можете увидеть строку, используемую для визуализации тизер:

{newsItem.teaser -> f:format.crop(maxCharacters: '{settings.cropMaxCharacters}', respectWordBoundaries:'1') -> f:format.html()} 

Если удалить последний вид помощника f:format.html(), то он не будет преобразован в HTML. Если вы замените его на f:format.raw() (в случае, если у вас есть HTML-код в тизер), то HTML будет выводиться как есть, без преобразования < в & lt; и> до & gt; и т. д.

При переопределении частичных данных вы не должны напрямую изменять расширение, но делайте это безопасным способом. Для этого, поместите их в расширении сайта или в fileadmin/ и добавить, что парциальный путь к TS конфигурация:

plugin.tx_productview { 
    view { 
     partialRootPaths.1 = [path to partials folder] 
    } 
} 

Для news, есть также специальный механизм: вы можете установить постоянную

plugin.tx_news.view.partialRootPath = […] 

на путь.

1

Использование <f:format.stripTags> Viewhelper. Чтобы гарантировать, что все HTML объекты декодируются использовать <f:format.htmlentitiesDecode> Таким образом, вы можете использовать:

<f:format.stripTags> 
    <f:format.htmlentitiesDecode> 
    {newsTeaserVar} 
    </f:format.htmlentitiesDecode> 
</f:format.stripTags> 
+1

HtmlEntities IST делается по умолчанию, как я знаю. –

+0

Внутри это приводит к 'strip_tags (htmlspecialchars (htmlentitydecode (htmlspecialchars ($ newsTeaserVar))));' эквивалентная обработка из-за того, как экранирование работает в Fluid. Как правило, шаг 'htmlentitiesDecode' не требуется и может быть заменен на' f: format.raw', если HTML доверен: '{newsTeaserVar -> f: format.raw() -> f: format.stripTags() } '. –