Antwort #16 am: 28. März 2022, 22:51:28
Ich halte die vorher vorgeschlagene Änderung, also nicht die letzte von
FräuleinGarn vorgeschlagene, für sehr gefährlich. Will man bei einer Kundengruppe irgendeine Einstellung ändern und denkt nicht an die Änderung hat man nach Speichern alle Preise überschrieben. Das steht nicht zufällig per Default auf "Admin" mit '
Wenn Auswahl = "Admin" werden, keine Preise für die Kundengruppe übernommen.'.
Und was ist wenn man die Kundengruppe Gast (bzw. DEFAULT_CUSTOMERS_STATUS_ID_GUEST) bearbeitet ?
Dann gibt's Probleme weil die Ziel-Tabelle erst geleert wird.
Code dazu in der
/admin/customers_status.php:
if (isset($_POST['customers_base_status']) && !empty($_POST['customers_base_status'])) { if ($action == 'save') { xtc_db_query
('TRUNCATE TABLE personal_offers_by_customers_status_' . $customers_status_id); } $products_query = xtc_db_query
("SELECT price_id, products_id, quantity, personal_offer FROM personal_offers_by_customers_status_".(int
)$_POST['customers_base_status'].""); while($products = xtc_db_fetch_array
($products_query)){ $product_data_array = array( 'price_id' => xtc_db_prepare_input
($products['price_id']), 'products_id' => xtc_db_prepare_input
($products['products_id']), 'quantity' => xtc_db_prepare_input
($products['quantity']), 'personal_offer' => xtc_db_prepare_input
($products['personal_offer']) ); xtc_db_perform
('personal_offers_by_customers_status_' . $customers_status_id, $product_data_array); } } Wenn du's trotzdem machen möchtest,
hzs123456, kann man es mittels Javascript auch update-sicher machen:
<?php/***********************************************************
* file: cust_stat_copy_prices.php
* path: /admin/includes/extra/footer/
* use: preselect customers_base_status to copy prices
*
* © copyright 03-2022, noRiddle
***********************************************************/if(basename($PHP_SELF, '.php') == 'customers_status' && (isset($_GET['action']) && $_GET['action'] == 'edit') && (isset($_GET['cID']) && $_GET['cID'] != DEFAULT_CUSTOMERS_STATUS_ID_GUEST
)) {?><script>
$(function() {
$('select[name="customers_base_status"]').val('
<?php echo DEFAULT_CUSTOMERS_STATUS_ID_GUEST
; ?>');
$('select[name="customers_base_status"]')[0].sumo.selectItem(
<?php echo DEFAULT_CUSTOMERS_STATUS_ID_GUEST
; ?>);
});
</script>
<?php}?> Im Kopf des Codes steht wohin die Datei geladen werden muß.
Wenn die Kundengruppe Gast (bzw. DEFAULT_CUSTOMERS_STATUS_ID_GUEST) bearbeitet wird bleibt die Auswahl auf "Admin".
Die von
FräuleinGarn vorgeschlagene Implementation habe ich mir nicht angeschaut.
*NACHTRAG*
Den Sinn Implementation verstehe ich auch nicht. Wenn alle KGs dieselben Preise haben sollen brauche ich doch gar keine KG-Preise anzulegen.
Gruß,
noRiddle