Ergebnis 1 bis 5 von 5

Thema: Neuste (letzte) Nachricht automatisch im Nachrichtenleser anzeigen

  1. #1
    Contao-Nutzer
    Registriert seit
    05.10.2010.
    Ort
    Bedburg-Hau
    Beiträge
    67

    Standard Neuste (letzte) Nachricht automatisch im Nachrichtenleser anzeigen

    Hallo,

    zwar wurde dies schön öfters hier gefragt, jedoch blieb es immer ohne, für mich, befriedigende Antwort.

    Ich hätte gerne, dass auf der Startseite die zuletzt erstellte (aktuellste) Nachricht automatisch angezeigt wird. Dies soll aber über das Modul Nachrichtenleser geschehen und nicht, wie hier schon mal empfohlen, über das Modul Nachrichtenliste. Hintergrund ist, dass im Modul Nachrichtenleser die Kommentarfunktion zur Verfügung steht, was bei der Nachrichtenliste nicht der Fall ist. Zusammen mit der Erweiterung newspagination könnte man dann durch die Meldungen navigieren.
    LG wik

  2. #2
    Contao-Urgestein Avatar von tblumrich
    Registriert seit
    25.06.2009.
    Ort
    Feldberger Seenlandschaft
    Beiträge
    2.225
    Partner-ID
    7979
    User beschenken
    Wunschliste

    Standard

    Hi.

    Guck doch mal ob du mit der Erweiterung von Tim etwas anfangen kannst:
    https://contao.org/de/extension-list...tcomments.html

    Falls du das für Contao 3 brauchst, frag doch mal bei Tim nach.

    Gruß
    Thomas
    blucomp | Webdesign & Onlinelösungen

  3. #3
    Contao-Nutzer
    Registriert seit
    05.10.2010.
    Ort
    Bedburg-Hau
    Beiträge
    67

    Standard

    Hallo tblumrich,

    genau diese Erweiterung setze ich auf der Website ein um die es geht: http://belichtungszeit-theyssen.de/
    Sie läuft noch unter Contao 2.11, möchte aber auf Contao 3 upgraden. Habe einige Änderungen an der Erweiterung newslistcomments vorgenommen (https://community.contao.org/de/show...l=1#post230108) und bekomme sie unter Contao 3 nicht so richtig ans laufen.
    Die von mir erhoffte Lösung wäre ja grundsätzlich auch praktischer, wie ich finde. Vom Ablauf hab ich mir das so vorgestellt: Zuerst die ID der letzten Nachricht ermitteln, dann mit dem Inserttag {{news_url::ID}} die Seite aufrufen. Leider weiß ich noch nicht so recht wie das umzusetzen ist.

    P.S.: Die ID der Nachricht habe ich durch Anpassung des Skript der Seite http://de.contaowiki.org/Letzte_Nachrichten_anzeigen ermitteln können.
    Geändert von wik (03.11.2013 um 11:39 Uhr)
    LG wik

  4. #4
    Contao-Nutzer
    Registriert seit
    05.10.2010.
    Ort
    Bedburg-Hau
    Beiträge
    67

    Standard

    Bin nun schon ein wenig weiter gekommen. Es ist mir gelungen, dass auf der Startseite immer die letzte Nachricht angezeigt wird. Dazu habe ich folgende php-Datei erstellt:
    PHP-Code:
    <?php              
    $this
    ->import("Database");
    $objLatestNews $this->Database->prepare("SELECT headline,alias FROM tl_news WHERE published='1' ORDER BY date DESC")
                ->
    limit(1)
                ->
    execute();
               
    $news_url 'blog/'.$objLatestNews->alias.'.html';
    $this->redirect($news_url);
    ?>
    Diese wird mit dem Inserttag {{file::*}} auf einer Seite (A) eingebunden, die ich im Menü verstecke. Auf einer weiteren Seite (B) unterhalb der Startseite ist der Nachrichtenleser. Diese Seite hat den Seitenalias 'blog' und ist ebenfalls im Menü versteckt.
    Von der Startseite wird nun per temporärer Weiterleitung auf die Seite (A) weitergeleitet. Dort ermittelt das Skript die jüngste Nachricht und leitet zur Seite (B) weiter.

    Es stört mich nur, dass die URL für den redirect fest "verdrahtet" ist. Mir wäre es lieber, wenn ich den Permalink der Nachricht mit einer Funktion ermitteln könnte. Habe dazu auch einige Codeschnipsel gefunden (z.B. hier http://zedseries.blogspot.de/2013/04...-url-from.html), die ich jedoch Aufgrund meines beschränkten Wissens nicht ans laufen bekommen habe und auch gar nicht weiß ob dies die richtige Funktion ist. Ist es überhaupt möglich den Permalink zu ermitteln, oder versuche ich hier was, was gar nicht möglich ist?
    LG wik

  5. #5
    Contao-Nutzer
    Registriert seit
    05.10.2010.
    Ort
    Bedburg-Hau
    Beiträge
    67

    Standard

    Nach etwas suchen habe ich die Funktion zur Ermittlung der Nachrichten-URL gefunden. Der Inserttag {{news_url::*}} macht ja nichts anderes. Also im core gesucht wie dieser Inserttag verarbeitet wird und Code kopiert. Mein PHP-Skript sieht nun so aus:
    PHP-Code:
    <?php              

    // id der Nachricht ermitteln
    $this->import("Database");
    $objLatestNews $this->Database->prepare("SELECT headline,id FROM tl_news WHERE published='1' ORDER BY date DESC")
                ->
    limit(1)
                ->
    execute();

    // URL der Nachricht erstellen
    $objNews = \NewsModel::findByIdOrAlias($objLatestNews->id);
    if ((
    $objArchive $objNews->getRelated('pid')) !== null && ($objJumpTo $objArchive->getRelated('jumpTo')) !== null)
    {
      
    $strUrl $this->generateFrontendUrl($objJumpTo->row(), ($GLOBALS['TL_CONFIG']['useAutoItem'] ?  '/' '/items/') . ((!$GLOBALS['TL_CONFIG']['disableAlias'] && $objNews->alias != '') ? $objNews->alias $objNews->id));
    }

    // zur Nachricht weiterleiten           
    $this->redirect($strUrl); 
    ?>
    Das Konstrukt der Seiten habe ich auch geändert und vereinfacht. Im Gegensatz zum im vorherigen Post beschriebenen, entfällt die Weiterleitung der Startseite und Seite A. Seite A ist nun auch im Menü sichtbar. Seite B ist nun eine Unterseite von Seite A. Warum ich es beim ersten Mal so kompliziert gemacht habe, weiß ich auch nicht.
    LG wik

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •