Bestellungen nach Produkten / Produktnummern filtern

Fragen und Antworten zu Bestellungen
Antworten
Jeroma
Beiträge: 32
Registriert: 31. Okt 2018, 19:01

Bestellungen nach Produkten / Produktnummern filtern

Beitrag von Jeroma »

Hallo Merconis-Team,

ist es möglich den Filter für Bestellungen soweit zu konfigurieren, dass die auf den Bestellungen nach Produktnummern zu sortieren sind?
Bzw. Ist es möglich, dass die produktnummern einfach auf der ersten Ebene abgebildet werden, ohne dass man in jede Bestellung einzeln gehen muss um zu sehen um welche Produkte es sich handelt?

Ich weiss, dass derzeit an einem Warenwirtschaftssystem/ERP für die Merconis-Produktlinie gearbeitet wird. Jedoch wäre eine schnelle übersicht in der Bestell-Liste sehr hilfreich.

Vielen Dank für die Info,
Philipp
Jeroma
Beiträge: 32
Registriert: 31. Okt 2018, 19:01

Re: Bestellungen nach Produkten / Produktnummern filtern

Beitrag von Jeroma »

Was ebenfalls eine Möglichkeit wäre, wenn man im CSV Export einfach in den Flexiblen Parametern die Produktnummern der Bestellungen in einer spalte anhängen könnte. Dazu gibt es aber keine parameter in den Templates. Gibt es eine andere Möglichkeit?
Benutzeravatar
supportteam2
Beiträge: 427
Registriert: 4. Mär 2015, 14:05

Re: Bestellungen nach Produkten / Produktnummern filtern

Beitrag von supportteam2 »

Ich bin mir nicht ganz sicher, ob ich das richtig verstehe.

Wenn Sie im Backend die Bestellübersicht vor sich haben, können Sie dort nicht erkennen, welche Produkte in einer Bestellung enthalten sind. Das liegt daran, dass in einer Bestellung sehr viele Produkte enthalten sein können und die Anzeige der enthaltenen Produkte natürlich für die allermeisten Anwender in der Übersicht viel zu detailliert wäre.

Eine Filtermöglichkeit, mit der Sie sich nur Bestellungen anzeigen lassen können, die ein bestimmtes Produkt enhalten, gibt es nicht und ist auch nicht machbar - höchstens als Individualprogrammierung, aber das ist wahrscheinlich keine echte Option.

Die Übersichtsdarstellung so zu erweitern, dass Sie direkt dort die in einer Bestellung enthaltenen Produkte sehen können, ist aber eine Kleinigkeit, da Sie hierfür nur das Template "template_beOrderRepresentationOverview_01.html5" anpassen müssen. Angepasst könnte das Template dann ungefähr so aussehen:

Code: Alles auswählen

