.. _renderContentElements: ======================= Render content elements ======================= If news is configured to use relations to content elements, those are shown by default in the detail view. There are two options how to render those elements .. _using_typoscript: Using TypoScript ================ This is the default way in EXT:news. A basic TypoScript configuration is used to render those. This look like this: .. code-block:: typoscript lib.tx_news.contentElementRendering = RECORDS lib.tx_news.contentElementRendering { tables = tt_content source.current = 1 dontCheckPid = 1 } If you need to extend this, the best way is to introduce your own TypoScript which can be saved anywhere. This needs then to be referenced in the template. .. code-block:: html {newsItem.contentElements} Using TypoScript with nested content from b13/container ======================================================= If nested content should be rendered as news content elements with `b13/container `_ the lib.tx_news.contentElementRendering should be adapted. With the default lib.tx_news.contentElementRendering using the RECORDS CObject (see :ref:`Using TypoScript `) all content elements are fetched from the database and nested child content in containers is rendered twice. One time as standalone element and a second time in the container column. To fix this the following lib can be used to fetch the content which will exclude all child content in containers: .. code-block:: typoscript lib.tx_news.contentElementRendering = CONTENT lib.tx_news.contentElementRendering { table = tt_content select { pidInList = 0 uidInList.current = 1 where = {#tx_container_parent}<1 orderBy = sorting languageField = sys_language_uid } } Changing ``lib.tx_news.contentElementRendering = RECORDS`` to ``lib.tx_news.contentElementRendering = CONTENT`` can have some side effects for the sorting of translated content elements. You can also fix this by using Fluid only: .. code-block:: html {newsItem.nonNestedContentElementIdList} Using Fluid =========== You can also use Fluid render the content elements. As an example: .. code-block:: html

{element.title}

{element.bodytext -> f:format.html()}