Ergebnis 1 bis 11 von 11

Thema: ow_randomnews macht keinen Zufall

  1. #1
    Contao-Fan Avatar von rusty
    Registriert seit
    07.02.2012.
    Ort
    Hamburg
    Beiträge
    268

    Standard ow_randomnews macht keinen Zufall

    Die Erweiterung ow_randomnews soll eine zufällige News ausgeben. Obwohl sie nur bis Contao 3.0.6 freigegeben ist, versuche ich sie unter 3.1.2 einzusetzen.

    Problem: Sie gibt im FE immer die gleiche Nachricht aus, nämlich die erste. Man kann es bereits im Backend an der Vorschau des CE erkennen:
    Bildschirmfoto 2013-09-29 um 13.26.37.png

    Hier ist immer {{news_open::1}} zu sehen, die Zahl ändert sich nie.

    Liegt es an der fehlenden Kompatibilität mit Contao 3.1.x?

  2. #2
    Contao-Urgestein
    Registriert seit
    30.01.2011.
    Ort
    Stuttgart
    Beiträge
    4.138

    Standard

    Hi rusty,

    ich habe es mit der 3.1.3 getestet...

    in der Musik Academie wechselt die news_open::id wenn ich die Anzeige im Browser aktualisiere.

    Wie ist den das Modul im Frontend eingebaut direkt als Modul oder auch per inserttag ?
    Code:
    {{insert_module::*}}
    wobei * durch die Module Id von randomnews zu ersetzten ist.
    Geändert von magicsepp (29.09.2013 um 14:21 Uhr)

  3. #3
    Contao-Fan Avatar von rusty
    Registriert seit
    07.02.2012.
    Ort
    Hamburg
    Beiträge
    268

    Standard

    Ich habe das Modul als Content-Element/Typ Modul eingefügt.
    Wenn ich es per Insert-Tag einsetze, verhält es sich genau so: Es wird immer die selbe Nachricht gezeigt, obwohl mehrere im angegebenen Archiv vorhanden sind.
    Geändert von rusty (29.09.2013 um 16:38 Uhr)

  4. #4
    Contao-Urgestein
    Registriert seit
    30.01.2011.
    Ort
    Stuttgart
    Beiträge
    4.138

    Standard

    da ist noch ein Fehler in der Erweiterung bei nur einem Archiv wird nicht mehr gewürfelt

    Der Schutz von Nachrichten wird auch nicht berücksichtigt.
    Geändert von magicsepp (30.09.2013 um 18:13 Uhr)

  5. #5
    Contao-Fan Avatar von rusty
    Registriert seit
    07.02.2012.
    Ort
    Hamburg
    Beiträge
    268

    Standard

    ... und bei mehreren Archiven aus jedem Archiv jeweils immer die erste Nachricht.

    Habe das von mir angestrebte Ziel inzwischen mit der Erweiterung dk_caroufredsel erreicht, die auch eine Newsticker-Variante sowie eine Zufallsfunktion bereit hält.
    Danke fürs Mitdenken und Testen!

  6. #6
    Contao-Nutzer Avatar von buzzjoe
    Registriert seit
    03.03.2012.
    Ort
    Leipzig
    Beiträge
    25

    Standard

    Die Lösung des Problems:

    ./system/modules/ow_randomnews/classes/ow_randomnews.php, Zeile 51:

    PHP-Code:
    $objNews $this->Database->prepare("SELECT id, headline, teaser, addImage, singleSRC, size, caption FROM tl_news WHERE pid = ? AND published = 1"
    Das SQL-Statement um folgende Anweisung ergänzen:
    Code:
    ORDER BY RAND()
    Das sieht dann so aus:

    PHP-Code:
    $objNews $this->Database->prepare("SELECT id, headline, teaser, addImage, singleSRC, size, caption FROM tl_news WHERE pid = ? AND published = 1 ORDER BY RAND()"
    Da hat der Entwickler schlicht und einfach die Zufallsfunktion vergessen

  7. #7
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.778
    User beschenken
    Wunschliste

    Standard

    ... hatte mich auch gewundert, dass nix random - nach einem Blick in den Quelltext habe ich das auch gesehen ... man könnte noch ein "LIMIT 1" ansetzen

    PHP-Code:
            $objNews $this->Database->prepare("SELECT id, headline, teaser, addImage, singleSRC, size, caption FROM tl_news WHERE pid = ? AND published = 1 ORDER BY rand() LIMIT 1")
                ->
    execute($newsarchiv); 
    ... frage mich, wieso eine Erweiterung dann random heißt??

  8. #8
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    266
    Contao-Projekt unterstützen

    Support Contao

    Computer endlich funktionieren meine randomnews!!!

    @ buzzjoe: herzlichen dank für deinen super tipp und die genaue anleitung der einfachen lösung. jetzt funktionieren meine ow_randomnews endlich einwandfrei!

    hatte das modul schon vor jahren dreimal untereinander bei mir eingebunden und in jedem modul jeweils 10 andere newsarchive aktiviert. da er unter den archiven selbst schon zufällig auswählt (oder ging er der reihe nach???) waren bei jeder seitenaktualisierung 3 andere news verlinkt, aber diese haben sich überdurchschnittlich häufig wiederholt, so dass ich immer den eindruck hatte, er wählt in jedem modul aus nur rund 5 bis 6 news aus (in wahrheit waren es wahrscheinlich genau diese 10 verschiedenen -aber jeweils genau ersten news- der 10 verschiedenen archive! und ich dachte immer: warum fangen fast alle newslinks mit einem "A" an, aber eben nicht alle??? bin natürlich nie darauf gekommen, dass er immer nur den ersten newstext auswählt und somit quasi gar keine zufallsfunktion enthalten hat. erklärung jetzt: in vielen meiner archive beginnt der erste newstext mit einem "A". jetzt habe ich endlich erklärung und lösung. vielen lieben dank noch mal an alle, die hier mitdiskutiert haben...

    @ zonky: ich habe als wenig script-kundiger noch eine frage: was bewirkt deine ergänzung "LIMIT 1"? bedeutet das, dass er pro modul nur einen newstext auswählen soll?

    danke dir für eine kurze antwort!

    grashalm

  9. #9
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Zitat Zitat von grashalm Beitrag anzeigen
    @ zonky: ich habe als wenig script-kundiger noch eine frage: was bewirkt deine ergänzung "LIMIT 1"? bedeutet das, dass er pro modul nur einen newstext auswählen soll?
    Ich bin nicht zonky, aber LIMIT 1 bedeutet, daß die Anzahl der zurückgegebenen Datensätze genau auf einen beschränkt wird, nämlich den ersten. Ohne diese Angabe würde die Liste aller veröffentlichten Nachrichten in einer Zufallsreihenfolge zurückgegeben werden.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  10. #10
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.778
    User beschenken
    Wunschliste

    Standard

    Hi grashalm, guck mal ins MySQL-Manual... ja, Limit begrenzt die Ausgabe auf das erste Item...

    weil die Fragestellung so war (siehe #5)
    ... und bei mehreren Archiven aus jedem Archiv jeweils immer die erste Nachricht.

  11. #11
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    266
    Contao-Projekt unterstützen

    Support Contao

    Standard

    @ Samson1964:
    Ich bin nicht zonky, aber LIMIT 1 bedeutet, daß die Anzahl der zurückgegebenen Datensätze genau auf einen beschränkt wird, nämlich den ersten. Ohne diese Angabe würde die Liste aller veröffentlichten Nachrichten in einer Zufallsreihenfolge zurückgegeben werden.
    das wundert mich, denn ich habe kein "LIMIT 1" ergänzt, und trotzdem zeigt er mir für jedes eingebettete modul nur einen datensatz an, also genau so, wie ich es auch haben will. wenn ich dich richtig verstehe, würde LIMIT 1 quasi den effekt künstlich erzeugen, den wir vorher ohne den random-befehl hatten, nämlich dass er aus jedem archiv immer nur den allerersten datensatz ausliest. das würde ja dann bedeuten, dass der befehl ORDER BY RAND () von LIMIT 1 gleich wieder aufgehoben wird. oder habe ich da was falsch verstanden? jedenfalls benutze ich derzeit den befehl LIMIT 1 nicht, und er macht genau das, was er soll, nämlich einen datensatz aus mehreren archiven mit mehreren datensätzen zufällig auszuwählen.

    @zonky:
    weil die Fragestellung so war (siehe #5)
    ja, kann sein, dass ich sie falsch interpretiert habe... ich hatte rusty so verstanden, als wolle er sagen, dass der effekt gerade unerwünscht sei, so, wie er auftritt, und nicht erwünscht.

    jedenfalls danke für eure beiträge,

    grashalm
    wie gut, dass es contao gibt! wie gut, dass es spooky und euch alle gibt!

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
  •