<?php $this->loadLanguageFile('languages'); ?>
<div class="be_orderRepresentationOverview be_orderRepresentationOverview_01 <?php echo $this->arrOrder['status01']; ?> <?php echo $this->arrOrder['status02']; ?> <?php echo $this->arrOrder['status03']; ?> <?php echo $this->arrOrder['status04']; ?> <?php echo $this->arrOrder['status05']; ?>">
	<div class="messageIcons">
		<?php
			if (is_array($this->arrMessageTypes)) {
				foreach ($this->arrMessageTypes as $messageType) {
					echo $messageType['button'];
				}
			}
		?>
	</div>
	<li class="message">
		<ul>
			<li><strong><?php echo $GLOBALS['TL_LANG']['tl_ls_shop_orders']['orderNr'][0]; ?>: <?php echo $this->arrOrder['orderNr']; ?></strong></li>
			<li><?php echo $GLOBALS['TL_LANG']['tl_ls_shop_orders']['orderDate'][0]; ?>: <?php echo $this->parseDate($GLOBALS['TL_CONFIG']['datimFormat'], $this->arrOrder['orderDateUnixTimestamp']); ?></li>
			<li><?php echo $GLOBALS['TL_LANG']['tl_ls_shop_orders']['customerName'][0]; ?>: <?php echo $this->arrOrder['customerData']['personalData']['lastname'].', '.$this->arrOrder['customerData']['personalData']['firstname']; ?></li>
			<li><?php echo $GLOBALS['TL_LANG']['tl_ls_shop_orders']['customerLanguage'][0]; ?>: <?php echo $GLOBALS['TL_LANG']['LNG'][$this->arrOrder['customerLanguage']]; ?></li>
			<li><?php echo $GLOBALS['TL_LANG']['tl_ls_shop_orders']['invoicedAmount'][0]; ?>: <?php echo \Merconis\Core\ls_shop_generalHelper::outputPrice($this->arrOrder['invoicedAmount']); ?></li>
			<?php if (isset($this->arrOrder['status01']) && isset($GLOBALS['TL_LANG']['MSC']['ls_shop']['statusValues'][$this->arrOrder['status01']])) { ?>
				<li><?php echo $GLOBALS['TL_LANG']['tl_ls_shop_orders']['status01'][0]; ?>: <?php echo $GLOBALS['TL_LANG']['MSC']['ls_shop']['statusValues'][$this->arrOrder['status01']]; ?></li>
			<?php } ?>
			<?php if (isset($this->arrOrder['status02']) && isset($GLOBALS['TL_LANG']['MSC']['ls_shop']['statusValues'][$this->arrOrder['status02']])) { ?>
				<li><?php echo $GLOBALS['TL_LANG']['tl_ls_shop_orders']['status02'][0]; ?>: <?php echo $GLOBALS['TL_LANG']['MSC']['ls_shop']['statusValues'][$this->arrOrder['status02']]; ?></li>
			<?php } ?>
			<?php if (isset($this->arrOrder['status03']) && isset($GLOBALS['TL_LANG']['MSC']['ls_shop']['statusValues'][$this->arrOrder['status03']])) { ?>
				<li><?php echo $GLOBALS['TL_LANG']['tl_ls_shop_orders']['status03'][0]; ?>: <?php echo $GLOBALS['TL_LANG']['MSC']['ls_shop']['statusValues'][$this->arrOrder['status03']]; ?></li>
			<?php } ?>
			<?php if (isset($this->arrOrder['status04']) && isset($GLOBALS['TL_LANG']['MSC']['ls_shop']['statusValues'][$this->arrOrder['status04']])) { ?>
				<li><?php echo $GLOBALS['TL_LANG']['tl_ls_shop_orders']['status04'][0]; ?>: <?php echo $GLOBALS['TL_LANG']['MSC']['ls_shop']['statusValues'][$this->arrOrder['status04']]; ?></li>
			<?php } ?>
			<?php if (isset($this->arrOrder['status05']) && isset($GLOBALS['TL_LANG']['MSC']['ls_shop']['statusValues'][$this->arrOrder['status05']])) { ?>
				<li><?php echo $GLOBALS['TL_LANG']['tl_ls_shop_orders']['status05'][0]; ?>: <?php echo $GLOBALS['TL_LANG']['MSC']['ls_shop']['statusValues'][$this->arrOrder['status05']]; ?></li>
			<?php } ?>
			<?php if ($this->arrOrder['shippingTrackingNr']) { ?>
				<li><?php echo $GLOBALS['TL_LANG']['tl_ls_shop_orders']['shippingTrackingNr'][0]; ?>: <?php echo $this->arrOrder['shippingTrackingNr']; ?></li>
			<?php } ?>
			<?php if ($this->arrOrder['shippingTrackingUrl']) { ?>
				<li><?php echo $GLOBALS['TL_LANG']['tl_ls_shop_orders']['shippingTrackingUrl'][0]; ?>: <?php echo $this->arrOrder['shippingTrackingUrl']; ?></li>
			<?php } ?>
            <li> </li>
            <li><strong>Enthaltene Produkte:</strong></li>
            <?php
                foreach ($this->arrOrder['items'] as $itemPosition => $cartItem) {
                    ?>
                    <li>
                        <?php echo $cartItem['extendedInfo']['_productTitle'].' '.($cartItem['isVariant'] ? $cartItem['extendedInfo']['_title'] : ''); ?>
                        <?php if ($cartItem['extendedInfo']['_hasCode']) { echo ' ('.$cartItem['extendedInfo']['_code'].')'; } ?>
                    </li>
                    <?php
                }
            ?>

		</ul>
		<?php
			if ($this->paymentModuleOutput) {
				?>
				<div class="paymentStatusInfo">
					<?php echo $this->paymentModuleOutput; ?>
				</div>
				<?php
			}
		?>
	</div>
	<div class="clearFloat"> </div>
