ShopFeed (Needs work)
Σημείωση
Κείμενο του 2015, προφανώς δεν ισχύουν κάποια πράγματα, θέλει ενημέρωση.
Το ShopFeed είναι μια μηχανή παραγωγής Feeds για site σύγκρισης τιμών. Αντλεί πληροφορίες από κάθε δυνατό υποσύστημα του Cs-Cart για την παραγωγή με ευελιξία των πληρέστερων feed που μπορούν να εξαχθούν από το κατάστημά σας!

Στη συνέχεια θα δούμε τις ρυθμίσεις και τις λειτουργίες του ShopFeed αναλυτικά.
Βασικές ρυθμίσεις

Path εξαγωγής. Ο φάκελος στον οποίο θα εξάγονται τα feeds. Είναι σχετικός με τον φάκελο που τρέχει το cs-cart. Αν για παράδειγμα τρέχει στον public_html και βάλουμε την τιμή xml_feeds, τότε τα feeds θα εξάγοντε στο φάκελοpublic_html/xml_feeds.Password για cron. Το password που θα χρησιμοποιηθεί στην εντολή στο cron job για να εκτελείτε η εξαγωγή αυτόματα στο server. Η εντολή που πρέπει να οριστεί στο cron είναιphp admin.php --dispatch=shopfeed.run --cron_password=MYPASSόπου τοMYPASSτο ορίζουμε εδώ. Καλό είναι να έχουμε ορίσει password ώστε να μην μπορεί κάποιος να το τρέχει χωρίς την άδεια μας.Feed language. Η γλώσσα εξαγωγής των προϊόντων. Σε περίπτωση που το κατάστημα έχει ενεργοποιημένες περισσότερες της μιας γλώσσας μπορείτε να επιλέξετε τη γλώσσα που θα χρησιμοποιηθεί για την εξαγωγή. Συνήθως είναι τα ελληνικά.Default availability. Η εξορισμού διαθεσιμότητα των προϊόντων αν δεν ορίσουμε διαφορετική σε προϊόν ή κατηγορία. Οι διαθέσιμες τιμές (που είναι όπως τις ορίζει το Skroutz.gr) είναιΣε απόθεμα
1 έως 3 ημέρες
4 έως 7 ημέρες
7+ ημέρες
Κατόπιν Παραγγελίας
Προ-παραγγελία
Να εφαρμοστούν τα promotions; Στον υπολογισμό των τιμών μπορεί να γίνει εφαρμογή και των promotion καταλόγου ώστε οι τιμές στο feed να περιλαμβάνουν τυχόν εκπτώσεις που κάνετε στο κατάστημα σας. Αν όμως, δε χρησιμοποιείτε promotions μην το ενεργοποιείτε, είναι θέμα επιδόσεων του server. Ο υπολογισμός των τιμών με promotions απαιτεί επιπλέον υπολογιστική ισχύ.Τα είδη που έχουν απόθεμα να τα εμφανίζει 'Σε απόθεμα' παρακάμπτοντας τις άλλες επιλογές. Ενεργοποιώντας αυτή την επιλογή, τα προϊόντα που έχουν απόθεμα (εννοείτε ότι κάνουμε χρήση της επιλογής του cs-cart για την παρακολούθηση αποθεμάτων) θα εμφανίζονται «Σε απόθεμα» ανεξάρτητα από τις επιλογές για την διαθεσιμότητα που έχουμε κάνει εδώ είτε σε κατηγορίες είτε σε προϊόντα.Τα είδη που έχουν δεν έχουν απόθεμα να τα εξαιρεί από την εξαγωγή. Μπορούμε να ορίσουμε ένα κατώφλι αποθέματος σε κάθε προϊόν κάτω από το οποίο αυτό δε θα συμπεριλαμβάνετε στην εξαγωγή. Με αυτό τον τρόπο αποφεύγουμε για είδη που έχουν χαμηλή διαθεσιμότητα να είναι μη διαθέσιμα όταν τελικά το feed το διαβάσει και το εμφανίσει το site σύγκρισης τιμών. Η ενημέρωση αυτών γίνεται συνήθως κάθε 2 ώρες οπότε μπορεί να είναι αρκετός χρόνος ώστε το προϊόν να έχει ήδη εξαντληθεί. Στο tab ShopFeed στα προϊόντα βρίσκετε το πεδίο «Ελάχιστο απόθεμα για εξαγωγή» όπου ορίζουμε αυτό το κατώφλι. Ενεργοποιώντας αυτή την επιλογή γίνεται ο έλεγχος του αποθέματος σε σχέση με την τιμή του πεδίου «Ελάχιστο απόθεμα για εξαγωγή».Ο κατασκευαστής απο το feature. Ο κατασκευαστής είναι υποχρεωτική πληροφορία για τα site σύγκρισης τιμών. Για την καταχώρηση του έχουμε 2 επιλογές. Είτε στο πεδίο Κατασκευαστής στην καρτέλα ShopFeed στο προϊόν είτε σε feature του cs-cart. Εαν δε θέλουμε να δείχνουμε τον κατασκευαστή στο κατάστημα μας μπορούμε να καταχωρήσουμε τους κατασκευαστές στα προϊόντα στο πεδίο του ShopFeed. Εαν όμως θέλουμε να τους δείχνουμε στο κατάστημα μας, μπορεί ήδη να τους έχουμε καταχωρήσει στο feature μπορούμε εδώ να επιλέξουμε το feature το οποίο έχει τον κατασκευαστή και έτσι να μη χρειάζεται να γίνει διπλή καταχώρηση.Τα χρώματα είναι στα features(διαφορετικά τα περιμένει στα options). Κάποια site σύγκρισης τιμών, ειδικότερα για ένδυση, ζητούν την παροχή του χρώματος. Το χρώμα μπορεί να είναι είτε σε feature που απλά ενημερώνει το χρήστη για το χρώμα του προϊόντος, είτε σε option δίνοντας τη δυνατότητα στον χρήστη να επιλέξει το χρώμα που θέλει να αγοράσει. Ενεργοποιώντας την επιλογή αυτή το ShopFeed δεν κάνει κάτι για το χρώμα γιατί περιμένει ότι τα χρώματα είναι σε κάποιο από τα features που θα ορίσουμε να εξάγονται. Αν δεν το ενεργοποιήσουμε τότε θα χρησιμοποιήσει το option που θα ορίσουμε ότι είναι χρώμα.MPN from feature. Το πεδίο MPN (κωδικός προϊόντος του κατασκευαστή) είναι υποχρεωτικό για τα site σύγκρισης τιμών. Μπορούμε είτε να καταχωρήσουμε τον MPN στην καρτέλα ShopFeed στο προϊόν, είτε μπορεί να τον έχουμε ήδη καταχωρημένο σε ένα feature του cs-cart. Εδώ μπορούμε να επιλέξουμε το feature αυτό ώστε το ShopFeed να τον διαβάζει από εκεί ώστε να αποφευχθεί η διπλή καταχώρηση.
Χρώμα εμφάνισης κάθε διαθεσιμότητας
Στην καρτέλα Colors στις Βασικές ρυθμίσεις του ShopFeed μπορούμε να ορίσουμε το χρώμα με το οποίο θα εμφανίζεται το λεκτικό της διαθεσιμότητας στο κατάστημα.

