News Templates

Anlegen einer Konfiguration für die Templates innerhalb der Page TSConfig:

tx_news.templateLayouts {
	1 = Normale News
	2 = News ohne Bilder
}


Original Ressourcen der News Extension auslagern und den Pfad im Page Setup definieren:
Sollte "News Styles Twitter Bootstrap (news)" als Statisches Template hinzugefügt worden sein, muss der Ordner "Resources/Private/Templates/Styles/Twb" verwendet werden!

plugin.tx_news {
	settings.cssFile = fileadmin/news/Resources/Public/Css/news-basic.css

	view {
		templateRootPaths {
			0 = fileadmin/news/Resources/Private/Templates/
			1 = {$plugin.tx_news.view.templateRootPath}
		}
		partialRootPaths {
			0 = fileadmin/news/Resources/Private/Partials/
			1 = {$plugin.tx_news.view.partialRootPath}
		}
		layoutRootPaths {
			0 = fileadmin/news/Resources/Private/Layouts/
			1 = {$plugin.tx_news.view.layoutRootPath}
		}
	}
}


Danach in der "Private/Templates(/Styles/Twb/Templates)/News/List.html" den Bereich:
<f:if condition="{settings.hidePagination}"> ... </f:if>

vollständig gegen z.B. folgendem austauschen:

<f:if condition="{settings.templateLayout} == 1">
  <f:if condition="{settings.hidePagination}">
    <f:then>
      <f:for each="{news}" as="newsItem" iteration="iterator">
        <f:render partial="List/Item" arguments="{newsItem:newsItem,settings:settings,iterator:iterator}" />
      </f:for>
    </f:then>
    <f:else>
      <n:widget.paginate objects="{news}" as="paginatedNews" configuration="{settings.list.paginate}" initial="{offset:settings.offset,limit:settings.limit}">
        <f:for each="{paginatedNews}" as="newsItem" iteration="iterator">
          <f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
        </f:for>
      </n:widget.paginate>
    </f:else>
  </f:if>
</f:if>
<f:if condition="{settings.templateLayout} == 2">
  <f:if condition="{settings.hidePagination}">
    <f:then>
      <f:for each="{news}" as="newsItem" iteration="iterator">
        <f:render partial="List/ItemNoPic" arguments="{newsItem:newsItem,settings:settings,iterator:iterator}" />
      </f:for>
    </f:then>
    <f:else>
      <n:widget.paginate objects="{news}" as="paginatedNews" configuration="{settings.list.paginate}" initial="{offset:settings.offset,limit:settings.limit}">
        <f:for each="{paginatedNews}" as="newsItem" iteration="iterator">
          <f:render partial="List/ItemNoPic" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
        </f:for>
      </n:widget.paginate>
    </f:else>
  </f:if>
</f:if>


Hier sind nun zwei Abschnitte:
<f:if condition="{settings.templateLayout} == 1"> ... </f:if>
<f:if condition="{settings.templateLayout} == 2"> ... </f:if>

Innerhalb dessen befinden sich jeweils zwei wichtige Angaben:

partial="List/Item" (Zeile 5 und 11):

Dies ist die Standard Ausgabe.

partial="List/ItemNoPic" (Zeile 21 und 27):

Dieses Partial muss als "Resources/Private(/Templates/Styles/Twb)/Partials/List/ ItemNoPic.html" angelegt werden.
Hier kann erstmal eine Kopie der Item.html angelegt und angepasst werden.