- Posts: 98
- Thank you received: 1
Différents produits dans certaines zones
Différents produits sont disponibles dans certaines zones, mais pas toutes les zones.
On vend tous les produits partout sauf quelques-uns, par exemple, pas en Europe ou pas dans les pays internationaux.
Comment peux-je appliquer ce critère?
j'ai 4 zones de livraison :
- Canada
- États-Unis
- Europe
- International...
Alors j'ai créé un champ personnalisé (dans le menu « Affichage », sous rubrique : « champs personnalisés ») :
Titre : pas vente
Table : product
Champ : pasvente
Type : Texte
Requis Non
Filtrage de l'entrée Oui
Lecture seule Non
Activé Oui
Dans la partie publique Non
Formulaires dans l'administration Oui
Listings dans l'administration Oui
Je vais mettre une condition :
Si le « pasvente » est vide, on le vend partout sinon selon la valeur de « pasvente » on ne le vend pas à certaines zones de livraison :
- VIDE ---> on le vend par tout
- CAD ---> on ne le vend qu'en Canada
- CADUS ---> on ne le vend qu'en Canada et aux États-Unis
- CADUSINT ---> on ne le vend pas en Europe
Alors je vais ajouter le code dans checkout/cart.php (dans le menu « Affichage », sous rubrique : Vues » == Voir : « checkout » et Fichier : « cart.php »
Mais je n'ai pas certain sur ma démarche :
Voici ce que je pense :
Merci
Please Log in or Create an account to join the conversation.
Le code semble pas mal dans l'ensemble, mais je pense que vous devez le mettre dans un foreach afin de récupérer les "$row"
N'oubliez pas de modifier vos variables en conséquence.
Please Log in or Create an account to join the conversation.
merci pour vos explications, mais, je n'ai pas bien compris :sick:
Xavier wrote: Bonjour,
Puis un foreach pour chaques fields de type product:Code:foreach($this->extraFields['product'] as $field){
Fonction extraFields? c'est quoi?
(('product'))? Est-ce que la valeur du champ 'field_table' de la table : 'hikashop_field' de la base de données de HikaShop?
en fait, lorsque je fais :
j'ai un alerte avec la 2e ligne : ((foreach($this->extraFields as $field))) :
Warning: Invalid argument supplied for foreach()
Merci et bonne fin de semaine
Please Log in or Create an account to join the conversation.
En effet dans cette vue là, le code suivant suffit:
Please Log in or Create an account to join the conversation.
Merci pour les explications,
mais mes conditions ne marche pas : mon [nextButton] est toujours actif et il n'y a pas de [enqueueMessage]. :sick:
Voici mon code (voir entre "new code for sale option START et END", ci-dessous) et je me demande si j'ai oublié quelque chose ?
Merci
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Ça ne marche pas du tout...
Même avec le code suivant, c'est-à-dire sans switch $pasvente , il n'y a pas de message [enqueueMessage] qui s'affiche. Le bouton [nextButton] est toujours actif :
Please Log in or Create an account to join the conversation.
sans switch et en forçant que ce soit 'false'
attendant votre réponse, bonne journée
Please Log in or Create an account to join the conversation.
Votre code ne fonctionne pas car vous avez ajouté "if($field->field_namekey == 'pasvente'){ ...}", et comme $field n'est pas défini, cela retourne une erreur.
Utilisez seulement:
N'oubliez pas de mettre le error reporting à "maximum" dans les options joomla lorsque vous développez.
Please Log in or Create an account to join the conversation.
ça marche le message et le bouton selon le produit et le zone...
Un grand merci. :lol:
Voici le code complet :
Je me demande si je peux aussi mettre ce message dans la zone de produit concerné (par exemple (td class="hikashop_cart_product_name_value")) au nom de l'interface conviviale.
Alors comment je peux le faire, vous pouvez me donner un indic.? :ohmy:
Merci
Please Log in or Create an account to join the conversation.
Et dans votre code, ajouter du javascript pour récupérer le contenu du td, ajouter votre message dans le html de ce td et remplacer le contenu précédent par celui modifié.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.