Στην τιμή βάζουμε τη δεκαεξαδική τιμή του χρώματος χωρίς το # μπροστά.
Ρυθμίσεις των options
Μπορούμε να ρυθμίσουμε ποιο option είναι το χρώμα και ποιο είναι το μέγεθος.
Στη σελίδα επεξεργασίας του option, υπάρχει το πεδίο Είναι για το shop feed
με επιλογές Κανένα, Χρώμα, Μέγεθος. Το πρώτο σημαίνει ότι το
shopFeed δεν ασχολείστε μαζί του. Το Χρώμα σημαίνει ότι είναι χρώμα
και θα εξαχθεί στο feed στο tag colors. Το τρίο ότι είναι τα διαθέσιμα
μεγέθη και τα ενεργά του variants θα εξαχθούν στο tag size.

Επειδή δε χρησιμοποιούν όλοι μόνο global options μπορεί τα option που μας
ενδιαφέρουν είναι ορισμένα σε κάθε προϊόν. Πράγμα που σημαίνει ότι αυτή
η ρύθμιση μπορεί να χρειαστεί να γίνει σε κάθε προϊόν χωριστά (όσα και
να είναι αυτά). Για τη διευκόλυνση αυτής της εργασίας στο μενού
Προϊόντα -> Shop Feed και πάνω δεξιά στο υπάρχει η επιλογή Διαχείριση feeds
στη σελίδα Διαχείριση Feeds στο επιλέγουμε Ενημέρωση Options. Αυτό είναι
το εργαλείο για τη μαζική ενημέρωση των options με την επιλογή
Είναι για το shop feed.

