Jump to content

Ελληνικά urls


KostasX
 Share

Recommended Posts

Αυτό το module σας δίνει τη δυνατότητα να χρησιμοποιήσετε ελληνικούς χαρακτήρες στα urls.

 

Έχει δοκιμαστεί από την έκδοση 1.4.4.1 και πάνω. Πολύ πιθανό να δουλεύει σε όλες τις εκδόσεις 1.4, αλλά δεν το έχω δοκιμάσει.

 

Για να δουλέψει χρειάζονται και κάποιες αλλαγές σε συγκεκριμένα αρχεία του prestashop.

Το αρχείο οδηγιών υπάρχει και μέσα στο zip του module, αλλά το δίνω και ξεχωριστά. Οι οδηγίες είναι στα Αγγλικά :P

 

Μπορείτε να το χρησιμοποιείσετε σε συνδιασμό και με το Module για τη μετάφραση του backoffice που θα βρείτε εδώ.

greekurls.zip

installation.txt

greekurls_new.zip

  • Like 3

Share this post


Link to post
Share on other sites

  • 2 months later...
  • 3 weeks later...

Πολυ καλή προσπάθεια , έχουμε όμως προβλημα με τα url και συγκεκριμένα στα νούμερα. Για κάποιο λόγο υπάρχει πρόβλημα με τα νούμερα 3 (τρία) και 0 (μηδέν) . Μόλις ένα url περιέχει αυτά τα νούμερα τα μετατρέπει σε γράμματα "u" και χαλάει το αποτέλεσμα ...

 

(Εχουμε έκδοση Prestashop 1.4.3)

Share this post


Link to post
Share on other sites

Πολυ καλή προσπάθεια , έχουμε όμως προβλημα με τα url και συγκεκριμένα στα νούμερα. Για κάποιο λόγο υπάρχει πρόβλημα με τα νούμερα 3 (τρία) και 0 (μηδέν) . Μόλις ένα url περιέχει αυτά τα νούμερα τα μετατρέπει σε γράμματα "u" και χαλάει το αποτέλεσμα ...

 

(Εχουμε έκδοση Prestashop 1.4.3)

 

Κατ' αρχήν θα ήθελα να ζητήσω συγγνώμη για τη καθυστέρηση στην απάντηση.

 

Το θέμα είναι γνωστό και έχει λυθεί, αλλά δεν ανέβηκε η διόρθωση γιατί... το ξέχασα :-)

Ανέβασα το διορθωμένο zip.

Share this post


Link to post
Share on other sites

  • 4 weeks later...

KostasX, αψογο module.

To μονο που αλλαξα για την 1.4.6.2 εκδοση που εχω είναι, βαση των οδηγιων σου στο greekurls_new.zip, αντι για 'replaceAcceptedChars' ειναι 'replaceAccentedChars'.

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Εχω την εκδοση 1.4.8.2 εκανα τις αλλαγες εκτός απο

 

2. Core Changes

a) controllers/CategoryController.php δεν βρηκα το string που ανεφερεται

αλλα δουλεψε τέλεια.

Share this post


Link to post
Share on other sites

Tι ακριβως ειναι αυτο? να λεει το ονομα του σαιτ και μετα την ονομασια του προιοντος στα ελληνικα?

Share this post


Link to post
Share on other sites

ναι ! δες αυτο

http://www.me-to-kal...λ-κομπολοι.html

 

Πρόσεξε ομως !!!

Κανε backup τη βαση σου πριν ξεκινησεις, κράτα λεπτομερη αναφορά σε ποιό αρχείο κανεις αλλαγές

και ο,τι αλλαξεις μην το διαγραψεις απο τον server. Ετσι ωστε αν γινει κατι που δεν πρεπει, να εχεις την δυνατοτητα να τα επαναφέρεις.

Μεσα στο installation.txt αναφερει τον τρόπο που γίνεται, αλλα ειναι σε διαφορετική έκδοση απο την δικια μου (εγω εχω την 1.4.8.2 ), οποτε θελει λίγο ψαξιμο.

Edited by Athinodoros (see edit history)

Share this post


Link to post
Share on other sites

  • 3 months later...

Καλημέρα,

Είμαι σε 1.4.9 και έχω πρόβλημα. Links κατηγοριών με ελληνικά είναι ΟΚ οτιδήποτε άλλο δεν παίζει.

Ανεβάζω το .htaccess. Ευχαριστώ εκ των προτέρων!

htaccess.txt

Share this post


Link to post
Share on other sites

