Hallo Peter,

du willst also eine Schalte haben, der zwischen News mit Bilder und News Ohne Bildern umschaltet.

Leider schreibst du nicht, wie deine Ausgabe erfolgen soll (TypoScript oder Fluid)????

Leider schreibst du nicht, wie dein System erkennen soll, welche Ausgabe zu tätigen ist (Switch-Bedingung)????

Insofern ist es schwierig, einen sinnvollen Vorschlag zu machen.

Switch-Möglichkeiten ergeben sich über

if-Condition im Fluid-template, Condition im TypoScrip, bedingtes Override im TypoScript, TemplateName, eigenes Plugin mit eigenem Controller, eigner viewhelper, ...

Switch-Erkeenung kann erfolgen über

FE-User-Gruppen, Cookies, Settings, ...

Vielleicht solltest du dein Problem so beschreiben, dass alle notwendigen Bedingungen genannt werden.

Mit besten Grüßen

  Dieter


.


Am 21.07.2016 um 20:23 schrieb Peter R:
Hallo,

ich verwende bei einer Webseite die Extension "news" (tx_news) und habe folgende Anforderung: Auf der Selben Seite gibt es 2 News-Ausgaben. Die erste Zeigt nur News, die Bilder haben, die zweite zeigt News die keine Bilder haben.

Mommentan habe ich ein Hook geschrieben, der aber nur funktioniert, wenn ich die News per Ajax nachladen. Das heisst, dass man auf die Seite kommt und die News werden erst dann geladen und angezeigt. Beim Ajax-Request schicke ich dann ein GET-Parameter mit "newsMode", der dann die Unterscheidung steuert.

Quelltext:
class tx_myextension_news {
public function modify(array $params, \GeorgRinger\News\Domain\Repository\NewsRepository $newsRepository) { $this->updateConstraints($params['demand'], $params['respectEnableFields'], $params['query'], $params['constraints']);
   }

   /**
    * @param \GeorgRinger\News\Domain\Model\Dto\NewsDemand $demand
    * @param bool $respectEnableFields
    * @param \TYPO3\CMS\Extbase\Persistence\QueryInterface $query
    * @param array $constraints
    */
protected function updateConstraints($demand, $respectEnableFields, \TYPO3\CMS\Extbase\Persistence\QueryInterface $query, array &$constraints) {
       $newsMode = '';

       // if GET parameter newsMode exists
       if (isset($_GET['newsMode'])) {
           $newsMode =  $_GET['newsMode'];
       }

       // show only news with images
       if ($newsMode == 'wimg') {
           $constraints[] = $query->greaterThan('falMedia', '0');
       }

       // show only news with out images
       if ($newsMode == 'woimg') {
           $constraints[] = $query->equals('falMedia', '0');
       }
   }

}

Ich würde das aber gerne so haben, dass man sich diese Ajax-Request spart und direkt im Seitenaufruf prüfen kann, welche News geladen werden sollen.

Über HInweise und Ideen würde ich mich freuen.
Danke!
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an