Forum Replies Created

Viewing 15 replies - 1 through 15 (of 96 total)
  • Plugin Author Theo Gkitsos

    (@theogk)

    Ok thanks! Aφησε μία αξιολόγηση αν θες.

    Plugin Author Theo Gkitsos

    (@theogk)

    Στα περισσότερα προϊόντα δεν βρήκα να υπάρχει μέγεθος.

    Το μόνο προϊόν που πέτυχα με μέγεθος είναι το μεταβλητό: https://ontopouloscosmetics.gr/shop/aromata/arwmata-tupou/xuma-gunaikeia/%cf%84%cf%85%cf%80-addict-dior/

    Σε αυτό βλέπω ότι το μέγεθος είναι περασμένο με custom ιδιότητα και όχι taxonomy (global). Αυτός δεν είναι ο σωστός τρόπος να δημιουργούνται παραλλαγές. Όταν θες να κάνεις παραλλαγή, πρέπει να φτιάξεις το μέγεθος σε global attribute (Products -> Attributes -> Add new attribute) https://prnt.sc/TpuuXCvA1tVf , και μετά στο προϊόν να επιλέξεις το global attribute (https://prnt.sc/pPenoCn9HjgU), και όχι custom/χειροκίνητο attribute.

    To Woo σε αφήνει να δημιουργήσεις παραλλαγές και με custom attribute αλλά αυτό θα σου δημιουργήσει πολλά προβλήματα με πολλά plugins γιατί δεν υποστηρίζεται από κανέναν. Ούτε εγώ σκοπεύω να υποστηρίξω custom attributes γιατί είναι πολύ προβληματική περίπτωση, και δεν είναι και ο προβλεπόμενος τρόπος δημιουργίας παραλλαγής έτσι κι αλλιώς.

    Α) Δοκίμασε να αλλάξεις ένα μεταβλητό και να το φτιάξεις όπως σου είπα και δες αν θα περαστεί σωστά στο XML. Για να καταλάβουμε αν όντως φταίει αυτό.

    Β) Υπάρχει κάποιο άλλο προϊόν ως παράδειγμα που έχει κανονικά περισμένο το μέγεθος με Global attribute και πάλι δεν εμφανίζεται σωστά στο XML. Πες μου σε παρακαλώ το ID του ή το link του.

    Γ) Αν μπορείς απάντησέ μου και στην προηγούμενη ερώτηση, εάν έχεις προσθέσει κάποιο customization χειροκίνητα πάνω στο XML

    Ευχαριστώ

    Plugin Author Theo Gkitsos

    (@theogk)

    Καλημέρα, δεν φαίνεται φυσιολογικό αυτό. Έχετε κάνει μήπως κάποιο customization για το feed;

    Αν μπορείτε στείλτε μου το Link του XML σας για να το ρίξω μια ματιά κι εγώ

    Ευχαριστώ

    Plugin Author Theo Gkitsos

    (@theogk)

    Ναι σωστά, αφού έχεις variations θα πρέπει να χρησιμοποιήσεις και τα 2 φίλτρα.

    Πρόσεξε όμως, αφού θες να χρησιμοποιήσεις το sku ως unique_id, θα πρέπει να έχεις sku σε όλα τα προϊόντα, και στις παραλλαγές, αλλιώς ενδεχομένως να εμφανιστούν διπλότυπα SKUs σε κάποιες περιπτώσεις πχ αν έχεις παραλλαγές με χρώματα. Γενικά το plugin θα εμφανίσει ότι βρει διαθέσιμο, οπότε εσύ πρέπει να φροντίσεις να έχει σωστά data κάθε προϊόν.

    Επίσης το fallback με το id (αν δεν υπάρχει sku) είναι σωστό, αλλά υπάρχει κι εκεί μια παγίδα. Αν καταχωρηθεί αρχικά το προϊόν στον skroutz με το ID του και στο μέλλον προσθέσεις sku, τότε στην ουσία θα αλλάξει στο unique_id και ο skroutz θα σου πετάξει εκτός το προϊόν. Εγώ προσωπικά αν κάποιο προϊόν δεν έχει sku θα το πετούσα εκτός xml για να μην είχα θέμα ποτέ, και δεν θα έβαζα fallback στο ID.

    Οπότε ξαναγράφω το συμπέρασμα, αν πας με sku, φρόντισε να έχουν όλα τα προϊόντα sku και θα είσαι οκ.

    Plugin Author Theo Gkitsos

    (@theogk)

    Καλησπέρα, κυκλοφόρησα νέο version που υποστηρίζει το YITH Brands Addon. Τώρα θα μπορείς να το επιλέξεις ως πηγή του manufacturer στις ρυθμίσεις του plugin.

    Δοκίμασέ το και πες μου αν είναι οκ.

    Επίσης, στην προηγούμενη απάντηση μπερδεύτηκα και έγραψα κάτι λάθος. Μπορείς να επιλέξεις περισσότερες πηγές για το Manufacturer, οπότε στο πεδίο των ρυθμίσεων επίλεξε και το YITH και το attribute που θες.

    Το plugin τα διαβάζει με τη σειρά που τα περνάς, ψάχνει να βρει ποιο έχει περασμένο brand και κρατάει το πρώτο που θα βρει. Εάν δεν βρει περασμένο πχ στο YITH, προχωράει στο επόμενο δηλαδή στο attribute. Εάν δεν βρει ούτε εκεί, τότε γράφει “ΟΕΜ”. Οπότε πιστεύω θα σε καλύψει πλήρως με το υπάρχον setup σου.

    Θα εκτιμούσα εάν άφηνες μια αξιολόγηση, ευχαριστώ!

    Θοδωρής

    Plugin Author Theo Gkitsos

    (@theogk)

    Γεια σου Δήμητρα,

    Α) αναφέρεις το πεδίο _wpm_gtin_code, άρα εννοείς custom field μάλλον; Αν είναι custom field, θα πρέπει να χρησιμοποιήσεις την $product->get_meta('_wpm_gtin_code'), και όχι την get_attribute που χρησιμεύει για ιδιότητες. Δοκίμασε αυτό και πες μου.

    Β) Πρώτον, το Plugin δεν μπορεί να τραβάει το brand από 2 διαφορετικές πηγές, θα πρέπει να επιλέξεις μία μέσω των ρυθμίσεων. Αν θες 2 πηγές, θα πρέπει να επιλέξεις μία από αυτές στις ρυθμίσεις, πχ το attribute Brand, και μετά να χρησιμοποιήσεις το αντίστοιχο φίλτρο dicha_skroutz_feed_custom_manufacturer ώστε όταν έρχεται κενό (δηλαδή όταν δεν υπάρχει αυτό το attribute) να δοκιμάζει να το τραβήξει από το YITH.

    Επίσης μια καλή ιδέα θα ήταν να μην έχεις γενικότερα το brand σε 2 σημεία γιατί θα σου δημιουργήσει κι άλλα προβλήματα γενικά στο eshop, άσχετα με το skroutz. Στη θέση σου θα τα μετέφερα όλα σε ένα από τα δύο.

    Δεύτερον, σχετικά με το yith brands plugin, δεν υπάρχει ως τώρα συμβατότητα με το plugin μας γιατί δεν μου το είχε ζητήσει κανείς. Αν μπορείς στείλε μου το zip του plugin με ένα wetransfer στο [email protected] ώστε να δω τον κώδικά του και να βγάλω συμβατότητα και να εμφανίζεται ως επιλογή στο setting που επιλέγεις την πηγή του brand.

    Σε ευχαριστώ

    Plugin Author Theo Gkitsos

    (@theogk)

    Καλησπέρα, σε ευχαριστώ για τα θετικό σου feedback. Χαίρομαι που σου άρεσε το plugin.

    Από τη στιγμή που θες άλλες τιμές για Skroutz κι άλλες για Bestprice, εξ ορισμού δεν μπορείς να χρησιμοποιήσεις το ίδιο feed. Θα πρέπει να δημιουργείς 2 ξεχωριστά feeds για κάθε πλατφόρμα.

    Αυτό είναι εφικτό με το plugin μας, αλλά δεν γίνεται μέσω ρυθμίσεων, θα χρειαστεί να σετάρεις ένα επιπλέον cron (άρα θα έχεις 2, ένα για κάθε πλατφόρμα) και να γράψεις λίγο κώδικα σε μορφή snippet.

    Μπορείς να συμβουλετείς μια καινούρια ενότητα που πρόσθεσα πρόσφατα στον οδηγό για Developers με τίτλο “Δημιουργία πολλαπλών XML για διαφορετικά marketplaces”. Ακολούθα τις οδηγίες και θα καταφέρεις να δημιουργήσεις διαφορετικά feeds. Στη συνέχεια, μπορείς να χρησιμοποιήσεις το φίλτρο παραμετροποίησης της τιμής dicha_skroutz_feed_custom_price και μέσω της τελευταίας παραμέτρου $feed_type θα μπορέσεις να βάλεις άλλη τιμή στο bestprice, πχ την original, ή ακόμα και να δημιουργήσεις ένα δικό σου custom field για “BestPrice price” και να φορτώσεις αυτήν στο bestprice xml μέσω του φίλτρου. Το $feed_type θα έχει διαφορετική τιμή (‘skroutz’ ή ‘bestprice’), ανάλογα το feed σου.

    Ελπίζω να βοήθησα. Αν χρειαστείς κάτι άλλο, ξαναστείλε μου. Αν κολλήσεις κάπου στις οδηγίες, ενημέρωσέ με για να τις γράψω πιο αναλυτικά.

    Σε ευχαριστώ

    Plugin Author Theo Gkitsos

    (@theogk)

    Γιατί να τρέχει κάθε 10 λεπτά όμως το συγκεκριμένο; Αφού ο skroutz το τραβάει ανά μία ώρα, περίπου στις ακριβώς (μπορείς να δεις μέσα στο skroutz merchants τι ώρα ακριβώς το τραβάει). Τζάμπα απασχολείς τον server αν το δημιουργείς πιο συχνά. Εκτός αν μιλάς γενικά, τότε οκ.

    Καλά το σκέφτηκες, εφόσον σε απασχολεί το location μπορείς να το αλλάξεις όπως σου είπα. Πρόσθεσα σήμερα αναλυτικό παράδειγμα στο documentation πώς να αλλάξεις το όνομα του αρχείου, αλλά και το folder. Οπότε αν θέλει κάποιος, μπορεί να το αλλάξει σε κάτι που τον βολεύει.

    Καλή συνέχεια! Ευχαριστώ

    Plugin Author Theo Gkitsos

    (@theogk)

    Καλησπέρα Lyk, αυτό που περιγράφεις για το log cleanup του Woo ακούγεται σαν bug του ίδιου του Woo. Εάν είσαι σίγουρος ότι συμβαίνει, μπορείς να τους ανοίξεις ένα ticket ώστε να διορθωθεί για όλους μας.

    Τώρα σχετικά με το δικό μας plugin, οκ θα μπορούσε να είναι μια επιλογή να γράφονται στο ίδιο αρχείο. Ο λόγος που γράφονται σε ξεχωριστά αρχεία είναι για να είναι κάπως πιο ξεκάθαρα, και επιπλέον εάν ενεργοποιήσεις το πιο αναλυτικό log το αρχείο μπορεί να γίνει υπερβολικά μεγάλο και δυσανάγνωστο εάν περιέχει πολλά runs στο ίδιο file. Υπο φυσιολογικές συνθήκες καταλαβαίνω ότι ίσως βολεύει περισσότερο το single file. Υπό φυσιολογικές συνθήκες βέβαια, θα έσβηνε σωστά τα αρχεία το Woo οπότε δεν θα υπήρχε και πρόβλημα! Θα το βάλω στη λίστα μου μήπως και το κάνω, ή έστω να δώσω μια επιλογή να το ενεργοποιήσει κάποιος αν θέλει μέσω filter.

    Για το filename του αρχείου: Αν θες απλά να αλλάξεις το filename, δεν είναι ο σωστός τρόπος να γίνει από την παράμετρο --type. Ο σωστός είναι με το φίλτρο dicha_skroutz_feed_custom_xml_filename όπου θα βάλεις το όνομα του αρχείου που θες (χωρίς κατάληξη .xml) πχ για να γράφει στο “products.xml”:

    add_filter( 'dicha_skroutz_feed_custom_xml_filename', function(){ return 'products'; } );

    Εάν χρησιμοποιήσεις αυτόν τον τρόπο, τα links θα προσαρμοστούν αυτόματα και θα δείχνουν το σωστό αρχείο. Δοκίμασέ το και πες μου.

    Η παράμετρος --type σου αλλάζει το όνομα του αρχείου μεν, αλλά η χρησιμότητά της είναι εντελώς διαφορετική στην πραγματικότητα. Χρησιμοποιείται μόνο αν θες να φτιάξεις πολλαπλά feeds για διαφορετικές πλατφόρμες. Πχ το default είναι skroutz.xml (εάν δεν συμπληρώσεις την παράμετρο type), αλλά εκτός από αυτό, μπορείς να ξανατρέχεις την εντολή με πχ --type=bestprice ώστε να δημιουργήσει ένα 2ο feed ως bestprice.xml, οπότε έτσι θα έχεις 2 ξεχωριστά αρχεία με πιθανώς διαφορετικές ρυθμίσεις. Οι ρυθμίσεις ή τα πεδία του XML μπορούν προς το παρόν να αλλάξουν για το 2ο feed μόνο μέσω των filters του documentation, χρησιμοποιώντας την τελυταία παράμετρο $feed_type που υπάρχει σε όλα τα φίλτρα, και παίρνει την τιμή που θα εισάγεις στο --type κατά την εκτέλεση. Οπότε με το $feed_typeμπορείς να προσαρμόσεις τι εμφανίζεται στο 2o xml.

    Ελπίζω να μην σε μπέρδεψα και να βοήθησα.

    Plugin Author Theo Gkitsos

    (@theogk)

    Καλησπέρα, υπάρχει επιλογή αν θες να συμπεριλάβεις τα προϊόντα που είναι σε προπαραγγελία, αλλά στον Skroutz δεν μπορείς να στείλεις διαθεσιμότητα “Προπαραγγελία”, γιατί δεν το δέχεται ως επιλογή. Στο XML ένα προϊόν πρέπει να έχει αυστηρά μία από τις παρακάτω διαθεσιμότητες:

    • Άμεσα διαθέσιμο
    • Διαθέσιμο από 1 έως 3 ημέρες
    • Διαθέσιμο από 4 έως 6 ημέρες
    • Διαθέσιμο από 7 έως 12 ημέρες

    Οπότε συνήθως προϊόντα σε προπαραγγελία που δεν μπορείς να παραδώσεις μέσα σε 12 μέρες, πρέπει να τα αφήνεις εκτός XML. Εάν αποφασίσεις να τα συμπεριλάβεις, τότε θα πρέπει να παραμετροποιήσεις λίγο το XML για να εμφανίζει τη διαθεσιμότητα που επιθυμείς.

    Custom διαθεσιμότητα μόνο για προϊόντα σε προπαραγγελία

    Αν θες να θέσεις διαθεσιμότητα ‘Διαθέσιμο από 7 έως 12 ημέρες’

    add_filter( 'dicha_skroutz_feed_custom_availability', 'dc_custom_backorder_availability', 10, 2 );
    function dc_custom_backorder_availability( $availability_text, $product ) {
    if ( $product->is_on_backorder( 1 ) ) {
    return 'Διαθέσιμο από 7 έως 12 ημέρες';
    }

    return $availability_text;
    }

    Custom ποσότητα για τα προϊόντα σε προπαραγγελία

    Αν θες να αλλάξεις τη διαθέσιμη ποσότητα στον Skroutz (υποχρεωτικά πρέπει να στείλεις ποσότητα). Το default είναι 5 για τα backorders. Με τον παρακάτω κώδικα μπορείς να το κάνεις ό,τι θες, πχ 1.

    add_filter( 'dicha_skroutz_feed_default_qty_for_products_on_backorder', 'dc_custom_backorder_qty' );
    function dc_custom_backorder_qty() {
    return 1;
    }

    Ελπίζω να βοήθησα

    Plugin Author Theo Gkitsos

    (@theogk)

    Οκ αυτό είναι το cron του WP. Το cron που έβαλες για το skroutz γράψε μου. Ακολούθησες τις οδηγίες της ενότητας “Δημιουργία XML μέσω server cron” στο documentation?

    Plugin Author Theo Gkitsos

    (@theogk)

    Καλημέρα, είσαι σίγουρος ότι έχει μπει σωστά το cron στον server; Αυτή είναι η πιο πιθανή αιτία, από τη στιγμή που δεν καταγράφεται κάποιο error, ούτε κάποιο log, οπότε είναι σαν να μην εκτελείται καθόλου. Αν θες γράψε μου το cron command για να ρίξω μια πρώτη ματιά.

    Plugin Author Theo Gkitsos

    (@theogk)

    Ωραίος! Ευχαριστώ.

    Χαιρετώ,
    Θοδωρής

    Plugin Author Theo Gkitsos

    (@theogk)

    Υπάρχει πεδίο για το EAN, δεν είναι αυτός ο λόγος. Σωστό είναι αυτό που έκανες για το MPN, το ίδιο πράγμα ακριβώς πρέπει να κάνεις για το EAN και θα δουλέψει.

    Για να σου βγάζει fatal κάποιο λάθος κάνεις στην php. Άνοιξε το debug.log για να δεις. Πιθανώς έχεις κρατήσει το ίδιο όνομα στη συνάρτηση του φίλτρου που δεν επιτρέπεται, ή έχεις βάλει 4 παραμέτρους στο φίλτρο του EAN ενώ έχει 3.

    Αν δεν το βρεις μόνος σου, στείλε μου τον κώδικα του EAN που δεν δουλεύει και τι fatal σου γράφει το debug.log για να μπορέσω να σε βοηθήσω παραπάνω.

    Plugin Author Theo Gkitsos

    (@theogk)

    Καλησπέρα Χρήστο, αυτός που ανέφερες είναι ο σωστός τρόπος.

    Χρησιμοποιείς τα φίλτρα dicha_skroutz_feed_custom_mpn και dicha_skroutz_feed_custom_ean. Δεν είναι για συγκεκριμένα προϊόντα μόνο, μπορείς να το εφαρμόσεις σε όλα. Στην ουσία, για κάθε προϊόν θα αντικαθιστάς το mpn με το δικό σου mpn που έχεις αποθηκευμένο στο attribute. Θα σε καλύψει πλήρως αυτή η προσέγγιση, δεν χρειάζεται να αλλάξεις τίποτα στη βάση σου.

    To $product object είναι διαθέσιμο στο φίλτρο, οπότε για να βρεις το δικό σου MPN μπορείς να γράψεις απλά $product->get_attribute( 'pa_mpn'); (αντικατάστησε το pa_mpn με το δικό σου attribute slug).

    Αν δεν τα καταφέρεις, γράψε μου το snippet που γράφεις για να σου πω αν είναι σωστό.

    Χαιρετώ

Viewing 15 replies - 1 through 15 (of 96 total)