Skip to content
Code-Schnipsel Gruppen Projekte
Commit ce3532a8 erstellt von Patrick Müller's avatar Patrick Müller
Dateien durchsuchen

fix: pass sort settings to manufacturer product list erp#34

Übergeordneter 1ff04bf5
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
......@@ -4,6 +4,7 @@
use QUI\ERP\Products\Controls\ManufacturerList\ManufacturerList;
use QUI\ERP\Products\Controls\Category\ProductList;
use QUI\ERP\Products\Handler\Fields;
use QUI\ERP\Products\Utils\Sortables;
$Request = QUI::getRequest();
$siteUrl = $Site->getLocation();
......@@ -24,12 +25,26 @@
$ManufacturerUser = false;
}
$searchParams = [
'fields' => [
Fields::FIELD_MANUFACTURER => $ManufacturerUser->getName()
]
];
// Determine default sorting
$defaultSorting = $Site->getAttribute('quiqqer.products.settings.defaultSorting');
if (!empty($defaultSorting)) {
$defaultSorting = \explode(' ', $defaultSorting);
$searchParams['sortOn'] = $defaultSorting[0];
if (!empty($defaultSorting[1])) {
$searchParams['sortBy'] = $defaultSorting[1];
}
}
$ProductList = new ProductList([
'searchParams' => [
'fields' => [
Fields::FIELD_MANUFACTURER => $ManufacturerUser->getName()
]
],
'searchParams' => $searchParams,
'hideEmptyProductList' => true,
'view' => $Site->getAttribute('quiqqer.products.settings.categoryDisplay'),
'autoload' => 1,
......@@ -37,6 +52,47 @@
'productLoadNumber' => $Site->getAttribute('quiqqer.products.settings.productLoadNumber'),
]);
// Assign sort fields
$fields = Sortables::getSortableFieldsForSite($Site);
foreach ($fields as $fieldId) {
if (\strpos($fieldId, 'S') === 0) {
$title = QUI::getLocale()->get('quiqqer/products', 'sortable.'.\mb_substr($fieldId, 1));
$ProductList->addSort(
$title.' '.QUI::getLocale()->get('quiqqer/products', 'sortASC'),
$fieldId.' ASC'
);
$ProductList->addSort(
$title.' '.QUI::getLocale()->get('quiqqer/products', 'sortDESC'),
$fieldId.' DESC'
);
continue;
}
if (\strpos($fieldId, 'F') === 0) {
try {
$fieldId = str_replace('F', '', $fieldId);
$Field = Fields::getField((int)$fieldId);
$title = $Field->getTitle();
$ProductList->addSort(
$title.' '.QUI::getLocale()->get('quiqqer/products', 'sortASC'),
'F'.$fieldId.' ASC'
);
$ProductList->addSort(
$title.' '.QUI::getLocale()->get('quiqqer/products', 'sortDESC'),
'F'.$fieldId.' DESC'
);
} catch (QUI\Exception $Exception) {
QUI\System\Log::writeDebugException($Exception);
}
}
}
$Engine->assign('manufacturerTitle', Manufacturers::getManufacturerTitle($ManufacturerUser->getId()));
} catch (\Exception $Exception) {
QUI\System\Log::writeDebugException($Exception);
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren