[quote="oxpus - Do 19.Mai, 2005 20:08";p="32465"]Damit wird auch die erste Kategorie ausgenommen. Allerdings dann immer die Kategorie mit der kleinsten ID!
Bitte nicht verwechseln mit Kategorie 1, denn das kann hier ggf. zu bösen Überraschungen führen!
Aber solange Du an den Kategorien nichts änderst, ist Deine Anpassung erstmal korrekt. Laienhaft aber es funktioniert und das ist die Hauptsache.[/quote]
Ja, du hast Recht. Also, die Default Kategorie muss an erster Stelle bleiben.
Sobald eine andere Kategorie nach oben via ACP -> Allgemein -> Smilie Kategorien verschoben wird, ist diese dann unsichtbar und die Default Kategorie wird sichtbar.
Die Frage ist, lohnt sich der Aufwand dafür, dass noch abzuändern?
Erst einmal bin ich froh, dass es klappt. Aber bin natürlich auch neugierig und wissbegierig,
wie man das noch eleganter lösen könnte.
Vielleicht ein anderes Mal.
Schönen Abend noch.
Gruß Stöbi
EDIT:
Wenn ich so recht überlege, muss das gar nicht weiter angepasst werden.
Ich möchte ja, dass Default ausgeblendet wird und bleibt.
Muss nur hinkriegen in der admin_smilies_categories.php, dass wenn ich eine Kategorie "nach oben" anklicke, diese nicht an erster sondern an zweiter Stelle verschoben wird.
EDIT2:
Guten Morgen,
versuche mich nun an der Datei admin_smilies_categories.php und finde, so denke ich mal,
den richtigen Part:
Code: Alles auswählen
case 'first':
//
// Admin has selected to put a category at first place
//
$sql1 = "UPDATE " . SMILIES_CAT_TABLE . " SET cat_id = 0 WHERE cat_id = ". $HTTP_GET_VARS['cat'];
$db->sql_query($sql1);
$sql2 = "UPDATE " . SMILIES_CAT_TABLE . " SET cat_id = cat_id+1 WHERE cat_id < ". $HTTP_GET_VARS['cat'];
$db->sql_query($sql2);
$sql3 = "UPDATE " . SMILIES_TABLE . " SET cat_id = 0 WHERE cat_id = ". $HTTP_GET_VARS['cat'];
$db->sql_query($sql3);
$sql4 = "UPDATE " . SMILIES_TABLE . " SET cat_id = cat_id+1 WHERE cat_id < ". $HTTP_GET_VARS['cat'];
$db->sql_query($sql4);
$message = $lang['smiley_cat_first_ok'] . "<br /><br />" . sprintf($lang['Click_return_smileadmin'], "<a href="" . append_sid("admin_smilies_category.$phpEx") . "">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href="" . append_sid("index.$phpEx?pane=right") . "">", "</a>");
message_die(GENERAL_MESSAGE, $message);
break;
}
Ich bräuchte eigentlich nur doch SET cat_id = 0 auf SET cat_id = 1 setzen.
Weil in der nächsten Zeile dann cat_id = cat_id + 1 ausgeführt wird.
Jeweils in SMILIES_CAT_TABLE und SMILIES_TABLE.
Problem ist aber, ich kann immer noch die Smilie Kategorien an erster Stelle verschieben,
was dann ein heilloses Chaos ergibt. Wie kann ich die erste Kategorie die auch immer cat_id = 1
erhält, schützen also dass die gar nicht erst berührt wird die erste Kategorie und cat_id 1 behält?
Gruß Stöbi