Καλημέρα, Είμαι σε 1.4.9 και έχω πρόβλημα. Links κατηγοριών με ελληνικά είναι ΟΚ οτιδήποτε άλλο δεν παίζει. Ανεβάζω το .htaccess. Ευχαριστώ εκ των προτέρων!

 

Στο αρχείο greekurls_new.zip υπάρχει άλλο αρχείο οδηγιών για τις αλλαγές που πρέπει να γίνουν σε αρχεία νεότερων εκδόσεων σαν τη δική σου. Αν ακολούθησες κανονικά τις οδηγίες για τη καινούρια έκδοση, τότε δοκίμασε τα εξής:

 

1. Απεγκατέστησε το Module

2. Άδειασε τελείως το αρχειο .htaccess

3. Πηγαινε στα Εργαλεία->Γεννήτριες (Tools->Generators) και φτιάξε ένα καινούριο, καθαρό .htaccess αρχείο

4. Ξανακάνε εγκατάσταση το module

Share this post


Link to post
Share on other sites

Είχα ακολουθήσει τα βήματα για τις καινούριες εκδόσεις και τα ξανατσέκαρα. Ακολούθησα και τα παραπάνω βήματα + clear cache και τίποτα. Δουλεύουν οι κατηγορίες και τα προϊόντα αλλά τα υπόλοιπα όχι (404, για την ακρίβεια /σελίδα-δεν-βρέθηκε).

Μήπως να αφαιρέσω και το greektabs;

Edited by NikosR (see edit history)

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Το διόρθωσα αφαιρόντας το switch L από

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

στο .htaccess μου.

Διάβασα εδώ, http://stackoverflow.com/questions/12141651/module-rewrite-rules-from-prestashop-generator.

Τελικά τα rewrites δεν δουλεύανε και στα αγγλικά.

Άρα τα modules του KostasX δουλευουν μια χαρά και στην 1.4.9, όπως με ενημέρωσε!

Share this post


Link to post
Share on other sites

  • 4 weeks later...

KostasX

Καταρχήν θα ήθελα να σε ευχαριστήσω που μύρωσες στην κοινότητα την δουλειά σου!

 

Τώρα, θα ήθελα να σε ρωτήσω αν έχεις καταφέρει να μεταφράσεις και τα modules που εμφανίζονται στο frond office! Μιας και πλέον το google api translator δεν είναι διαθέσιμο στην free έκδοση του, να τα μεταφράσεις όλα αυτά είναι μεγάλο μανίκι!

 

Και πάλι, σε ευχαριστώ!

Share this post


Link to post
Share on other sites

Δυστυχώς, σε ότι έχει να κάνει με τις μεταφράσεις θα πρέπει να "λιώσεις πληκτρολόγια"... :(

 

Αλλιώς αγοράζεις κάποιο module με το νέο API του Google Translate και παίζεις με την αυτόματη μετάφραση. (Το PrestoChangeo έχει νομίζω ένα καλό module).

Share this post


Link to post
Share on other sites

Ναι το έχω βρει το PrestoChangeo, αλλά δυστυχώς και αυτό δεν είναι free!

Οπότε όπως είπες θα λιώσω στο copy – paste!

 

Επίσης, υπάρχει ένα module της bing το οποίο

το ψάχνω αυτόν τον καιρό να δω τι παίζει! Άμα βρω άκρη θα ενημερώσω

Share this post


Link to post
Share on other sites

Στις εκδόσεις 1.5.x υπάρχει εγγενής υποστήρηξη unicode χαρακτήρων, οπότε δεν χρειάζεται να χρησιμοποιήσεις το module.

 

Στην ουσία, από τις εκδόσεις 1.5.x το module είναι άχρηστο (ευτυχώς :) )

  • Like 1

Share this post


Link to post
Share on other sites

  • 3 months later...

Καλημέρα Κώστα.

 

Μήπως έχεις κανένα module για ελληνικά URL για την έκδοση 1.5.3.1?

Θα μας έκανες πολύ χαρούμενους.

 

Έχω δοκιμάσει το παρακάτω άρθρο αλλά δεν κάνει τίποτα.

http://doc.prestashop.com/display/PS15/Handling+special+characters+in+links

 

Δεν ξέρω αν κάνω κάποιο λάθος αλλά δεν γράφει ελληνικά στο Friendly URL με τίποτα.

Μόνο "Friendly" δεν είναι......

Share this post


Link to post
Share on other sites

Καλημέρα Κώστα.

 

Μήπως έχεις κανένα module για ελληνικά URL για την έκδοση 1.5.3.1?

Θα μας έκανες πολύ χαρούμενους.

 

