Erweiterung DropDown OrdersOverview

Thema wurde von cdoo, 6. Mai 2021 erstellt.

  1. cdoo

    cdoo Erfahrener Benutzer

    Registriert seit:
    15. November 2018
    Beiträge:
    65
    Danke erhalten:
    29
    Danke vergeben:
    23
    Mahlzeit!

    Ich würde gerne in der OrdersOveriew im Drodown Menü neben der jeweiligen Bestellung (siehe Screenshot):

    [​IMG]
    einen weiteren Link hinzufügen, welcher auf ein externes Script mit der Bestellnummer als Parameter verweist.

    Code:
    Link:
    https://www.test.at/outtest.php?beid=123456
    
    Danke schonmal vorab für eure Rückmeldung :)
     
  2. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.660
    Danke erhalten:
    1.262
    Danke vergeben:
    300
    @cdoo Bitte schau dir mal die Entwicklerdokumentation an unter (Link nur für registrierte Nutzer sichtbar.)

    Aber hier mal die Kurzform:

    1. Erstelle eine Datei MeineOrderActionOrdersOverviewController.inc.php im Ordner /GXModules/MeineFirma/MeinModul/Admin/Overloads/OrdersOverviewController/
    2. Füge folgenden Inhalt ein:

    PHP:
    <?php

    class MeineOrderActionOrdersOverviewController extends MeineOrderActionOrdersOverviewController_parent
    {
        protected function 
    _getAssetsArray()
        {
            
    $assets parent::_getAssetsArray();
          
                
    $assets[] = MainFactory::create('Asset',
                                                
    DIR_WS_CATALOG
                                                
    'GXModules/MeineFirma/MeinModul/Admin/Javascript/meineOrderAction.js');
            }
           
            return 
    $assets;
        }
    }
    3. Erstelle im Ordner GXModules/MeineFirma/MeinModul/Admin/Javascript/ die Datei meineOrderAction.js
    4. Füge folgenden Inhalt ein:

    Code:
    $(function () {
        'use strict';
    
        const $table = $('.orders .table-main');
    
        $table.on('init.dt', function () {
            const _initSingleAction = function ($table) {
                $table.find('.btn-group.dropdown').each(function () {
                    const orderId = $(this).parents('tr').data('id');
                    const defaultRowAction = $table.data('defaultRowAction') || 'edit';
    
                    jse.libs.button_dropdown.addAction($(this), {
                        text: 'Meine Beschriftung des Buttons',
                        href: 'outtest.php?beid=' + orderId,
                        data: {configurationValue: 'custom-row-action'},
                        isDefault: isDefault: defaultRowAction === 'custom-row-action'
                    });
                });
            };
    
            $table.on('draw.dt', () => _initSingleAction($table));
            _initSingleAction($table);
        });
    });
    
     
  3. cdoo

    cdoo Erfahrener Benutzer

    Registriert seit:
    15. November 2018
    Beiträge:
    65
    Danke erhalten:
    29
    Danke vergeben:
    23
    Vielen Dank für deine Hilfe zu später Stunde :)