OpenCart-Hellas 

Η Ελληνική κοινότητα υποστήριξης του Opencart

Θέματα που αφορούν τη γενικότερη λειτουργία του Opencart.
#5543
Καλησπέρα και καλή χρονιά!!!
Εχω ένα θέμα που με προβληματίζει!

Προσπαθώ να περάσω μαζικά πόντους ανταμοιβής σε όλα τα προϊόντα για μία ομάδα πελατών!

Δοκίμασα τροποποιώντας το παρακάτω όμως κολλάω σε μία περίπτωση!
Για τα προϊόντα με κανονική τιμή οι πόντοι θα είναι είναι επι 10 π.χ 10€ = 100πόντοι αντανοιβής.
Όμως στα προϊόντα που έχουν special_price, οι πόντοι θα είναι 33.33 πχ 10€ = 33 πόντοι ανταμοιβής

Καμια ιδέα;

Κώδικας: Επιλογή όλων
TRUNCATE TABLE  `product_reward`;

INSERT INTO `product_reward` (product_id) SELECT product.product_id AS product_id FROM `product`;

UPDATE `product_reward` pr LEFT JOIN `product` p ON (pr.product_id = p.product_id) SET pr.customer_group_id = '8', pr.points = ROUND(p.price * 5)
#5544
Καλησπέρα και καλή χρονιά

Αφού έχεις τρέξει τα queries που αναφέρει το post και έχεις κάνει populate τα tables με τιμές δοκίμασε να δώσεις το παρακάτω που θα περάσει τις τιμές των specials:
Κώδικας: Επιλογή όλων
UPDATE `oc_product_reward` pr LEFT JOIN `oc_product` p ON (pr.product_id = p.product_id) 
INNER JOIN (SELECT * FROM `oc_product_special` ps WHERE ps.customer_group_id = '8' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC) AS sp ON (p.product_id = sp.product_id)
SET pr.customer_group_id = '8', pr.points =  ROUND(sp.price * 0.33)
Εννοείται ότι κάνεις πρώτα backup και προσαρμόζεις τα prefixes, το group και τον τύπο της τιμής που θα προσαρμοστεί.

Υ.Γ. Το ερώτημα σου έχει απαντηθεί και στο group προγραμματιστών, αλλά για περαιτέρω υποστήριξη είναι καλύτερα από εδώ για να έχει πρόσβαση περισσότερος κόσμος.
#5545
Επειδή το έκανα και δούλεψε, σημειώνω παρακάτω ακριβώς τι ήθελα να κάνω και ποια queries εκανα για κάθε βήμα!

1. Ήθελα σε κάθε προϊον να βάλω πόντους ανταμοιβής Χ 10 της αρχικής τιμής για την default ομάδα πελατών! Το query ήταν το παρακάτω:
Κώδικας: Επιλογή όλων
TRUNCATE TABLE  `oc_product_reward`;

INSERT INTO `oc_product_reward` (product_id) SELECT oc_product.product_id AS product_id FROM `oc_product`;

UPDATE `oc_product_reward` pr LEFT JOIN `oc_product` p ON (pr.product_id = p.product_id) SET pr.customer_group_id = '1', pr.points = ROUND(p.price * 10);
2. Σε δεύτερη φάση ήθελα στα προϊόντα που είχαν special price οι πόντοι να είναι το 1/3 της special price!
Οπότε το query ήταν το παρακάτω:
Κώδικας: Επιλογή όλων
UPDATE `oc_product_reward` pr LEFT JOIN `oc_product` p ON (pr.product_id = p.product_id)
INNER JOIN (SELECT * FROM `oc_product_special` ps WHERE ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC) AS sp ON (p.product_id = sp.product_id)
SET pr.customer_group_id = '1', pr.points = ROUND(sp.price * 3.33)
#6209
Καλημέρα, για να κάνω μαζική προσθήκη πόντων υπάρχει άλλος τρόπος χωρίς να πειράξω τον κώδικα?

Επίσης είναι αυτονόητο, ότι κάποιος για να μαζέψει πόντους πρέπει να έχει κάνει login, σωστά?

Ευχαριστώ για τον χρόνο σας!
#6210
Καλησπέρα,

Το παραπάνω δεν πειράζει κώδικα, είναι SQL εντολές. Εναλλακτικά θα μπορούσες να δεις κάποιο extension μαζικής εισαγωγής/εξαγωγής δεδομένων με excel.

Καλησπέρα στην ομάδα, θέλω να ρωτήσω το εξής: Σε O[…]

Σας ευχαριστώ πολύ για την απάντηση, σκεφτείτε η ε[…]

Έλεγξε αν έχεις πολύ μεγάλα αρχεία εικόνων και αν […]

Κάνε ένα restart τον σερβερ. (βασικα την λειτουργι[…]

Πριν ζητήσετε βοήθεια στο φόρουμ, παρακαλούμε ελέγξτε αν υπάρχει έτοιμη λύση στο OpenCart Extension Marketplace!