$query = $select->query();
- $categories = [
- '' => __('Choisir un domaine...'),
- '0' => __('Tout voir')
- ];
+ $populated_categories = [];
while ($row = $query->fetch()) {
$row = CubeIT_Util_Cms::unserialize($row);
foreach ($row->categories as $category) {
- $categories[$category] = $all_categories[$category]->name;
+ $populated_categories[$category] = $all_categories[$category]->name;
}
}
+ // Sort final list of categories based on proper order from admin
+ $sorted_categories = [
+ '' => __('Choisir un domaine...'),
+ '0' => __('Tout voir')
+ ];
+ // $all_categories is already sorted correctly so we'll use that to build the final list
+ foreach ($all_categories as $category_ID => $category) {
+ if (isset($populated_categories[$category_ID])) {
+ $sorted_categories[$category_ID] = $category->name;
+ }
+ }
+
return $this->formSelect(
$listID . '-filter', // Select element's name
null, // Value
'data-column-width' => $columnWidth,
'data-gutter' => $gutterSize
],
- $categories // Options
+ $sorted_categories // Options
);
}