THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

Ce module est il toujours compatible avec la version 2.0.4 ? En effet depuis la mise à jours de mes templates en 2.0.4, je n'arrive plus à le faire fonctionner.

J'ai tout désinstallé, puis je l'ai installé, activé dans le back office. J'ai paramétré les 4 délais.

Puis j'ai rajouté dans product.html :

<!-- Product delivery date -->
                    <div id="delivery-date" data-href="{url path="/module/deliverydate/get"}"></div>
<!-- --- -->

avant : 

<div class="price-container">

et dans script.js (dans le répertoire assets/js)

// Product delivery date
		var date_container = $("#delivery-date");
		$.ajax({
			url: date_container.attr('data-href')+"/"+$(this).find(":selected").attr('value')
		}).done(function(json) {
			date_container.html("<small>"+json['msg']+" "+json['date_min']+" "+json['msg_2']+" "+json['date_max']+"</small>");
		});

		// -----------------------

après

// price
        if (pse.isPromo){
            $pse.priceOld.html(pse.price);
            $pse.price.html(pse.promo);
        } else {
            $pse.priceOld.html("");
            $pse.price.html(pse.price);
        }

Et rien ne s'affiche sur ma page produit...

Last edited by AdeDidou (24-10-2014 21:07:29)

Offline


Bonjour,

Chez moi aussi le module DeliveryDate ne fonctionnait pas en effectuant les manipulations que vous avez indiqué, j'ai réussi à le faire fonctionner en modifiant les fichiers comme ceci :

product.html :

<!-- Product delivery date -->
<div id="delivery-date" data-href="{url path="/module/deliverydate/get/{$ID}"}"></div>
<!-- -->

script.js :

        // Product delivery date
        var date_container = $("#delivery-date");
        $.ajax({
            url: date_container.attr('data-href')
        }).done(function(json) {
            date_container.html("<small>"+json['msg']+" "+json['date_min']+" "+json['msg_2']+" "+json['date_max']+"</small>");
        });

        // -----------------------

Explications :
Il semblerait en fait que le code JS appelait l'url "/module/deliverydate/get" sans préciser l'id du produit (ça aurait dû être par ex : "/module/deliverydate/get/2"), du coup il n'arrivait pas à récupérer les informations concernant les dates de livraison du produit courant. J'ai donc indiqué l'id du produit directement dans le fichier html et retiré la partie qui rajoutait l'id du code js.

Par contre chez moi le texte s'affiche en anglais quelque soit la langue sélectionnée (ex : "Order this product today and receive it between the 03/11/2014 and the 06/11/2014") alors que pourtant dans l'admin une traduction est déjà définie pour ce texte (Configuration > Traductions > FR > Modules > Date de livraison > Core files) donc je ne comprend pas ce qui cloche ...

Offline


En comparant le module DeliveryDate avec un module mis à jour plus récemment (OpenSearchServerSearch) j'ai réussi à corriger également le problème de traduction.

D'après ce que j'ai pu voir, il manquait un paramètre à la fonction de traduction "trans" dans le module DeliveryDate (le paramètre "domain"), en le rajoutant ça a l'air de fonctionner correctement.

J'ai donc rajouté ce paramètre dans toutes les fonctions "trans" du module, chez moi ça concernait 3 fichiers :

DeliveryDate\Controller\GetDeliveryDate.php:

...
   52:                 "msg"=>Translator::getInstance()->trans("Order this product today and receive it between the",[],"deliverydate"),
   53:                 "msg_2"=>Translator::getInstance()->trans("and the",[],DeliveryDate::MODULE_DOMAIN)
...

DeliveryDate\Form\ConfigureForm.php:

...
   67:                 'label'=>Translator::getInstance()->trans("Minimum delivery time (days)",[],"deliverydate"),
...
   73:                 'label'=>Translator::getInstance()->trans("Maximum delivery time (days)",[],"deliverydate"),
...
   79:                 'label'=>Translator::getInstance()->trans("Minimum restock time (days)",[],"deliverydate"),
...
   85:                 'label'=>Translator::getInstance()->trans("Maximum restock time (days)",[],"deliverydate"),
...

DeliveryDate\Form\ConfigureProductForm.php:

...
   78:                     'label'=>Translator::getInstance()->trans("Minimum delivery time (days)",[],"deliverydate"),
...
   84:                     'label'=>Translator::getInstance()->trans("Maximum delivery time (days)",[],"deliverydate"),
...
   90:                     'label'=>Translator::getInstance()->trans("Minimum restock time (days)",[],"deliverydate"),
...
   96:                     'label'=>Translator::getInstance()->trans("Maximum restock time (days)",[],"deliverydate"),
...