Zusätzliche Spalte in AdminOrderOverview (Übersicht Bestellungen)

Thema wurde von Guyonthecouch, 8. Oktober 2016 erstellt.

  1. Guyonthecouch

    Guyonthecouch Erfahrener Benutzer

    Registriert seit:
    17. September 2016
    Beiträge:
    203
    Danke erhalten:
    24
    Danke vergeben:
    85
    Hallo liebe Community,

    ich würde gerne eine zusätzliche Spalte in der Bestellübersicht hinzufügen (Kundennummer).
    Hat das schon mal jemand gemacht und kann mir Hilfestellung leisten?

    Vielen Dank und Grüße
    Cedric
     
  2. Kai Schoelzke

    Kai Schoelzke Beta-Held

    Registriert seit:
    30. März 2016
    Beiträge:
    3.551
    Danke erhalten:
    472
    Danke vergeben:
    181
  3. Guyonthecouch

    Guyonthecouch Erfahrener Benutzer

    Registriert seit:
    17. September 2016
    Beiträge:
    203
    Danke erhalten:
    24
    Danke vergeben:
    85
    #3 Guyonthecouch, 9. Oktober 2016
    Zuletzt bearbeitet: 9. Oktober 2016
    Hallo Kai,

    ich bin der Anleitung gefolgt und habe Nachfolgendes erstellt, bekomme jedoch noch nicht das gewünschte Ergebnis. Könntest du evtl. mal drüberschauen und mir sagen wo sich der Käfer versteckt hält?

    1) Anlegen einer /GXMainComponents/Extensions/Orders/CustomColumnOrdersOverviewColumns.inc.php
    PHP:
    class CustomColumnOrdersOverviewColumns extends OrdersOverviewColumns
    {
        public function 
    __construct()
        {
            
    parent::__construct();

            
    // Custom
            
    $this->columns[] = MainFactory::create('DataTableColumn')
                                          ->
    setTitle(new StringType($languageTextManager->get_text('CUSTOMER_ID')))
                                          ->
    setName(new StringType('customCID'))
                                          ->
    setField(new StringType('orders.customer_id'))
                                          ->
    setType(new DataTableColumnType(DataTableColumnType::NUMBER));
        }
    }

    2) Anlegen einer /GXMainComponents/Controllers/HttpView/Admin/CustomColumnOrdersOverviewController.inc.php
    PHP:
    class CustomColumnOrdersOverviewController extends OrdersOverviewController
    {
        protected function 
    _getAssetsArray()
        {
            
    $assetsArray parent::_getAssetsArray();
            
    $assetsArray[] = MainFactory::create('Asset'DIR_WS_CATALOG.'GXUserComponents/modules/add_custom_column_customCID.js');

            return 
    $assetsArray;
        }
    }

    3) Anlegen einer /GXMainComponents/Controllers/HttpView/AdminAjax/CustomColumnOrdersOverviewAjaxController.inc.php
    PHP:
    class CustomColumnOrdersOverviewAjaxController extends OrdersOverviewAjaxController
    {
        protected function 
    _getTableData()
        {
            
    $tableData parent::_getTableData();

            foreach(
    $tableData as &$row)
            {
                
    $row['customCID'] = 'Customer ID';
            }

            return 
    $tableData;
        }
    }

    4) Anlegen einer /GXUserComponents/modules/add_custom_column_customCID.js
    PHP:
    $(function() {
        
    'use strict';

        
    // Be careful to not overwrite existing object definitions.
        
    jse.libs.orders_overview_columns jse.libs.orders_overview_columns || {};

        
    // Custom column definition.
        
    jse.libs.orders_overview_columns.customCID = {
            
    data'customCID',
            
    minWidth'75px',
            
    widthFactor0.9
        
    };
    });

    Kleine Anmerkung: als ich bei den Klassen jeweils das "_parent" noch stehen hatte (z.B. "CustomActionsOrdersOverviewController_parent"), bekam ich im Admin einen Fehler.


    Vielen Dank und Grüße
    Cedric
     
  4. Guyonthecouch

    Guyonthecouch Erfahrener Benutzer

    Registriert seit:
    17. September 2016
    Beiträge:
    203
    Danke erhalten:
    24
    Danke vergeben:
    85
    Hat vielleicht jemand anderes eine Idee?
     
  5. Kai Schoelzke

    Kai Schoelzke Beta-Held

    Registriert seit:
    30. März 2016
    Beiträge:
    3.551
    Danke erhalten:
    472
    Danke vergeben:
    181
    Hast du mal geschaut bei den Bestellungen gibt es die Einstellungen, die drei kleinen Zahnräder rechts oben da kann man die Felder aktivieren und deaktivieren.

    Habe gerade mal drüber geschaut, die Anleitung scheint mir nicht mehr ganz aktuell zu sein, in dem Verzeichnis GXMainComponents sollten keine eigenen Dateien drin sein, ich bin auch kein Experte auf diesem Gebiet, da müsste ,mal @Marco (Gambio) drüber schauen, ich denke der kennt sich damit aus.