Bonjour,
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 :
//... votre code :
if($this->config->get('print_cart',0)&&JRequest::getVar('tmpl','')!='component'){ ?>
<div class="hikashop_checkout_cart_print_link">
<a title="<?php echo JText::_('HIKA_PRINT');?>" class="modal" rel="{handler: 'iframe', size: {x: 760, y: 480}}" href="<?php echo hikashop_completeLink('checkout&task=printcart',true); ?>">
<img src="<?php echo HIKASHOP_IMAGES; ?>print.png" alt="<?php echo JText::_('HIKA_PRINT');?>"/>
</a>
</div>
<?php }
// voici le mien debut
if(!empty($this->row->pasvente))
{
$pasvente = $this->row->pasvente;
$app = JFactory::getApplication();
$shipping_id = $app->getUserState( HIKASHOP_COMPONENT.'.shipping_id');
$critere_vente = true;
switch ($pasvente)
{
case "CAD":
switch ($shipping_id)
{
case 2: //USA
case 3: //Eu
case 4: //int
$critere_vente = false;
break;
default:
$critere_vente = true;
}
case "CADUS":
switch ($shipping_id)
{
case 3: //Eu
case 4: //int
$critere_vente = false;
break;
default:
$critere_vente = true;
}
case "CADUSINT":
switch ($shipping_id)
{
case 3: //Eu
$critere_vente = false;
break;
default:
$critere_vente = true;
}
default:
$critere_vente = true;
}
if($critere_vente = false)
{
$this->nextButton = false;
$app->enqueueMessage('Ce produit n\'est pas disponible dans votre pays, pouvez-vous le supprimer, merci');
}
}
// voici le mien fin
//votre code :
foreach($this->rows as $i => $row){
if(empty($row->cart_product_quantity)) continue;
if(!empty($row->product_min_per_order)){
if($row->product_min_per_order>$row->cart_product_quantity){
$this->nextButton = false;
$app =& JFactory::getApplication();
$app->enqueueMessage(JText::sprintf('YOU_NEED_TO_ORDER_AT_LEAST_X_X',$row->product_min_per_order,$row->product_name));
}
}
}
$row_count = 4;
//..
Est-ce que vous pouvez m'aider?
Merci