Gerne. Schön, dass es funktioniert. Ich kommentiere nochmal ein wenig. Wäre schön, wenn du es wenigstens etwas verstehen könntest.
PHP-Code:
<?php
// Um auf die Felder der aktuellen Seite zugreifen zu können.
global $objPage;
// Der Alias der aktuellen Seite.
// Dieser Alias ist übrigens immer der gleiche, egal ob eine News aufgerufen wird oder nicht.
// Auch wenn in der URL etwas anderes steht. Dieser Alias ist der Alias der Seite mit der Newslist.
// z.B.
// newslist-page.html = newslist-page
// newslist-page/my-news.html = newslist-page
$readerPageAlias = $objPage->alias;
// Den nächsten Alias gibt es nicht in der Seitenstruktur oder der DB.
// Er wird ermittelt aus der aktuellen URL.
// z.B.
// newslist-page.html = newslist-page
// newslist-page/my-news.html = my-news
$actualPageAlias = str_replace($GLOBALS['TL_CONFIG']['urlSuffix'], '', array_pop(explode('/', \Environment::get('indexFreeRequest'))));
// Jetzt kann der Alias der Seite, welcher immer gleich ist, mit dem aus der URL ermittelten Alias verglichen werden.
// Sind diese beiden identisch, heißt das, es wurde noch keine News aufgerufen.
// In dem Fall wird auf die URL weitergeleitet, welche die News anzeigt.
// Das ist die gleiche URL, welche auch für den more-link benutzt wird.
if($actualPageAlias == $readerPageAlias)
{
\Controller::redirect($this->link);
}
// ps Das Newslist-Template wird intern in einem Loop für jede News in der Liste aufgerufen.
// Die Weiterleitung erfolgt aber bereits beim ersten Durchgang des Loops, sodass automatisch
// auf die erste News weitergeleitet wird und die Loops für die anderen News erst gar nicht mehr
// ausgeführt werden.
?>
Ich empfehle dir auch noch die Feature einzubauen, besonders das mit dem "active". Damit kannst du, wie bei einer Navigation, die aktuell angeklickte und angezeigte News in der Liste hervorheben. Z.B. mit opacity:.5; oder was auch immer du möchtest.
Wäre schön, wenn du einen Link zum Ergebnis zeigen könntest.
ps Du kannst am besten den Code inkl. Kommentare in deinem Template benutzen. Es ist immer gut, seine Templateänderungen zu dokumentieren.
Lesezeichen