Έχω δοκιμάσει το παρακάτω άρθρο αλλά δεν κάνει τίποτα.

http://doc.prestasho...acters+in+links

 

Δεν ξέρω αν κάνω κάποιο λάθος αλλά δεν γράφει ελληνικά στο Friendly URL με τίποτα.

Μόνο "Friendly" δεν είναι......

 

Θα ακολουθήσεις το tutorial αλλά αντί για

\p{Kmer}

θα βάλεις

\p{Greek}

  • Like 1

Share this post


Link to post
Share on other sites

Θα ακολουθήσεις το tutorial αλλά αντί για

\p{Kmer}

θα βάλεις

\p{Greek}

Κώστα ξέχασα να στο πω. Το έβαλα ήδη αλλά δεν έγινε τίποτα. Το έχεις δοκιμάσει εσύ? Δούλεψε?

Νομίζω ότι κάνω λάθος στην "Dispatcher Class" Την βάζω στο φάκελο override όπως τα άλλα δύο?

Share this post


Link to post
Share on other sites

Δεν το έχω δοκιμάσει στη συγκεκριμένη έκδοση, αλλά αυτές ήταν και οι αλλαγές που είχα κάνει στο Module για το 1.4.x

 

Για να κάνεις override μια κλάση τη βάζεις στο φάκελο ovveride/ και μετά στον αντίστοιχο φάκελο που βρίσκεται ήδη.

 

π.χ. για το Validate.php θα αντιγράψεις το αρχείο /classes/Validate.php στο φάκελο /override/classes/Validate.php και σε αυτό το αρχείο θα κάνεις τις αλλαγές που χρειάζεσαι.

 

Μπορείς να δείς και εδώ για περισσότερες λεπτομέρειες.

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Ευχαριστώ και εγώ με τη σειρά μου για τα ελληνικά. Εγκατάσταση το _new σε 1.4.9 και όλα καλά εκτός από το 3 και το 0 όπου μου βγάζει u. Δυστυχώς έχω αρκετά προϊόντα με το 3 στην ονομασία. Απεγκατέστησα, καθάρισα, επανεγκατέστησα κλπ αλλά δεν το βλέπω. Αν κάποιος γνωρίζει καλοδεχούμενος. Ανεβάζω και htaccess μήπως χρειάζεται.

Φιλικούς χαιρετισμούς

.htaccess1.zip

Share this post


Link to post
Share on other sites

Επιτέλους βρήκα κάτι. Πρόσθεσα ένα \ στη 40 στο js greekurl στο new και τώρα δουλεύει μια χαρά. Χαιρετισμούς σε όλους.

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Παιδια μικρό προβληματάκι με την εκδοση 1.43. Δε μπορω να δω τις εικονες μετά τη τελευταία αλλαγή:

 

Τι μπορεί να παίζει ;

http://www.digitfort.gr

 

Υποψη Δεν έκανα το τελευταίο βήμα στο

 

f) classes/Tools.php

 

Add the following lines in function replaceAcceptedChars before return $str; arround line 1012:

 

γιατι απλα δεν υπαρχει τετοια παραμετρος...

 

Καμια βοήθεια ;

 

 

Και επίσης το προβλημα με 3 και 0 ...λύθηκε χάρη στον TasosB ;)

Edited by johnnyy1908 (see edit history)

Share this post


Link to post
Share on other sites

Κοίταξε τα δικαιώματα στο φάκελο που έχεις τις εικόνες των προϊόντων.

Τα τσεκαρα και φαινονται σωστα.. Καμια διαφορά σε ότι και αν δοκίμασα; Καμία αλλη ιδέα ή να γυρίσω πάλι στα αγγλικά url ?

Share this post


Link to post
Share on other sites

Έτσι κ αλλιώς τα προϊόντα που έχεις στην αρχική σελίδα έχουν αγγλικά urls. Το πρόβλημα είναι με τις εικόνες των προϊόντων, αφού οι εικόνες των κατηγοριών φαίνονται σωστά.

Οι εικόνες των προϊόντων σου δεν φαίνονται ούτε καν στο κανονικό path που βρίσκονται.

π.χ. η βασική εικόνα της κατηγορίας ΚΕΝΤΡΑ ΣΥΝΑΓΕΡΜΟΥ είναι αυτή http://www.digitfort.gr/img/c/8.jpg, η οποία εμφανίζεται κανονικά.

 

