st, sk, sd = ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
yks
Mitglied
Beiträge: 1291
Registriert: 10.07.2004 02:31

st, sk, sd = ?

Beitrag von yks »

Hallo,

mich würde interessieren, wofür diese 3 Zeilen in der forum/viewforum.php stehen:

Code: Alles auswählen

$sort_days = request_var('st', $default_sort_days);
$sort_key = request_var('sk', $default_sort_key);
$sort_dir = request_var('sd', $default_sort_dir);
Die oberen 2 Zeilen hatte ich mal angepasst, als es um eine abc-Ordnung ging.
Die dritte Zeile war davon nicht betroffen.
Nun würde mich interessieren, was der Unterschied der 3 Zeilen ist.
(Bin gerade teilweise am Rückbau)

Viele Grüße, yks
Mit subsilver2 macht es noch viel mehr Spaß ! :)
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 11964
Registriert: 19.05.2005 21:45
Kontaktdaten:

Re: st, sk, sd = ?

Beitrag von Crizzo »

Hi,

wirf mal einen Blick in die Funktion request_var: https://www.phpbb.de/infos/3.1/xref/nav.html?index.html und hier hin: https://wiki.phpbb.com/Function.request_var

Dann wird es vielleicht schon klar. :)
Benutzeravatar
yks
Mitglied
Beiträge: 1291
Registriert: 10.07.2004 02:31

Re: st, sk, sd = ?

Beitrag von yks »

Hallo BlackHawk,

Danke für den Link ~ aber so recht weiter gebracht hat es mich nicht.

Glaube, mir geht es auch weniger so sehr um die Bedeutung des request var - sondern ich dachte, st, sk und sd sagen mir, wonach sortiert wird.

Nun steht da zwar sort_days / _key / _dir, aber wenn ich die Threadtitel in einem Forum nach dem abc sortiere, leuchtet mir immer noch nicht ein, wieso ich nur st und sk ändere, aber nicht sd.

Ich wüsste gerne, wofür sie Platzhalter sind.

st = days, also annehme, dass man vielleicht das Sortieren nach Datum dabei ausschaltet.

Aber st und sk ? Welcher Schlüssel ist gemeint ?

Und welches dir ist gemeint ?

Fragen verständlich ? :grin:

Grüße, yks
Mit subsilver2 macht es noch viel mehr Spaß ! :)
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: st, sk, sd = ?

Beitrag von gn#36 »

Die sind im Grunde alle für SQL Abfragen gedacht. SQL kennt nur zwei Richtungen: ASCending und DESCending (also aufwärts und abwärts). Dafür ist sd. Der erste Buchstabe in klein, also a oder d muss angegeben werden.

Der Key legt fest, nach welcher Spalte sortiert werden soll. Es gibt Author, Post time, Replies, Subject und Views zur Auswahl, wobei das ganze durch den ersten Buchstaben in klein festgelegt wird (also a, p, r, s oder v).

Die Einschränkung der Tage ist dafür gedacht, alte Themen auszublenden. Hier wird einfach die Anzahl an Tagen angegeben, die maximal seit dem letzten Beitrag vergangen sein darf.

Das alles kann man auch der Beschreibung eines Events entnehmen, mit dem man genau diese Variablen in einer Extension manipulieren kann:

Code: Alles auswählen

 391  /**
 392  * Event to modify the SQL query before the topic data is retrieved
 393  *
 394  * It may also be used to override the above assigned template vars
 395  *
 396  * @event core.viewforum_get_topic_data
 397  * @var    array    forum_data            Array with forum data
 398  * @var    array    sql_array            The SQL array to get the data of all topics
 399  * @var    array    forum_id            The forum_id whose topics are being listed
 400  * @var    array    topics_count        The total number of topics for display
 401  * @var    array    sort_days            The oldest topic displayable in elapsed days
 402  * @var    array    sort_key            The sorting by. It is one of the first character of (in low case):
 403  *                                    Author, Post time, Replies, Subject, Views
 404  * @var    array    sort_dir            Either "a" for ascending or "d" for descending
 405  * @since 3.1.0-a1
 406  * @change 3.1.0-RC4 Added forum_data var
 407  * @change 3.1.4-RC1 Added forum_id, topics_count, sort_days, sort_key and sort_dir vars
 408  */
Wenn du also überlegst diese Variablen zu ändern könntest du das auch in einer Mini-Extension unterbringen.

Grundsätzlich würde ich empfehlen, wenn du eine Variable nicht verstehst, diese einfach mal in der jeweiligen Datei weiterzuverfolgen um zu sehen, was damit passiert. Einfach nach dem Variablennamen suchen.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
yks
Mitglied
Beiträge: 1291
Registriert: 10.07.2004 02:31

Re: st, sk, sd = ?

Beitrag von yks »

Hallo gn#36,

Danke, das habe ich nun besser verstanden und hat mir weiter geholfen :)
Mal sehen, inwieweit ich damit herum probieren und es nutzen kann.

Danke + Gruß, yks
Mit subsilver2 macht es noch viel mehr Spaß ! :)
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: st, sk, sd = ?

Beitrag von gn#36 »

Das weiß ich auch erst seit deiner Frage :)

Wofür machst du einen Rückbau, wenn ich fragen darf? Willst du einen veralteten Mod wieder rauswerfen?
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
yks
Mitglied
Beiträge: 1291
Registriert: 10.07.2004 02:31

Re: st, sk, sd = ?

Beitrag von yks »

Wofür machst du einen Rückbau, wenn ich fragen darf? Willst du einen veralteten Mod wieder rauswerfen?
Meine Überlegung war, was weniger Zeit frißt und praktischer für mich ist.
Ob ich ein 3.1. wieder so anpasse, wie es mir am liebsten wäre (teils sind es auch nur "Kleinigkeiten", kein Mod) und damit bei 3.1. wieder neu einsteige (schon installiert hatte). Oder ob ich das mir bekannte 3.0. auf einen Stand bringe, wie ich es dann schnell als Vorlage heraus holen kann.

Im 2.0. hatte ich zB mal einen Mod für Blinde mit drin, der im 3.0. wahrscheinlich gar nicht mehr funktioniert hatte, ich aber vor dem Umstieg auch nicht ausgebaut habe. Und so gibt es ein paar Stellen, die ich kontrolliere und nun aufräume / in Originalzustand versuche zu bringen.
Manche Änderungen brauche ich nicht dort, wo ich sie damals brauchte, aber evtl später wieder irgendwo brauchen könnte.
Mal sehen...
Mit subsilver2 macht es noch viel mehr Spaß ! :)
Antworten

Zurück zu „Coding & Technik“