Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
[split] Icons
#1
Wie bekomme ich die Post-Icons in die Reihenfolge, die ich haben möchte? Am liebsten hätte ich, dass sie nach der ID sortiert werden.
habe in der newthread.php schon mal ein bisschen geguckt, kann aber nichts zur derzeitigen Sortierung finden, um es zu ändern. Sad
VG,
Susanne
Zitieren
#2
Welche Icons willst du wo nach welcher ID sortieren?

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#3
Die Beitrags-Icons müssten bei mir sortiert werden, weil in meinem Board jedes Icon einen Bezug zu einer bestimmten Art von Thema hat.
Also, vielleicht besser gesagt, sie müssten in einer gewissen Reihenfolge gezeigt werden in der Auswahl.
Zuerst habe ich versucht sie in der zu erscheinenden Reihenfolge hoch zu laden, aber sie erscheinen anschließend durcheinander.
Also habe ich mir in meiner Datenbank mal die mybb_icons  angesehen und sah da, dass die IDs der Icons der von mir gewünschten Reihenfolge entsprechen würden. Ich müsste nur noch irgendwo die Anweisung dazu geben.
VG,
Susanne
Zitieren
#4
Öffne die Datei inc/functions.php und suche nach:
PHP-Code:
$query $db->query("SELECT * FROM ".TABLE_PREFIX."icons ORDER BY name DESC"); 
Ersetzen durch:
PHP-Code:
$query $db->query("SELECT * FROM ".TABLE_PREFIX."icons ORDER BY iid DESC"); 

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#5
Perfekt!
Ich habe zwar
PHP-Code:
$query $db->query("SELECT * FROM ".TABLE_PREFIX."icons ORDER BY iid"); 
genommen, aber jetzt ist alles so, wie ich es brauche, danke.

Übrigens, dass es vorher nach Namen sortiert sein sollte ist komisch, denn ich hatte auch schon ausprobiert den Icons die Namen 1.gif, 2.gif, 3.gif..... zu geben, damit sie richtig erscheinen, aber das hatte auch nicht geklappt. Dunno
VG,
Susanne
Zitieren
#6
Die Icons werden dann nicht nach dem Dateinamen sortiert, sondern nach dem Namen, der in der Datenbank gespeichert ist.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#7
Verstehe. Ist ja auch logisch! Rolleyes
VG,
Susanne
Zitieren
#8
Leider gibt es diesen Part (siehe oben) nicht mehr in der inc/functions.php.

Habe die Icons wieder schön nach iid sortiert und so sollen sie eigentlich auch erscheinen. Ich nehme an, dieser Abschnitt (siehe unten) in der inc/functions.php muss verändert werden:
Code:
/**
* Generate a list of the posticons.
*
* @return string The template of posticons.
*/
function get_post_icons()
{
    global $mybb, $cache, $icon, $theme, $templates, $lang;

    $listed = 0;
    if($mybb->input['icon'])
    {
        $icon = $mybb->input['icon'];
    }

    $no_icons_checked = " checked=\"checked\"";
    // read post icons from cache, and sort them accordingly
    $posticons_cache = $cache->read("posticons");
    $posticons = array();
    foreach($posticons_cache as $posticon)
    {
        $posticons[$posticon['name']] = $posticon;
    }
    krsort($posticons);
    
    foreach($posticons as $dbicon)
    {
        if($icon == $dbicon['iid'])
        {
            $iconlist .= "<label><input type=\"radio\" name=\"icon\" value=\"".$dbicon['iid']."\" checked=\"checked\" /> <img src=\"".$dbicon['path']."\" alt=\"".$dbicon['name']."\" /></label>";
            $no_icons_checked = "";
        }
        else
        {
            $iconlist .= "<label><input type=\"radio\" name=\"icon\" value=\"".$dbicon['iid']."\" /> <img src=\"".$dbicon['path']."\" alt=\"".$dbicon['name']."\" /></label>";
        }

        ++$listed;
        if($listed == 10)
        {
            $iconlist .= "<br />";
            $listed = 0;
        }
    }

    eval("\$posticons = \"".$templates->get("posticons")."\";");

    return $posticons;
}
Habe schon alle names gegen iid ausgetauscht, aber sie wollen sich einfach nicht richtig sortieren. Sad
VG,
Susanne
Zitieren
#9
Mach bitte alle Änderungen rückgängig und entferne nur mal die Zeile:
PHP-Code:
krsort($posticons); 
Ändert das etwas?

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#10
Heute Morgen hat es - warum auch immer - plötzlich doch geklappt mit dem Ändern von
PHP-Code:
$posticons[$posticon['name']] = $posticon
in
PHP-Code:
$posticons[$posticon['iid']] = $posticon
Für die richtige Reihenfolge muss dann noch
PHP-Code:
krsort($posticons); 
in
PHP-Code:
ksort($posticons); 
abeändert werden.
VG,
Susanne
Zitieren