Όπου στο πεδίο Επιλογές γράφουμε το όνομα του Option, συνήθως δίνουμε
το ίδιο όνομα πχ Μέγεθος, και στο δεύτερο διαλέξουμε την επιλογή που
θέλουμε να γίνει σε όσα option έχουν το όνομα Μέγεθος. Το εργαλείο
θα ενημερώσει όλα τα options (global και προϊόντων) που έχουν το όνομα
Μέγεθος με την επιλογή Είναι μέγεθος.
Ρυθμίσεις των features
Στα feature υπάρχει το πεδίο Κωδικός χαρακτηριστικού στο πεδίο αυτό
μπορούμε να βάλουμε το tag στο οποίο θέλουμε να εξάγεται αυτό το
χαρακτηριστικό.

Για παράδειγμα, πρόσφατα site σύγκρισης τιμών ζήτησε στα ρούχα να εξάγεται
και το φύλο το οποίο αφορά το ρούχο. Για παράδειγμα, αν είναι ανδρικό,
γυναικείο ή unisex. Το shopFeed δε χρειάζεται καμιά αλλαγή για να το κάνει.
Δημιουργούμε ένα feature που το ονομάζουμε Φύλλο, στο πεδίο
Κωδικός χαρακτηριστικού βάζουμε το tag που μας ζήτησαν, sex.
Στα variants ορίζουμε τις πιθανές τιμές, ανδρικό, γυναικείο, παιδικό, unisex.
Στα προϊόντα που εφαρμόζεται ορίζουμε το φύλλο και είμαστε σχεδόν έτοιμοι.
Όπως θα δούμε στη συνέχεια ορίζουμε ότι στο feed του συγκεκριμένου site θέλουμε
να εξάγεται και αυτό το feature και είμαστε έτοιμοι. Καμιά αλλαγή στο ίδιο το
ShopFeed. Με τον ίδιο τρόπο μπορούμε να ορίσουμε όσα features θέλουμε να
εξάγονται για τα προϊόντα μας.
Διαχείριση των Feeds
To ShopFeed μπορεί να εξάγει απεριόριστο αριθμό feeds. Τα περισσότερα site σύγκρισης τιμών χρησιμοποιούν τη μορφή των αρχείων του Skroutz, αλλά μπορεί να θέλουμε σε κάποιο να εξάγεται το Φύλλο για τα ρούχα ή να εξάγονται διαφορετικά προϊόντα στο καθένα. Έχουμε τη δυνατότητα να ορίσουμε και να παραμετροποιήσουμε όσα feeds χρειαζόμαστε.
Στο μενού Προϊόντα -> Shop Feed και πάνω δεξιά στο υπάρχει η επιλογή
Διαχείριση feeds στη σελίδα Διαχείριση Feeds.

Εδώ βλέπουμε όλα τα feeds που έχουν οριστεί. Τα δεδομένα που ορίζουμε σε ένα feed είναι:
Feed. Ένα λεκτικό μοναδικό για κάθε feed, πρέπει να αποτελείτε μόνο από λατινικούς χαρακτήρες και αριθμούς (οι ίδιοι κανόνες που ισχύουν για τα ονομαστά αρχείων χωρίς ελληνικά). Αυτό το αναγνωριστικό χρησιμοποιείτε εσωτερικά για τις εξαιρέσεις κατηγοριών και προϊόντων, γιαυτό καλό είναι αφού έχουμε ορίσει εξαιρέσεις να μην το αλλάξουμε.Τίτλος. Τίτλος που εμφανίζεται σε διάφορα σημεία της διαχείρισης του καταστήματος. Καλό είναι να είναι κάτι περιγραφικό για τον σκοπό του feed. Για παράδειγμα,Αρχείο για Skroutz.Exporter. Exporter είναι η «μηχανή» που θα γράψει το feed στο αρχείο.Όνομα αρχείου. Είναι το όνομα του αρχείου που θα γραφεί το feed. ΔΕΝ προσθέτουμε επέκταση στο όνομα. Την επέκταση θα την προσθέσει o exporter. Για παράδειγμα, αν καταχωρήσουμεskroutz1ο exprter αν παράγει xml, θα προσθέσει την επέκταση.xmlκαι θα είναιskroutz1.xml. Προσοχή! χρησιμοποιούμε μόνο λατινικούς χαρακτήρες,αριθμούς και_.Εξαγωγή των features. Όπως αναφέραμε στις ρυθμίσεις των features μπορούμε να εξάγουμε όποια και όσα features θέλουμε. Εδώ μπορούμε να ορίσουμε ποια από αυτά θα εξάγωντε σε κάθε feed. Για παράδειγμα, το Φύλλο για τα ρούχα τον θέλει μόνο το site A και όχι το siteB, τότε στο feed για το Α θα το επιλέξουμε ενώ στο feed για το Β, όχι.

