Περιγραφή
Hide Prices για OpenMage / Magento 1
Το IOWEB Hide Prices βοηθά OpenMage / Magento 1 καταστήματα να εμφανίζουν διαφορετική εμπορική εμπειρία ανά customer group, κρύβοντας τιμές και στοιχεία αγοράς από ομάδες πελατών που δεν πρέπει να βλέπουν δημόσιο pricing.
Η λειτουργία είναι ιδιαίτερα χρήσιμη για B2B καταστήματα, catalog-mode σενάρια, χονδρική, private pricing, quote-first workflows και περιπτώσεις όπου ο πελάτης πρέπει να ζητήσει τιμή αντί να βλέπει άμεσα retail τιμή ή κουμπί αγοράς.
Πώς λειτουργεί
Το module παρεμβαίνει στη Magento block rendering ροή μέσω του event core_block_abstract_to_html_after. Για κάθε rendered block ελέγχει το τρέχον customer group, την κλάση του block και τις ρυθμίσεις του admin. Αν το block πρέπει να επεξεργαστεί, αντικαθιστά configured CSS selectors με request-for-price text ή link, αφαιρεί configured selectors όπως add-to-cart buttons και μπορεί να αφαιρέσει configured JSON keys από JSON output.
Βασικές δυνατότητες
- Απόκρυψη price output ανά Magento customer group.
- Επεξεργασία μόνο συγκεκριμένων block classes για καλύτερο έλεγχο ανά theme.
- Προσθήκη custom block model classes για third-party themes/modules.
- Αντικατάσταση CSS selectors, όπως
.price, με κείμενο ή link «Ζητήστε τιμή».
- Αφαίρεση CSS selectors, όπως
.btn-cart, από το rendered HTML.
- Αφαίρεση JSON keys από JSON output όταν τιμές επιστρέφονται σε structured responses.
- Παραμετροποιήσιμο link text και link URL για quote/contact flow.
- Store-scope configuration για διαφορετική συμπεριφορά ανά website ή store view.
Γιατί είναι χρήσιμο
Με σωστή ρύθμιση, το κατάστημα μπορεί να λειτουργήσει ως product catalog για συγκεκριμένες ομάδες πελατών, ενώ άλλες ομάδες συνεχίζουν να βλέπουν κανονικά τις τιμές. Αυτό δίνει πρακτικό έλεγχο σε B2B workflows χωρίς να απαιτείται αλλαγή των ίδιων των product prices.
Theme-aware ρύθμιση
Το Hide Prices είναι configuration-driven επειδή τα Magento 1 themes συχνά εμφανίζουν τιμές από διαφορετικά templates, blocks και selectors. Ο διαχειριστής μπορεί να προσθέσει selectors και block classes ώστε η απόκρυψη να ταιριάζει στο πραγματικό theme του καταστήματος.
Απαιτεί IOWEB Base, IOWEB Composer Autoloader και τη βιβλιοθήκη masterminds/html5. Προτείνεται έλεγχος σε staging και δοκιμή σε όλες τις βασικές σελίδες προϊόντων, κατηγοριών, widgets και cart-related περιοχές.
User Guide – Hide Prices για OpenMage / Magento 1
Ο οδηγός βασίζεται στον πραγματικό observer/configuration flow του module.
Admin path
System -> Configuration -> IOWEB TECHNOLOGIES -> Hide Prices
Οι ρυθμίσεις είναι διαθέσιμες σε default, website και store scope.
Αρχική ρύθμιση
- Ανοίξτε το Hide Prices configuration.
- Επιλέξτε τα customer groups που θα βλέπουν hidden-price output.
- Επιλέξτε τα block models που παράγουν price ή purchase output στο theme σας.
- Προσθέστε επιπλέον block model classes στο textarea αν χρειάζεται.
- Ορίστε CSS selectors που θα αντικαθίστανται, π.χ.
.price.
- Ορίστε CSS selectors που θα αφαιρούνται, π.χ.
.btn-cart.
- Ορίστε JSON keys που θα αφαιρούνται από JSON output, αν χρειάζεται.
- Ορίστε link text και προαιρετικό link URL.
- Κάντε save, καθαρίστε cache και δοκιμάστε με customer του selected group.
Customer Groups
Επιλέγει τις Magento ομάδες πελατών για τις οποίες θα εφαρμοστεί η απόκρυψη. Το module διαβάζει το group ID από το customer session. Αν το group δεν είναι selected, το block output μένει ως έχει.
Block Models
Επιλέγει τις block classes που θα επεξεργάζεται ο observer. Το module συγκρίνει την πραγματική PHP class του rendered block με τη λίστα των configured classes.
Other Block Model Classes
Προσθέτει επιπλέον block classes χωρισμένες με κόμμα. Χρήσιμο για custom themes και third-party modules.
Παράδειγμα:
Vendor_Module_Block_Product_Price,Vendor_Module_Block_Widget_List
CSS Selectors to Replace
Semicolon-separated selectors. Κάθε matching element αντικαθίσταται από το configured ask-for-price element.
Παράδειγμα:
.price;.regular-price;.special-price;
CSS Selectors to Remove
Semicolon-separated selectors. Κάθε matching element αφαιρείται από το rendered HTML.
Παράδειγμα:
.btn-cart;.add-to-cart;.add-to-links;
JSON Keys to Unset
Semicolon-separated JSON keys. Όταν configured block επιστρέφει JSON, το module αφαιρεί αυτά τα keys recursively.
Παράδειγμα:
price;finalPrice;oldPrice;
Link Text
Το κείμενο που εμφανίζεται στη θέση του replaced selector. Default: Ask for price!
Link URL
Προαιρετικό URL. Αν είναι κενό, δημιουργείται span.io-ask-for-price. Αν έχει τιμή, δημιουργείται a.io-ask-for-price προς το URL.
Testing checklist
- Φτιάξτε test customer στο selected group.
- Ελέγξτε category page, product page, homepage product widgets και cart-related blocks.
- Επιβεβαιώστε ότι οι τιμές αντικαθίστανται με το configured text/link.
- Επιβεβαιώστε ότι τα purchase buttons που δηλώθηκαν αφαιρούνται.
- Αν κάτι μένει ορατό, εντοπίστε το block class και τον CSS selector και προσθέστε τα στις ρυθμίσεις.
- Επαναλάβετε ανά store view όταν υπάρχουν διαφορετικά themes.