.. include:: /Includes.rst.txt
.. _templatesSnippets:
=================
Assorted snippets
=================
This section contains snippets making EXT:news more awesome which might be useful for your projects as well.
.. only:: html
.. contents::
:local:
:depth: 1
Show FAL properties in fluid
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Every property of a file, e.g. the copyright (available via EXT:filemetadata) can be rendered in templates by using e.g. `{file.originalResource.properties.copyright}`.
A full example can look like this
.. code-block:: html
{mediaElement.originalResource.properties.copyright}
Use `{mediaElement.originalResource.properties}` to get all available properties
Improved back links
^^^^^^^^^^^^^^^^^^^
The back link on a detail page is a fixed link to a given page. However it might be that you use multiple list views
and want to change the link depending on the given list view.
A nice solution would be to use this JavaScript jQuery snippet:
.. code-block:: javascript
if ($(".news-backlink-wrap a").length > 0) {
if(document.referrer.indexOf(window.location.hostname) != -1) {
$(".news-backlink-wrap a").attr("href","javascript:history.back();");
}
}
Creating links with Fluid
^^^^^^^^^^^^^^^^^^^^^^^^^
Besides the ViewHelper :html:`` you can also use the ViewHelpers of Fluid itself:
.. code-block:: html
{newsItem.title}
{newsItem.title}
Set n:link target page in Fluid
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If the detail page should not be set in the plugin or by a category, it can also be set within the template:
.. code-block:: html
The setting `settings.somePid` can e.g. set with `plugin.tx_news.settings.somePid=123`.
Render category rootline
^^^^^^^^^^^^^^^^^^^^^^^^
If you want to show not only the title of a single category which is related to the news item but the complete category rootline use this snippets.
.. code-block:: html
and
.. code-block:: html
{category.title}
Use current content element in the template
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If you ever need information from the content element itself, you can use :html:`{contentObjectData.header}`.
Use current page in the template
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If you ever need information from the current page, you can use :html:`{pageData.uid}`.
Sort tags
^^^^^^^^^
If you want to sort the tags of a news item, you can use a custom ViewHelper or :file:`EXT:vhs`:
.. code-block:: html
Render news items in columns
----------------------------
If you need to list news next to each other and need some additional CSS
classes, you can the following snippet.
The provided example will wrap 3 items into a div with the class "row".
.. code-block:: html