Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:typo3:news

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
software:typo3:news [2017/02/05 19:05]
khopf angelegt
software:typo3:news [2017/02/05 22:47] (aktuell)
khopf
Zeile 3: Zeile 3:
  
 ===== "​Latest"​-Ansicht für Startseiten ===== ===== "​Latest"​-Ansicht für Startseiten =====
-Die Latest-Ansicht soll z.B. auf der Startseite die letzten Nachrichten ​als Teaser anzeigen ​und soll deshalb ​keine Infos wie Kategorie, Datum und auch keine Bilder enthalten. ​+Die Latest-Ansicht soll z.B. auf der Startseite die letzten Nachrichten ​mit Titel und ggf. kurzem ​Teaser anzeigen. Es sollen ​keine Infos wie Kategorie, Datum und auch keine Bilder enthalten ​sein, um Platz zu sparen. Diese Anleitung orientiert sich an [[https://​t3brightside.com/​blog/​article/​typoscript-custom-latest-template-for-the-news-extension/​| einer Anleitung von t3brightsight]] 
 + 
 +==== Einstellungen per TypoScript ====
  
 Zunächst legt man hierzu ein neues Layout an. In der Seiten TS-Config wird folgendes hinzugefügt Zunächst legt man hierzu ein neues Layout an. In der Seiten TS-Config wird folgendes hinzugefügt
 <code TypoScript>​ <code TypoScript>​
 tx_news.templateLayouts { tx_news.templateLayouts {
-      1 = Latest+      1 = Latest ​Ansicht 
 +      9 = Normale Ansicht
 } }
 </​code>​ </​code>​
 +
 +Anschließend müssen wir die Templates ändern. Damit die Änderungen bei einem Update nicht überschrieben werden, kopieren wir die Template-Dateien in das lokale Template-Verzeichnis und teilen Typo3 mit, wo die modifizierten Templates liegen. Dies geschieht nach [[https://​docs.typo3.org/​typo3cms/​extensions/​news/​3.0.0/​Main/​Templating/​Start/​Index.html|Anleitung der news-Erweiterung]] in der TS-Config:
 +<code TypoScript>​
 +plugin.tx_news {
 +        view {
 +                templateRootPaths {
 +                        0 = EXT:​news/​Resources/​Private/​Templates/​
 +                        1 = EXT:​fileadmin/​templates/​ext/​news/​Templates/​
 +                }
 +                partialRootPaths {
 +                        0 = EXT:​news/​Resources/​Private/​Partials/​
 +                        1 = fileadmin/​templates/​ext/​news/​Partials/​
 +                }
 +                layoutRootPaths {
 +                        0 = EXT:​news/​Resources/​Private/​Layouts/​
 +                        1 = fileadmin/​templates/​ext/​news/​Layouts/​
 +                }
 +        }
 +}
 +</​code>​
 +
 +Die drei Verzeichnisse ''​Templates'',​ ''​Partials''​ und ''​Layouts''​ sind drei Standardverzeichnisse von Fluid-Templates (s. [[http://​t3n.de/​magazin/​seitentemplates-fluid-226788/#​article|T3N-Artikel]] für eine Erklärung. ​
 +
 +**Wichtig:​** Wenn eine Erweiterung des News-Plugins (z.B. Twitter Bootstrap) eingebunden ist, kann sich Reihenfolge der Pfade unterscheiden. Dateien am Ende der Liste werden als erstes eingebunden,​ wenn diese fehlen wird auf das Backup zurückgegriffen.
 +
 +==== Template-Files kopieren ====
 +Wir kopieren anschließend die Template-Dateien in unser lokales Template-Verzeichnis ''/​fileadmin/​templates'':​
 +^ Quelle (Extension-Source) ​                         ^ Ziel (Template-Verzeichnis) ​                           ^
 +|EXT:​news/​Resources/​Private/​Templates/​News/​List.html | fileadmin/​templates/​ext/​news/​Templates/​News/​List.html ​ |
 +|EXT:​news/​Resources/​Private/​Partials/​List/​Item.html ​ | fileadmin/​templates/​ext/​news/​Partials/​List/​Latest.html |
 +==== Template-Files anpassen ====
 +Das ausgegebene ''<​div class="​news-list-view">''​ Objekt soll nun nur noch ausgegeben werden, wenn das eigene Template nicht ausgewählt ist und stattdessen wollen wir ein ''<​div class="​news-latest-view">''​ Objekt ausgeben:
 +<code XML>
 +...
 +<f:if condition="​{news}">​
 +  <​f:​then>​
 +    <!-- this condition was added to introduce latest view -->
 +    <f:if condition="​{0:​settings.templateLayout} == {0:'​latestView'​}">​
 +      <​f:​then>​
 +      <!-- this is the code for the latest view -->
 +        <div class="​news-latest-view">​
 +          <f:for each="​{news}"​ as="​newsItem"​ iteration="​iterator">​
 +            <​f:​render partial="​List/​Latest"​ arguments="​{newsItem:​ newsItem, settings:​settings,​ className:​className,​ view:'​list'​}"/>​
 +          </​f:​for>​
 +        </​div>​
 +      </​f:​then>​
 +      <​f:​else>​
 +      <!-- this was the original code -->
 +        <div class="​news-list-view">​
 +          <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>​
 +        </​div>​
 +      </​f:​else>​
 +    </​f:​if>​
 +  </​f:​then>​
 +</​code>​
 +

Bei Verwendung dieses Wikis erklären Sie sich mit dem Haftungsausschluss, Nutzungsbedingungen und der Datenschutzerklärung dieses Wikis einverstanden. Impressum.

software/typo3/news.1486317953.txt.gz · Zuletzt geändert: 2017/02/05 19:05 von khopf