... die gelöscht werden soll? <Kein Scherz!> Wo ist die letzte Möglichkeit die "date_purchased" zu ermitteln, bevor der Button "Delete" sein Werk vollendet hat? Ich würde da mit einer Funktion einsteigen, die das Datum weiter verwendet. Ein Overlay, das bei GX 2.0 & 2.1 funktioniert, wäre natürlich der Gipfel der Lust. Für zielführende Tipps bereits jetzt besten Dank!
Hallo Moritz, eine Eigenentwicklung verwaltet in eigenen Tabellen bestimmte Summen der "orders" pro Tag. Änderungen an Bestellungen werden erkannt und nur die Summen des betreffenden Tag aus der "orders" neu gebildet. Nur beim Löschen einer Bestellung bleibt (bisher) nix anderes übrig, als vom Tag der 1. Bestellung die Tabelle "orders" komplett durch zu ackern! Das ist ab einer bestimmten Datenmenge undiskutabel! Ich brauche also nur "date_purchased" der Orders, die gelöscht wird. Die gleiche Funktion, die bei geänderten Bestellungen das Datum des Tages speichert, kann auch hier einsteigen.
Wäre es nicht vielleicht einfacher mittels cronjob nachts einfach die Werte neu cachen zu lassen statt bei jeder kleinen änderung?
Das wäre 1. nicht praktisch, da zusätzlicher Aufwand. Da es bei 300 Orders/Tag auf einem AllerweltsServer in ca 0.02Sek erledigt ist - lohnt es sich nicht. Und Du möchtest doch jetzt aktuelle Daten und nicht erst morgen - oder? Anders beim Löschen .... noch!
Hallo Manfred, hier eine Lösung für 2.1: PHP: <?php/* -------------------------------------------------------------- BeforeDeleteOrder.inc.php 2015-01-17 mb Gambio GmbH http://www.gambio.de Copyright (c) 2015 Gambio GmbH Released under the GNU General Public License (Version 2) [http://www.gnu.org/licenses/gpl-2.0.html] -------------------------------------------------------------- */class BeforeDeleteOrder extends BeforeDeleteOrder_parent{ public function __construct() { if(is_callable(array(parent, '__construct'))) { parent::__construct(); } if($_GET['action'] === 'deleteconfirm') { $orderId = (int)$_GET['oID']; $query = 'SELECT date_purchased FROM orders WHERE orders_id = ' . $orderId; $result = xtc_db_query($query); if(xtc_db_num_rows($result)) { $row = xtc_db_fetch_array($result); $datePurchased = $row['date_purchased']; // $datePurchased weiter verarbeiten } } }} Die Datei BeforeDeleteOrder.inc.php gehört in den Ordner user_classes/overloads/AdminOrderActionExtenderComponent.
Hallo Moritz, erstmal vielen Dank! Mein GX 2.1.4.0 meint jedoch bereits beim Aufruf der "orders.php". Code: [URL="http://kartoffel24.de/admin/orders.php#"][B]FATAL ERROR(1): [/B]"Can not call constructor"[/URL][B]Information:[/B] <br /> <b>Fatal error</b>: Can not call constructor in <b>/www/htdocs/xxxxxx/xxxxxx.de/user_classes/overloads/AdminOrderActionExtenderComponent/BeforeDeleteOrder.inc.php</b> on line <b>19</b><br />