Jump to content

CartRule.php et langage PS 1.7


Recommended Posts

Bonjour,

sous Prestashop 1.7, dans la partie des bons de reductions du fichier CartRule.php, on se rend compte que les displayError

envoi une reponse en anglais au client.

Quelle est la bonne facon de faire pour mettre en francais ce texte de retour utilisateur ?

 

Exemple : 

public function checkValidity(Context $context, $alreadyInCart = false, $display_error = true, $check_carrier = true)
{
if (!CartRule::isFeatureActive()) {
return false;
}

if (!$this->active) {
return (!$display_error) ? false : Tools::displayError('This voucher is disabled');
}
if (!$this->quantity) {
return (!$display_error) ? false : Tools::displayError('This voucher has already been used');
}
if (strtotime($this->date_from) > time()) {
return (!$display_error) ? false : Tools::displayError('This voucher is not valid yet');
}
if (strtotime($this->date_to) < time()) {
return (!$display_error) ? false : Tools::displayError('This voucher has expired');
}
Link to comment
Share on other sites

Bonjour,

 

Je connais pas Prestashop 1.7 mais... je vais essayé. ^^

 

Si j'ai bien compris displayError permet de traduire l'erreur (https://github.com/PrestaShop/PrestaShop/blob/1.7.1.x/classes/Tools.php#L961). Donc théoriquement, il faudrait écrire l'erreur en anglais dans le code et la traduire en BO probablement (voir http://doc.prestashop.com/display/PS17/Translations).

 

Néanmoins, ce qui me dérange c'est la ligne 966 ou ils écrivent Fatal error en dur alors que, pour moi, il faudrait passer la variable $string. As-tu testé la mécaniques pour voir si c'est les bonnes erreurs affichées (et pas Fatal error) ?

 

J'espère que ça t'aidera ou que ça en fasse réagir d'autre. 

 

Bon courage. :)

Edited by Matt K. (see edit history)
Link to comment
Share on other sites

Merci Matt K.

Mais je n'ai pas reussi a utiliser $this->trans ou lang afin de faire appel a un fichier deporté.

Et rien non plu dans le BO pour les traductions

 

Donc en attendant une reponse j'ai modifié en francais le contenu de ce fichier

Link to comment
Share on other sites

Dans la 1.7.1.1 le code a été corrigé 

    public function checkValidity(Context $context, $alreadyInCart = false, $display_error = true, $check_carrier = true)
    {
        if (!CartRule::isFeatureActive()) {
            return false;
        }

        if (!$this->active) {
            return (!$display_error) ? false : $this->trans('This voucher is disabled', array(), 'Shop.Notifications.Error');
        }
        if (!$this->quantity) {
            return (!$display_error) ? false : $this->trans('This voucher has already been used', array(), 'Shop.Notifications.Error');
        }
        if (strtotime($this->date_from) > time()) {
            return (!$display_error) ? false : $this->trans('This voucher is not valid yet', array(), 'Shop.Notifications.Error');
        }
        if (strtotime($this->date_to) < time()) {
            return (!$display_error) ? false : $this->trans('This voucher has expired', array(), 'Shop.Notifications.Error');
        }
Link to comment
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
×
×
  • Create New...