8
0

get sorting configuration from config file

Dieser Commit ist enthalten in:
Daniel Seifert 2021-12-11 13:59:13 +01:00
Ursprung 446fa87297
Commit b4590187a6
Signiert von: DanielS
GPG-Schlüssel-ID: 6A513E13AEE66170
2 geänderte Dateien mit 44 neuen und 25 gelöschten Zeilen

Datei anzeigen

@ -4,6 +4,7 @@ namespace D3\SortedMenus\Modules\Controller\Admin;
use DOMElement;
use DOMXPath;
use OxidEsales\Eshop\Core\Registry;
class NavigationTreeSortedMenus extends NavigationTreeSortedMenus_parent
{
@ -19,29 +20,11 @@ class NavigationTreeSortedMenus extends NavigationTreeSortedMenus_parent
public function d3SortMenus()
{
$sorting = [
// Tabs
[
'xpath' => "//OX/*[@id='d3mxd3modules']/*[@id='d3mximporter']/*[@id='d3mxarticleimport']/TAB",
'order' => ['d3tbclimporter_category', 'd3tbclimporter_selectlist', 'd3tbclimporter_main']
],
// mainmenu
[
'xpath' => "//OX/*[@id='d3mxd3modules']/MAINMENU",
'order' => ['d3konfigurator', 'abcdef', 'd3mxordermanager']
],
// mainmenu with unvalid item
[
'xpath' => "//OX/*[@id='d3mxd4modules']/MAINMENU",
'order' => ['d3konfigurator', 'abcdef', 'd3mxordermanager']
],
// Tabs
[
'xpath' => "//OX/*[@id='NAVIGATION_ESHOPADMIN']/*[@id='mxmanageprod']/*[@id='mxcategories']/TAB",
'order' => ['tbclcategory_pictures']
]
// can't sort buttons
];
$sorting = Registry::getConfig()->getConfigParam('d3MenuSorting');
if (false === is_array($sorting) || false == count($sorting)) {
return;
}
foreach ($sorting as $sort) {
$this->d3SortList($this->_oInitialDom, $sort['xpath'], $sort['order']);

Datei anzeigen

@ -1,15 +1,51 @@
[![deutsche Version](https://logos.oxidmodule.com/de2_xs.svg)](README.md)
[![english version](https://logos.oxidmodule.com/en2_xs.svg)](README.en.md)
# D³ Sorted Menus für OXID eShop
# D³ Sortable Menus für OXID eShop
Das Modul bietet die Möglichkeit, die Adminmenüs in eine gewünschte Reihenfolge zubringen.
Sortiert werden kann das Seitenmenü auf der linken Seite sowie die Tabs in jedem einzelnen Bereich.
Die Einträge können ausschließlich in der aktuell ausgewählten Ebene verschoben werden.
## Konfiguration
Die Konfiguration erfolgt der Einfachheit halber direkt in der Konfiguration des Shops (`config.inc.php`).
Die Einträge können ausschließlich in der aktuell ausgewählten Ebene verschoben werden.
Fügen Sie beispielhaft folgende Konfiguration ein:
```php
$this->d3MenuSorting = [
// Tabs
[
'xpath' => "//OX/*[@id='d3mxd3modules']/*[@id='d3mximporter']/*[@id='d3mxarticleimport']/TAB",
'order' => ['d3tbclimporter_category', 'd3tbclimporter_selectlist', 'd3tbclimporter_main']
],
// mainmenu
[
'xpath' => "//OX/*[@id='d3mxd3modules']/MAINMENU",
'order' => ['d3konfigurator', 'abcdef', 'd3mxordermanager']
],
// mainmenu with unvalid item
[
'xpath' => "//OX/*[@id='d3mxd4modules']/MAINMENU",
'order' => ['d3konfigurator', 'abcdef', 'd3mxordermanager']
],
// Tabs
[
'xpath' => "//OX/*[@id='NAVIGATION_ESHOPADMIN']/*[@id='mxmanageprod']/*[@id='mxcategories']/TAB",
'order' => ['tbclcategory_pictures']
]
// can't sort buttons
];
```
Jeder Eintrage definiert mit der xPath-Angabe eine Menüebene, in der sortiert werden kann. Der xPath kann in der jeweiligen menu.xml ermittelt werden.
Im order-Eintrag stehen die IDs der enthaltenen Einträge in der richtigen Reihenfolge. Nicht enthaltene Einträge werden in der bisherigen Sortierung automatisch an das Ende der sortierten Liste angehängt.
Nach dem Ändern der Sortiereinträage muss der tmp-Ordner geleert werden.
## Schnellinstallation