Στο προϊόν Συναγερμός σπιτιού Paradox, η διαδρομή της βασικής εικόνας είναι αυτή http://www.digitfort.gr/img/p/269.jpg, η οποία δεν εμφανίζεται κανονικά και δεν σε κάνει redirect (αυτό θα ήταν πρόβλημα του module ή το htaccess). Απλά είναι λευκή σελίδα, χωρίς κάποιο σφάλμα.

 

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

Share this post


Link to post
Share on other sites

  • 3 years later...

Για την εκδοση 1.6.1.4 βρηκα το documentation λιγο outdated

 

Στην περιπτωση μου έκανα overide την κλαση Tools.php ως εξης:

 

/*** updated gerasimosa greekurls
   */
public static function str2url($str)
    {
        static $array_str = array();
        static $allow_accented_chars = null;
        static $has_mb_strtolower = null;
 
        if ($has_mb_strtolower === null) {
            $has_mb_strtolower = function_exists('mb_strtolower');
        }
 
        if (isset($array_str[$str])) {
            return $array_str[$str];
        }
 
        if (!is_string($str)) {
            return false;
        }
 
        if ($str == '') {
            return '';
        }
 
        if ($allow_accented_chars === null) {
            $allow_accented_chars = Configuration::get('PS_ALLOW_ACCENTED_CHARS_URL');
        }
 
        $return_str = trim($str);
 
        if ($has_mb_strtolower) {
            $return_str = mb_strtolower($return_str, 'utf-8');
        }
        if (!$allow_accented_chars) {
            $return_str = Tools::replaceAccentedChars($return_str);
        }
 
        // Remove all non-whitelist chars.
        if ($allow_accented_chars) {
            $return_str = preg_replace('/[^a-zA-Z0-9\s\'\:\/\[\]\-\p{L}\p{Greek}]/u', '', $return_str);
        } else {
            $return_str = preg_replace('/[^a-zA-Z0-9\s\'\:\/\[\]\-]/', '', $return_str);
        }
 
        $return_str = preg_replace('/[\s\'\:\/\[\]\-]+/', ' ', $return_str);
        $return_str = str_replace(array(' ', '/'), '-', $return_str);
 
        // If it was not possible to lowercase the string with mb_strtolower, we do it after the transformations.
        // This way we lose fewer special chars.
        if (!$has_mb_strtolower) {
            $return_str = Tools::strtolower($return_str);
        }
 
        $array_str[$str] = $return_str;
        return $return_str;
    }

Share this post


Link to post
Share on other sites

 

Για την εκδοση 1.6.1.4 βρηκα το documentation λιγο outdated

 

Στην περιπτωση μου έκανα overide την κλαση Tools.php ως εξης:

 

/*** updated gerasimosa greekurls
   */
public static function str2url($str)
    {
        static $array_str = array();
        static $allow_accented_chars = null;
        static $has_mb_strtolower = null;
 
        if ($has_mb_strtolower === null) {
            $has_mb_strtolower = function_exists('mb_strtolower');
        }
 
        if (isset($array_str[$str])) {
            return $array_str[$str];
        }
 
        if (!is_string($str)) {
            return false;
        }
 
        if ($str == '') {
            return '';
        }
 
        if ($allow_accented_chars === null) {
            $allow_accented_chars = Configuration::get('PS_ALLOW_ACCENTED_CHARS_URL');
        }
 
        $return_str = trim($str);
 
        if ($has_mb_strtolower) {
            $return_str = mb_strtolower($return_str, 'utf-8');
        }
        if (!$allow_accented_chars) {
            $return_str = Tools::replaceAccentedChars($return_str);
        }
 
        // Remove all non-whitelist chars.
        if ($allow_accented_chars) {
            $return_str = preg_replace('/[^a-zA-Z0-9\s\'\:\/\[\]\-\p{L}\p{Greek}]/u', '', $return_str);
        } else {
            $return_str = preg_replace('/[^a-zA-Z0-9\s\'\:\/\[\]\-]/', '', $return_str);
        }
 
        $return_str = preg_replace('/[\s\'\:\/\[\]\-]+/', ' ', $return_str);
        $return_str = str_replace(array(' ', '/'), '-', $return_str);
 
        // If it was not possible to lowercase the string with mb_strtolower, we do it after the transformations.
        // This way we lose fewer special chars.
        if (!$has_mb_strtolower) {
            $return_str = Tools::strtolower($return_str);
        }
 
        $array_str[$str] = $return_str;
        return $return_str;
    }

 

Γιατί απλά δεν αλλάζετε τις ρυθμίσεις για να δέχεται το σύστημα ελληνικούς χαρακτήρες στα προϊόντα, κατηγορίες και όπου αλλού επιθυμείτε;

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More