Seite 1 von 1

Default-Sortierung bei Activity-Mod

Verfasst: 01.03.2004 01:23
von Sujao
Bei der Ansicht der Spiele kann man auswählen nach welchen Kriterien man die Spiele sortieren kann. Ich habe diese Sortier-Aufklapp-Leisten in der activity_body.tpl entfernt. Jetzt würde ich gerne die activity.php so verändern, dass die Liste automatisch nach der Game-ID sortiert wird und zwar aufsteigend, also 1,2,3,4,5... Ich hab mich in der Datei ein bisschen umgeguckt und die Variable default in Zeile 150 gefunden und vermute das man diese Einstellen müsste.

Im Prinzip brauche ich die ganzen Sortieralgorithmen überhaupt nicht, also kann man sie auch ruhig komplett entfernen. Was bleiben soll ist nur:

Sortier immer nach Game-ID und zwar aufsteigend !

Leider fehler mir die PHP-Kenntnisse um das umzusetzen. Kann jemand bitte helfen ?

Verfasst: 01.03.2004 07:11
von makue
Im Script wird die Sortierung in $order_by festgelegt. Wenn Du nur diese eine Sortierung brauchst, kannst Du den ganzen Block mit switch( $mode ) weglassen und stattdessen nur die eine Zeile:

Code: Alles auswählen

$order_by = "game_id $sort_order LIMIT $start, " . $board_config['games_per_page'];
dafür benutzen. Ich habe den Code jetzt nicht komplett analysiert, aber so könnte es gehen. Ach ja, das $sort_order in dieser Zeile vielleicht auch noch weglassen, da das entscheidet, ob auf- oder absteigend sortiert wird.

Verfasst: 01.03.2004 17:34
von Sujao
Aah, ausgezeichnet! Es hat geklappt. Vielen Dank!

Hab da nochwas: Es ist zwar nicht ganz so wichtig, aber könntest du dir vielleicht mal Zeile 90-130 kurz durschauen und mir sagen ob man das ebenfalls entfernen kann ? Die Verzögerungen durch diesen Code sind zwar bestimmt minimal,a ber es ist ein gutes Gefühl keinen Müll in der Datei zu haben ;)

Verfasst: 01.03.2004 18:46
von makue
Also nach diesem switch( $mode ) Block kann man auch alles im Block
if( $mode != "" ) löschen (zeile 155-285), muss dann aber das else in Zeile 285 mit rauswerfen, ich würde das Klammernparr in Zeile 186 und 465 aber mit rauswerfen. Der Klammernblock {...} vom Else dürfte aber eigentlich nicht stören. Mit Zeile 90-130 kann ich leider nichts anfangen, Zeile 90 ist mittem im Code. Jednfalls bei der von Dir geposteten Datei. Du kannst aber auch noch folgende Blöcke löschen:

Code: Alles auswählen

if (isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']))
{
	$mode = (isset($HTTP_GET_VARS['mode'])) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];
}
else 
{
	if( isset($HTTP_POST_VARS['game']) )
	{
		$mode = "game";
	}
	else if( isset($HTTP_POST_VARS['stats']) )
	{
		$mode = "stats";
	}
	else
	{
		$mode = "";
	}
}

Code: Alles auswählen

if(isset($HTTP_POST_VARS['order']))
{
	$sort_order = ($HTTP_POST_VARS['order'] == 'DESC') ? 'DESC' : 'ASC';
}
else if(isset($HTTP_GET_VARS['order']))
{
	$sort_order = ($HTTP_GET_VARS['order'] == 'DESC') ? 'DESC' : 'ASC';
}
else
{
	$sort_order = 'DESC';
}
Natürlich lässt sich an weiteren Stellen noch was weglassen aber viel bringt das wirklich nicht.

Verfasst: 01.03.2004 20:32
von Sujao
Wie genau meinst du das beim Klammernpaar ? Zeiel 186 wird ja sowieso gelöscht wenn ich die erste Löschung (155-285) vornehme. Und wie hängt 465 mit 186 zusammen ?

Verfasst: 01.03.2004 20:39
von makue
Der else-Zweig sieht ja etwa so aus:

Code: Alles auswählen

else
{
...anderer Code
}
Wenn man das else wegmacht, dann besser auch die { und die }. In 186 und 465 sollten eben diese Klammern stehen.

Verfasst: 01.03.2004 20:51
von Sujao
ach so ! ok verstanden