Η δημιουργία διαφορετικών feed για κάθε site μας δίνει τη δυνατότητα να ορίζουμε ποιες κατηγορίες ή και προϊόντα θα εξαιρούντε σε κάθε ένα από αυτά ξεχωριστά.
Ρυθμίσεις κατηγοριών
Μπορούμε να ορίσουμε αν θα εξαιρείται μια κατηγορία (και οι υποκατηγορίες της) καθώς και την εξορισμού διαθεσιμότητα που θα έχουν τα προϊόντα αυτής (καθώς και των υποκατηγοριών της).
Στην επόμενη εικόνα βλέπουμε την καρτέλα ShopFeed στη σελίδα επεξεργασίας κατηγορίας.

Στο πεδίο Να εξαιρείτε από την εξαγωγή εμφανίζονται όλα τα feed που έχουμε
ορίσει. Έτσι μπορούμε να επιλέξουμε σε ποιο από αυτά θα εξαιρείτε η κατηγορία
(μπορεί να μην εξαιρείται και από καμία).
Στο πεδίο Επιλογή αποθέματος κατηγορίας επιλέξουμε την εξορισμού διαθεσιμότητα
των προϊόντων της κατηγορίας. Έτσι για παράδειγμα αν έχουμε μια κατηγορία
προϊόντων που γνωρίζουμε ότι από τον προμηθευτή μας τα έχουμε σε 1-3 ημέρες,
τότε ορίζουμε στην κατηγορία διαθεσιμότητα 1-3 ημέρες και αυτή ισχύει
για όλα τα προϊόντα της κατηγορίας και των υποκατηγοριών της.
Ας δούμε σχηματικά τι συμβαίνει για να γίνει σαφές. Έστω ο κατάλογος αποτελείτε
από τις κατηγορίες της επόμενης εικόνας. Αν στην κατηγορία 1 ορίσουμε
ότι εξαιρείτε από την εξαγωγή τότε θα εξαιρεθούν και οι υποκατηγορίες της.

Στην περίπτωση της εξορισμού διαθεσιμότητας τα πράγματα είναι λίγο πιο περίπλοκα.
Αν στην κατηγορία 1 ορίσουμε διαθεσιμότητα 1-3 ημέρες, τότε αυτό ισχύει και
για όλες τις υποκατηγορίες της.

Μπορούμε όμως για την κατηγορία 1.1 και τις υποκατηγορίες της να ορίσουμε
διαφορετική διαθεσιμότητα. Αν στην Κατηγορία 1.1. ορίσουμε διαθεσιμότητα
Κατόπιν Παραγγελίας τότε τα προϊόντα της 1.1 και της υποκατηγορίας της θα
έχουν διαθεσιμότητα Κατόπιν Παραγγελίας. Η ρύθμιση αυτή νικάει
τη ρύθμιση της μαμάς κατηγορίας.

Βλέπουμε ότι το ShopFeed με λίγο κόπο μας δίνει πολλές δυνατότητες.
Ρυθμίσεις προϊόντος
Στα προϊόντα στην καρτέλα ShopFeed όπως βλέπουμε στην επόμενη εικόνα υπάρχουν αρκετά πεδία.

