[TYPO3-german] tx_news hook (mit Bilder / ohne Bilder)

Peter R peter at webschuppen.com
Thu Jul 21 20:23:10 CEST 2016


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!


More information about the TYPO3-german mailing list