Forum : eXV2 ModuleTitel : Beiträge sortieren im Newsblock© 2004-2012 www.exv2.de http://www.exv2.de
URL dieser Diskussion
http://www.exv2.de/modules/newbb_plus/viewtopic.php?topic_id=2821&forum=7
|
herman :
| 11.09.2005 16:19 |
ich stelle gerade fest, dass neue Themen unter den vorhandenen erscheinen. Naheliegender wäre, dass der neuste Beitrag an oberster Stelle steht. Kann mir jemand weiterhelfen ? |
|
|
Dj_PD :
| 11.09.2005 23:06 |
Jopp, Nur Frage ist jetzt welchen Block aus dem Newsmodul Das Newsmodul hat nämlich 4 Verschiedene. Also ich weiß ja nicht ob du dich ein bisschen auskennst, was programmieren abgeht. Ich beschreibe dir das jetzt mal mit dem Block " Top News Block" Als erstes mußt du die Datei einmal bearbeiten. Dazu brauchst du die Datei "news_top.php" die sich unter "\modules\news\blocks" befindet. Diese Datei mußt du jetzt einmal öffnen, wenn du diese auf der Festplatte hast is alles Prima, ansonsten lade sie eben von deinem Server (auch unter "\modules\news\blocks")
Bisschen schwer das zu erklären. Am einfachsten wäre es wenn du ein Editor hättest, wo links zahlen stehen (also mit Zeilenanzeige) z.B. phase 5 Editor oder Weaverslave. Mit dem normalen Editor geht es natürlich auch, mußt aber mehr suchen.
Ok, auf jeden Fall öffnest du die Datei jetzt und schaust mal ob du das was ich hier jetzt mal hinmache findest: Code: $sql = " SELECT storyid, title, published, counter FROM ".$db->prefix("stories")." WHERE published<".time()." AND published>0 $extra ORDER BY ".$options[0]." DESC";
Solltest du ein Editor haben mit Zeilenanzeige dann gehe zu Zeile 44
Um jetzt die Sortierung zu ändern brauchst du eigentlich nur das DESC zu ändern. DESC bedeutet absteigend. ASC bedeutet aufsteigend. Also brauchst du jetzt nur noch die Zeile Code:ORDER BY ".$options[0]." DESC"; in Code:ORDER BY ".$options[0]." ASC"; zu ändern und die Sortierung wird aufsteigend gemacht.
Bei mir funktionierts. Warum jetzt die Sache mit dem Aufsteigend und Absteigend hier theoretisch verdreht ist, kann ich auch nicht sagen.
Sollte es jetzt nicht die Datei "news_top.php" gewesen sein, so suche einfach mal nach DESC und tausche Sie in ASC um. Du kannst ja eigentlich nichts falsch machen.
Ich hoffe ich könnte Dir ein bisschen helfen und du verstehst was ich mir hier gerade zusammen geschrieben habe
Gruss Dj_PD |
|
|
herman :
| 12.09.2005 13:54 |
Lieber DJ,
Das klappt nicht so, denn die Sortierung stimmt noch immer nicht. Wenn das Modul news direkt aufgerufen wird, ist alles schön chronologisch, doch im "Top News Block" noch immer nicht. Ich denke, es handelt sich um die news_topics.php, wo ich keine Order-Funktion finden kann.
Bei dieser Gelegenheit noch ein kleines Anliegen. Im Info-Block Modul besteht die Möglichkeit, die letzten Gästebucheinträge auszugeben, allerdings wird nur der Titel angezeigt. Würde gerne den nachstehenden Code zu anpassen, dass der eigentliche Textinhalt des Beitrages (nicht der Titel) angezeigt werden mit z.B. den ersten 50 Buchstaben.
Code://***Last Guestbook***** if ($options[7] == 1){ $sql = " SELECT xtremguestbook_id, title FROM ".$db->prefix("xtremguestbook")." WHERE moderate=0 ORDER BY post_time DESC LIMIT $options[0]";
$result = $db->query($sql); $block['content'] .= ""; while ( list($xtremguestbook_id, $title) = $db->fetch_row($result) ) { $title = $myts->makeTboxData4Show($title); if ( strlen($title) > $options[1] ) { $title = substr($title, 0, $options[1]).".."; } $block['content'] .= "<img src=\"".XOOPS_URL."/modules/Info-Blocks/images/bullet.gif\"> <a href='".XOOPS_URL."/modules/xtremguestbook/'>$title</a>"; $block['content'] .= "<br />"; } }
Danke an ALLE, die mit soviel Geduld Anfänger wie mich hier betreuen.
[ Geändert von herman an 12.09.2005 21:36 ]
[ Geändert von herman an 12.09.2005 21:50 ] |
|
|
Dj_PD :
| 15.09.2005 23:33 |
So habe lange gebraucht aber rausgefunden. Für alle die es Interessiert, warum die Sortierung in dem Block "Top News Block" nicht richtig funktioniert.
Die Auflistung wird nach Counter gemacht, also dem gelesenen Beiträgen. Wenn 20 User den alten Beitrag gelesen haben und 10 den neuen so steht der alte Beitrag an der oberen Stelle.
Wer dies evtl. als Datum sortiert haben möchte muss folgendes ändern:
In \modules\news\blocks\news_top.php ab Zeile 38 den jetzigen Select-Code austauschen:
Für die Sortierung nach Erstellungsdatum folgendes: Code: $sql = " SELECT storyid, title, published, counter FROM ".$db->prefix("stories")." WHERE published<".time()." AND published>0 $extra ORDER BY created DESC"; //ASC für unten nach oben //DESC für oben nach unten
Für die Sortierung nach Veröffentlichungsdatum folgendes: Code: $sql = " SELECT storyid, title, published, counter FROM ".$db->prefix("stories")." WHERE published<".time()." AND published>0 $extra ORDER BY published DESC"; //ASC für unten nach oben //DESC für oben nach unten
Ich hoffe das das auch anderen weiter hilft.
Gruss Dj_PD |
|
|
herman :
| 17.09.2005 10:37 |
vielen Dank Dj_PD für deine Bemühungen und deine Geduld. Auf den ersten Blick sehe ich allerdings keinen Untesrchied zwischen Variante A und Variante B  |
|
|
Dj_PD :
| 17.09.2005 13:47 |
Nöööö? Variante A (nach Veröffentlichtungsdatum) ORDER BY published DESC"; Variante B (nach Erstellungsdatum) ORDER BY created DESC"; |
|
|
herman :
| 17.09.2005 18:19 |
sorry  |
|
|
|