ΕΑΝ. Είναι το ΕΑΝ ή Barcode του προϊόντος, πληροφορία προεραιτική για τα περισσότερα feed.Κωδικός MPN. Μοναδικός κωδικός κατασκευαστή του προϊόντος. Πεδίο υποχρεωτικό για τα περισσότερα feed. Μπορεί να καταχωρηθεί εδώ ή σε feature όπως αναφέρθηκε στις Βασικές ρυθμίσεις και στις ρυθμίσεις των Feature.Ελάχιστο απόθεμα για εξαγωγή. Είναι το ελάχιστο απόθεμα πάνω από το οποίο πρέπει να έχει το προϊόν για συμπεριληφθεί στην εξαγωγή. Λαμβάνεται υπόψιν μόνο όταν έχει ενεργοποιηθεί από τις Βασικές ρυθμίσεις η επιλογήΤα είδη που έχουν δεν έχουν απόθεμα να τα εξαιρεί από την εξαγωγή.Να εξαιρείτε από την εξαγωγή. Εδώ μπορούμε να επιλέξουμε για το συγκεκριμένο προϊόν αν θα εξαιρείτε από την εξαγωγή σε κάποιο ή κάποια feed.Επιλογή αποθέματος προϊόντος. Εδώ αν αφήσουμε την επιλογήΤο εξορισμούτότε στο προϊόν θα εμφανίζεται η διαθεσιμότητα που έχουμε ορίσει για την κατηγορία που ανήκει ή αν δεν έχει οριστεί στις κατηγορίες η διαθεσιμότητα που έχουμε επιλέξει στις Βασικές Ρυθμίσεις.Κατασκευαστής. Ο κατασκευαστής του προϊόντος. Πληροφορία υποχρεωτική στα περισσότερα site. Στις ρυθμίσεις των features είδαμε πως μπορεί να χρησιμοποιηθεί feature αντί να το καταχωρούμε εδώ.
Εκτέλεση του ShopFeed
Τα site σύγκρισης τιμών διαβάζουν περιοδικά σε γνωστά χρονικά διαστήματα τα feed των καταστημάτων. Αντί να γίνεται η παραγωγή των feed τη στιγμή που μας διαβάζει το site προκαλώντας ανεπιθύμητο φόρτο και καθυστερήσεις στο server μας, το ShopFeed το εκτελούμε με τη χρήση cron jobs. Το πλεονέκτημα είναι ότι το ShopFeed μαζεύει τα δεδομένα μια φορά και στη συνέχεια γράφει τα αρχεία για κάθε feed. Η εργασία που προκαλεί το φόρτο στο server είναι η συγκέντρωση των δεδομένων, την οποία το shopFeed κάνει μια φορά ανεξάρτητα από τα πόσα feed θα παραχθούν. Όλες οι διαδικασίες είναι βελτιστοποιημένες για τον ιδανικό συνδυασμό ταχύτητας και φόρτου στο server. Έτσι για να εκτελείτε κάθε 2 ώρες η παραγωγή των feed ο διαχειριστής του server πρέπει να ορίσει ένα cron job που να εκτελεί την επόμενη εντολή.
php admin.php --dispatch=shopfeed.run --cron_password=MY_PASS
όπου MY_PASS είναι το password που έχουμε ορίσει στις βασικές ρυθμίσεις.
ShopFeed log
Κάθε φορά που εκτελείτε η μηχανή και παράγει feeds κάνει μια εγγραφή στο
log ώστε να μπορούμε οποιαδήποτε στιγμή να δούμε αν έτρεξε και τι feeds παρήγαγε.
Από το μενού Προϊόντα -> ShopFeed οδηγούμαστε στο ShopFeed log.
Μπορούμε επίσης παλιότερες εγγραφές να τις διαγράψουμε χωρίς σκέψη
μιας και είναι μόνο για δική μας πληροφόρηση. Στην επόμενη εικόνα
βλέπουμε ένα πραγματικό log.

FrontEnd
Τέλος, περιλαμβάνετε hook που δείχνει στα προϊόντα τη διαθεσιμότητα που έχουμε ορίσει να εξάγεται τελικά στα feed ώστε όπως πρέπει να είναι ίδια αυτή που δείχνουμε στο κατάστημα μας με αυτή που δίνουμε στα site.

Εκτός από τη σελίδα του προϊόντος εμφανίζεται και στα προϊόντα κατηγορίας, φυσικά στα layout που εμφανίζουν τη διαθεσιμότητα.

Υποστηριζόμενα format feed
To do
Μεταφράσεις
To do
shopFeed_avail_opt0: Το εξορισμούshopFeed_avail_opt1: Σε απόθεμαshopFeed_avail_opt2: 1 έως 3 ημέρεςshopFeed_avail_opt3: 4 έως 7 ημέρεςshopFeed_avail_opt4: 7+ ημέρεςshopFeed_avail_opt5: Κατόπιν ΠαραγγελίαςshopFeed_avail_opt6: Προ-παραγγελία