Heyho,
ich möchte gerne meine Einträge die ich habe nach allen Labelgruppen sortieren.
Man kann einen Eintrag mehrere Labelgruppen zuweisen und mit dem aktuellen Code kann man bei einem Produkt eine Labelgruppe für die Sortierung festlegen.
Hier mein aktueller Code für die Sortierung nach einer Labelgruppe, die Lösung war temporär und finde diese auch unsauber:
PHP
$sort = explode(' ', $this->sqlOrderBy);
if ( $sort[0] === 'labelShowOrder' ) {
$objectTypeID = ObjectTypeCache::getInstance()->getObjectTypeIDByName('com.woltlab.wcf.label.object', 'de.derpierre65.changelog.item');
$this->sqlJoins .= ' LEFT JOIN wcf1_changelog_product_version changelog_version ON changelog_version.versionID = changelog_item.versionID';
$this->sqlJoins .= ' LEFT JOIN wcf1_changelog_product changelog_product ON changelog_product.productID = changelog_version.productID';
$this->sqlOrderBy = '(SELECT label.showOrder FROM wcf'.WCF_N.'_label_object label_object
LEFT JOIN wcf'.WCF_N.'_label label ON label.labelID = label_object.labelID
WHERE label_object.objectID = changelog_item.itemID AND label_object.objectTypeID = '.$objectTypeID.' AND label.groupID = changelog_product.labelSortGroupID) ' . $sort[1];
}
Alles anzeigen
Im Anhang sind noch 2 Bilder wie die aktuelle Sortierung ist und wie diese am Ende eigentlich aussehen soll.
Jemand eine Idee bzw. einen Lösungsansatz?