</div>
Ihre Export-Idee ist auch umsetzbar, aber hierfür müssen Sie sich natürlich entsprechend tief in das Export-Thema einarbeiten und anhand der vorliegenden Export-Templates experimentieren.
Jeroma
Beiträge: 32
Registriert: 31. Okt 2018, 19:01

Re: Bestellungen nach Produkten / Produktnummern filtern

Beitrag von Jeroma »

Vielen Dank für die ausführliche Infos und Vorschläge.

Gibt es denn schon Neuigkeiten zum Warenwirtschaftssystem?
Jeroma
Beiträge: 32
Registriert: 31. Okt 2018, 19:01

Re: Bestellungen nach Produkten / Produktnummern filtern

Beitrag von Jeroma »

Ich frage es mal anders:

Ist im Shop irgendwo einsehbar, wie oft ein Produkt schon bestellt/wurde?
Benutzeravatar
supportteam2
Beiträge: 427
Registriert: 4. Mär 2015, 14:05

Re: Bestellungen nach Produkten / Produktnummern filtern

Beitrag von supportteam2 »

Zu Ihrer Frage bzgl. Neuigkeiten zur Warenwirtschaft: Unser Warenwirtschaftssystem wurde auf eine spezielle Anfrage eines großen Kunden hin nochmal kräftig in seinem Funktionsumfang erweitert. Das hat natürlich auch Auswirkungen auf die Anbindung an den Merconis-Onlineshop. Wir visieren für die offizielle Veröffentlichung der Merconis-Warenwirtschaft mit Anbindung an den Merconis-Onlineshop daher jetzt die Contao-Konferenz im Oktober an.

Zu Ihrer Frage, ob man in Merconis irgendwo sehen kann, wie oft ein Produkt bereits verkauft wurde: Man kann das standardmäßig nicht sehen, aber es ist möglich, einen Export zu erstellen, der diese Information enthält.
Benutzeravatar
supportteam2
Beiträge: 427
Registriert: 4. Mär 2015, 14:05

Re: Bestellungen nach Produkten / Produktnummern filtern

Beitrag von supportteam2 »

Das Export-Template, um die in Bestellungen enthaltenen Produkte inklusive ihrer kumulierten Verkaufsmenge als CSV auszugeben, könnte z.B. so aussehen:

Code: Alles auswählen

<?php

if (is_array($this->arr_data) && count($this->arr_data)) {
	$arr_outputData = array();

	$int_rowCount = 1;
	foreach ($this->arr_data as $arr_order) {
	    foreach ($arr_order['arr_orderItems'] as $arr_orderItem) {
	        if (!isset($arr_outputData[$arr_orderItem['productVariantID']])) {
                $arr_outputData[$arr_orderItem['productVariantID']] = array(
                    'productName' => $arr_orderItem['productTitle'] . ($arr_orderItem['variantTitle'] ? ' ' . $arr_orderItem['variantTitle'] : ''),
                    'productCode' => $arr_orderItem['artNr']
                );
            }

            $arr_outputData[$arr_orderItem['productVariantID']]['quantitySoldTotal'] += $arr_orderItem['quantity'];
        }
    }

    usort(
        $arr_outputData,
        function($record1, $record2) {
            return $record2['quantitySoldTotal'] <=> $record1['quantitySoldTotal'];
        }
    );

	/*
	 * Create a pseudo file pointer for php's output stream
	 */
	$str_output = fopen('php://output', 'w');

	fputcsv($str_output, array_keys(reset($arr_outputData)));

	foreach ($arr_outputData as $arr_rowOutput) {
		fputcsv($str_output, $arr_rowOutput);
	}
}
Und das hier wären die Export-Einstellungen im Contao-Backend:
merconis_forum_exportvorlage_screenshot.GIF
merconis_forum_exportvorlage_screenshot.GIF (85.57 KiB) 13836 mal betrachtet
Jeroma
Beiträge: 32
Registriert: 31. Okt 2018, 19:01

Re: Bestellungen nach Produkten / Produktnummern filtern

Beitrag von Jeroma »

Vielen lieben Dank für die Infos zum WaWi-System und die Vorarbeit!

Das hilft immens weiter. Merci!
Antworten

Zurück zu „Bestellungen / Orders“