[Résolu] Affichage quantité restante et ...

  • Posts: 185
  • Thank you received: 1
9 years 10 months ago #159703

-- url of the page with the problem -- : www.franckmalapeau.fr/POINTB/
-- HikaShop version -- : 2.3.1
-- Joomla version -- : 3.3.0
-- PHP version -- : pas utiles
-- Browser(s) name and version -- : Firefox
-- Error-message(debug-mod must be tuned on) -- : non

Bonsoir à tous,

Questions du client :
1 - Pour l'affichage du nombre de produit restant : affichage de "produit en stock" en vert ou noire, sans préciser le nombre. Si 5 ou moins, là, préciser le nombre et écrire en rouge la quantité.
2 - Pas d'affichage du code du produit : uniquement sur la page "panier"

Conclusion : C'est jouable ou pas ?

Merci par avance de votre réponse et de votre aide.

Bonne fin de soirée

Bien cordialement

Franck

Last edit: 9 years 10 months ago by sandrine huard.

Please Log in or Create an account to join the conversation.

  • Posts: 81481
  • Thank you received: 13062
  • MODERATOR
9 years 10 months ago #159714

Bonjour,

1. Il va falloir modifier le code de la vue qui affiche le stock:
www.hikashop.com/forum/4-how-to/49645-st...sed-on-quantity.html
www.hikashop.com/forum/product-category-...ss-or-more-than.html

2. C'est faisable facilement en cachant le code sur la page produit avec une ligne de CSS:
#hikashop_product_code_main{ display: none; }

www.hikashop.com/support/support/documen...ize-the-display.html

Please Log in or Create an account to join the conversation.

  • Posts: 185
  • Thank you received: 1
9 years 10 months ago #159808

Bonjour Nicolas et merci pour votre réponse.

- Concernant la question 2, ok je vais regarder cela, en cachant le code dans les produits, il apparaîtra néanmoins dans le panier ?
- Concernant ma première, est-ce possible de m'aider un peu plus car honnêtement dans la réponse que vous faites à hawkeyentjc, j'ai pas tout compris et de me dire dans le second post, question posée par : LAMF, quelle est la bonne solution :
la réponse de Xavier ou la réponse de Mohamed ?
Merci Nicolas par avance de votre aide.
Bien cordialement
Franck

Please Log in or Create an account to join the conversation.

  • Posts: 81481
  • Thank you received: 13062
  • MODERATOR
9 years 10 months ago #159814

Hi,

1. Oui tout à fait.

2. Les deux réponses sont correctes. Celle de Xavier gère la traduction du texte mais est un peu plus complexe à mettre en place, celle de Mohammed est plus simple à mettre en place mais ne gère pas la traduction (le texte est directement dans le code).
Donc je vous recommenderai de partir avec la version de Mohammed.

Please Log in or Create an account to join the conversation.

  • Posts: 185
  • Thank you received: 1
9 years 10 months ago #159878

Bonjour Nicolas et merci pour la réponse rapide.

Je vais faire ma "purge" pouvez vous me dire si je dois partir de cette réponse de Mohamed ?

<div class="hikashop_product_stock">
    <?php
      echo '<span class="hikashop_product_stock_count">'.JText::sprintf('X_ITEMS_IN_STOCK',$this->row->product_quantity).'<br/></span>';
      if($config->get('button_style','normal')=='css'){
        echo '<br />';
      }
      if($max<=0 || $max>$this->row->product_quantity) $max = $this->row->product_quantity;
      if($this->params->get('add_to_cart',1)){
        echo $this->cart->displayButton(JText::_('ADD_TO_CART'),'add',$this->params,$url,$this->ajax,'',$max,$min);
        $btnType = 'wish';
      }
      if(hikashop_level(1) && $this->params->get('add_to_wishlist')  && $wishlistEnabled && !$hideForGuest && $this->config->get('display_add_to_wishlist_for_free_products','1')){
        echo '<div id="hikashop_add_wishlist">';
          echo $this->cart->displayButton(JText::_('ADD_TO_WISHLIST'),$btnType,$this->params,$url,$wishlistAjax,'',$max,$min,'',false);
        echo '</div>';
      }
    }
De plus pouvez vous me dire dans quelle vue exactement je dois modifer ces infos (avant de faire une "connerie" et de vous embêter à nouveau)

- Pour cacher le code produit dans la page produit, vous me dites d'ajouter cette ligne (voir ci-dessous), pouvez vous me dire dans quel fichier s'il vous plait :
#hikashop_product_code_main{ display: none; }
Merci par avance de votre patience et de votre aide.
Bien cordialement
Franck

Last edit: 9 years 10 months ago by sandrine huard.

Please Log in or Create an account to join the conversation.

  • Posts: 12953
  • Thank you received: 1778
9 years 10 months ago #159882

Bonjour Franck,

1. Oui, cette solution sera probablement plus simple à mettre en place, Il vous suffira simplement de modifier le fichier "quantity" de la vue "product" de votre template de front-end via "Hikashop->Affichage->Vues".

2. Il vous suffira simplement de le faire via "Hikashop->Système->Configuration générale->Affichage->CSS->Fichier CSS pour la partie publique", vous trouverez plus d'informations à propos de cette option via la documentation .

Please Log in or Create an account to join the conversation.

  • Posts: 185
  • Thank you received: 1
9 years 10 months ago #159994

Bonsoir Mohamed,

En collant le code ci-dessus à la place des lignes 92 à 106 du fichier quantity de la vue product de mon template, cela m'a mis un "patacaisse", en gros j'avais perdu la mise en page.
Voici les copies d'écran avec le code source original et ensuite avec le code source modifié
Je pense que j'ai du me louper quelque part ...

Concernant le point 2 , je verrais une fois que le point 1 fonctionnera.

Merci par avance Mohamed

Bonne nuit

Bien cordialement

Franck

Attachments:
Last edit: 9 years 10 months ago by sandrine huard.

Please Log in or Create an account to join the conversation.

  • Posts: 81481
  • Thank you received: 13062
  • MODERATOR
9 years 10 months ago #160000

C'est bien cette modification que vous avez faites ? www.hikashop.com/forum/product-category-...ore-than.html#139186
Je ne vois pas pourquoi elle créerait cette erreur.
Réessayez voir.

Please Log in or Create an account to join the conversation.

  • Posts: 185
  • Thank you received: 1
9 years 10 months ago #160094

Bonjour Nicolas

c'est ce code :

<div class="hikashop_product_stock">
    <?php
      echo '<span class="hikashop_product_stock_count">'.JText::sprintf('X_ITEMS_IN_STOCK',$this->row->product_quantity).'<br/></span>';
      if($config->get('button_style','normal')=='css'){
        echo '<br />';
      }
      if($max<=0 || $max>$this->row->product_quantity) $max = $this->row->product_quantity;
      if($this->params->get('add_to_cart',1)){
        echo $this->cart->displayButton(JText::_('ADD_TO_CART'),'add',$this->params,$url,$this->ajax,'',$max,$min);
        $btnType = 'wish';
      }
      if(hikashop_level(1) && $this->params->get('add_to_wishlist')  && $wishlistEnabled && !$hideForGuest && $this->config->get('display_add_to_wishlist_for_free_products','1')){
        echo '<div id="hikashop_add_wishlist">';
          echo $this->cart->displayButton(JText::_('ADD_TO_WISHLIST'),$btnType,$this->params,$url,$wishlistAjax,'',$max,$min,'',false);
        echo '</div>';
      }
    }

que j'ai inséré entre les lignes 92 et 106 du fichier quantity de la vue product de mon template en écrasant donc les lignes existantes.

Franck

Last edit: 9 years 10 months ago by sandrine huard.

Please Log in or Create an account to join the conversation.

  • Posts: 81481
  • Thank you received: 13062
  • MODERATOR
9 years 10 months ago #160105

Ce n'est pas la modification qui est recommandé par ce message:

Hi,
The solution will probably be to change this line :
echo '<span class="hikashop_product_stock_count">'.JText::sprintf('X_ITEMS_IN_STOCK',$this->row->product_quantity).'<br/></span>';
By :
if($this->row->product_quantity < 5)
echo '<span class="hikashop_product_stock_count">Less than 5 pcs left<br/></span>';
else
echo '<span class="hikashop_product_stock_count">More than 5 pcs left<br/></span>';
Edit
Note that the solution that Xavier gave you will probably be better ;).

Please Log in or Create an account to join the conversation.

  • Posts: 185
  • Thank you received: 1
9 years 10 months ago #160251

Bonjour Nicolas

Dans un post précédent j'ai bien demandé si je devais utiliser ce code, il suffit de relire l'ensemble de la conversation.

J'ai l'impression d'être clair dans mes demandes puisque aucune personne de l'équipe hikashoop ne m'a fait de remarque quant à mes questions.

C'est pareil, dans votre dernier message vous me répondez avec une réponse fermée, ne serait il pas plus simple au lieu d'éviter que je poste X fois car il me manque des infos complémentaires, de me dire exactement ce que je dois faire et ce en français s'il vous plait (j'écris dans la rubrique support en français, j'attends donc des réponses en français, tout le monde ne maîtrise pas totalement la langue de shakespeare comme vous !
Qu'en pensez- vous ?
Merci donc de m'indiquer s'il vous plait la marche à suivre ....
Dans l'attente de vous lire
Bien cordialement

Franck

Please Log in or Create an account to join the conversation.

  • Posts: 81481
  • Thank you received: 13062
  • MODERATOR
9 years 10 months ago #160255

Bonjour,

Désolé mais j'avis également l'impression d'être clair dans mes réponses. La seule modification de code que Mohamed a proposé dans l'autre sujet et dont je vous ai mis le lien vers le post c'est de remplacer le code:

echo '<span class="hikashop_product_stock_count">'.JText::sprintf('X_ITEMS_IN_STOCK',$this->row->product_quantity).'<br/></span>';
par
if($this->row->product_quantity < 5)
echo '<span class="hikashop_product_stock_count">Less than 5 pcs left<br/></span>';
else
echo '<span class="hikashop_product_stock_count">More than 5 pcs left<br/></span>';
dans le fichier quantity.
Je ne pensais pas que l'anglais serait un problème ici vu que sa phrase me semblait simple à comprendre.

Please Log in or Create an account to join the conversation.

  • Posts: 185
  • Thank you received: 1
9 years 10 months ago #160385

Bonjour Nicolas et merci pour votre réponse.

Pour être sur du coup, cela donne ceci :

<div class="hikashop_product_stock">
    <?php
      if($this->row->product_quantity < 5)
echo '<span class="hikashop_product_stock_count">Less than 5 pcs left<br/></span>';
else
echo '<span class="hikashop_product_stock_count">More than 5 pcs left<br/></span>';
      if($config->get('button_style','normal')=='css'){
        echo '<br />';
      }
      if($max<=0 || $max>$this->row->product_quantity) $max = $this->row->product_quantity;
      if($this->params->get('add_to_cart',1)){
        echo $this->cart->displayButton(JText::_('ADD_TO_CART'),'add',$this->params,$url,$this->ajax,'',$max,$min);
        $btnType = 'wish';
      }
      if(hikashop_level(1) && $this->params->get('add_to_wishlist')  && $wishlistEnabled && !$hideForGuest && $this->config->get('display_add_to_wishlist_for_free_products','1')){
        echo '<div id="hikashop_add_wishlist">';
          echo $this->cart->displayButton(JText::_('ADD_TO_WISHLIST'),$btnType,$this->params,$url,$wishlistAjax,'',$max,$min,'',false);
        echo '</div>';
      }
    }

Ce code remplacera le code existant de la ligne 92 à 106 du fichier quantity de la vue product de mon template

Bonne journée

Franck

Last edit: 9 years 10 months ago by sandrine huard.

Please Log in or Create an account to join the conversation.

  • Posts: 12953
  • Thank you received: 1778
9 years 10 months ago #160437

Bonjour,
Cela fera bien l'affaire :).

Please Log in or Create an account to join the conversation.

  • Posts: 185
  • Thank you received: 1
9 years 10 months ago #160485

Bonsoir Mohamed,

Heu malheueusement non cela ne fait pas l'affaire :unsure: car en collant le code de mon post précédent à la place des lignes 92 à 106. L'affichage de mes produits est "foireux".

Je dois être une "quiche", pas grave j'assume.

Est-ce qu'il vous serait possible afin de pouvoir passer à autre chose de m'écrire le code exact qu'il me faut dans le fichier qty de la vue product afin que celui-ci réponde à ma demande ?

Voici le code que j'ai actuellement pour mon template :

Je vous en serais très reconnaissant et merci encore de votre patience.

Bonne fin de soirée

Franck

<?php
/**
 * @package	HikaShop for Joomla!
 * @version	2.3.1
 * @author	hikashop.com
 * @copyright	(C) 2010-2014 HIKARI SOFTWARE. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php
global $Itemid;
$url_itemid = '';
if(!empty($Itemid))
	$url_itemid = '&Itemid='.$Itemid;
if($this->config->get('show_quantity_field')==-2){
	$this->params->set('show_quantity_field',$this->row->product_display_quantity_field);
}

$config =& hikashop_config();

$wishlistEnabled = $config->get('enable_wishlist', 1);
$hideForGuest = 1;
if(($config->get('hide_wishlist_guest', 1) && hikashop_loadUser() != null) || !$config->get('hide_wishlist_guest', 1)){
	$hideForGuest = 0;
}

if(!isset($this->cart)) $this->cart = hikashop_get('helper.cart');

$this->cart = hikashop_get('helper.cart');
$url = '';
$module_id = $this->params->get('from_module',0);
if(empty($this->ajax)){
	$this->ajax = 'return hikashopModifyQuantity(\''.$this->row->product_id.'\',field,1,0,\'cart\','.$module_id.')';
}
if(@$this->row->product_sale_start || empty($this->element->main)){
	$start_date = @$this->row->product_sale_start;
}else{
	$start_date = $this->element->main->product_sale_start;
}
if(@$this->row->product_sale_end || empty($this->element->main)){
	$end_date = @$this->row->product_sale_end;
}else{
	$end_date = $this->element->main->product_sale_end;
}
$formName = ',0';
if (!$this->config->get('ajax_add_to_cart', 0) || ($this->config->get('show_quantity_field')>=2 && !@$this->element->product_id)) {
	if(empty($this->formName)) {
		if(@$this->row->product_id)
			$formName = ',\'hikashop_product_form_'.$this->row->product_id.'_'.$this->params->get('main_div_name').'\'';
		else
			$formName = ',\'hikashop_product_form_'.$this->params->get('main_div_name').'\'';
	} else {
		$formName = $this->formName;
	}
}
if($end_date && $end_date<time()){
	?>
	<span class="hikashop_product_sale_end">
		<?php echo JText::_('ITEM_NOT_SOLD_ANYMORE'); ?>
	</span>
	<?php
}elseif($start_date && $start_date>time()){
	?>
	<span class="hikashop_product_sale_start">
		<?php
		echo JText::sprintf('ITEM_SOLD_ON_DATE',hikashop_getDate($start_date,$this->params->get('date_format','%d %B %Y')));
		?>
	</span>
	<?php
}elseif(!$this->params->get('catalogue') && ($this->config->get('display_add_to_cart_for_free_products') || !empty($this->row->prices))){
	if(@$this->row->product_min_per_order || empty($this->element->main)){
		$min = @$this->row->product_min_per_order;
	}else{
		$min = @$this->element->main->product_min_per_order;
	}
	if(@$this->row->product_max_per_order || empty($this->element->main)){
		$max = @$this->row->product_max_per_order;
	}else{
		$max = @$this->element->main->product_max_per_order;
	}
	if($min<=0){
		$min=1;
	}
	$wishlistAjax =	'if(hikashopCheckChangeForm(\'item\''.$formName.')){ return hikashopModifyQuantity(\'' . (int)@$this->row->product_id . '\',field,1' . $formName . ',\'wishlist\','.$module_id.'); } else { return false; }';

	if($this->row->product_quantity == -1 && !empty($this->element->main) && $this->element->main->product_quantity != -1){
		$this->row->product_quantity = $this->element->main->product_quantity;
	}
	$btnType = 'add';
	if($this->row->product_quantity==-1){
	?>
	<div class="hikashop_product_stock">
	<?php
		if(!empty($this->row->has_options)){
			if($this->params->get('add_to_cart',1)) echo $this->cart->displayButton(JText::_('CHOOSE_OPTIONS'),'choose_options',$this->params,hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway),'window.location = \''.str_replace("'","\'",hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway)).'\';return false;','');
		}else{
			if($this->params->get('add_to_cart',1)){
				echo $this->cart->displayButton(JText::_('ADD_TO_CART'),'add',$this->params,$url,$this->ajax,'',$max,$min);
				$btnType = 'wish';
			}
			if(hikashop_level(1) && $this->params->get('add_to_wishlist') && $wishlistEnabled && !$hideForGuest && $this->config->get('display_add_to_wishlist_for_free_products','1')){
				echo '<div id="hikashop_add_wishlist">';
					echo $this->cart->displayButton(JText::_('ADD_TO_WISHLIST'),$btnType,$this->params,$url,$wishlistAjax,'',$max,$min,'',false);
				echo '</div>';
			}
		}
	}elseif($this->row->product_quantity>0){
	?>
	<div class="hikashop_product_stock">
	<?php
		echo '<span class="hikashop_product_stock_count">'.JText::sprintf('X_ITEMS_IN_STOCK',$this->row->product_quantity).'<br/></span>';
		if($config->get('button_style','normal')=='css'){
			echo '<br />';
		}
		if($max<=0 || $max>$this->row->product_quantity) $max = $this->row->product_quantity;
		if(!empty($this->row->has_options)){
			if($this->params->get('add_to_cart',1)) echo $this->cart->displayButton(JText::_('CHOOSE_OPTIONS'),'choose_options',$this->params,hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway),'window.location = \''.str_replace("'","\'",hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway)).'\';return false;','');
		}else{
			if($this->params->get('add_to_cart',1)){
				echo $this->cart->displayButton(JText::_('ADD_TO_CART'),'add',$this->params,$url,$this->ajax,'',$max,$min);
				$btnType = 'wish';
			}
			if(hikashop_level(1) && $this->params->get('add_to_wishlist')  && $wishlistEnabled && !$hideForGuest && $this->config->get('display_add_to_wishlist_for_free_products','1')){
				echo '<div id="hikashop_add_wishlist">';
					echo $this->cart->displayButton(JText::_('ADD_TO_WISHLIST'),$btnType,$this->params,$url,$wishlistAjax,'',$max,$min,'',false);
				echo '</div>';
			}
		}
	}else{
		?>
	<div class="hikashop_product_no_stock">
	<?php
		echo JText::_('NO_STOCK').'<br/>';
		$waitlist = $this->config->get('product_waitlist',0);
		if(hikashop_level(1) && ($waitlist==2 || ($waitlist==1 && (!empty($this->element->main->product_waitlist) || !empty($this->element->product_waitlist))))){ ?>
			</div><div id="hikashop_product_waitlist_main" class="hikashop_product_waitlist_main">
			<?php
			$empty='';
			jimport('joomla.html.parameter');
			$params = new HikaParameter($empty);
			echo $this->cart->displayButton(JText::_('ADD_ME_WAITLIST'),'add_waitlist',$params,hikashop_completeLink('product&task=waitlist&cid='.$this->row->product_id.$url_itemid),'window.location=\''.str_replace("'","\'",hikashop_completeLink('product&task=waitlist&cid='.$this->row->product_id.$url_itemid)).'\';return false;');
		}
		if(hikashop_level(1) && $this->params->get('add_to_wishlist')  && $wishlistEnabled  && !$hideForGuest && $this->config->get('display_add_to_wishlist_for_free_products','1')){
			if(!empty($this->row->has_options)){
				if($this->params->get('add_to_cart',1)) echo $this->cart->displayButton(JText::_('CHOOSE_OPTIONS'),'choose_options',$this->params,hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway),'window.location = \''.str_replace("'","\'",hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway)).'\';return false;','');
			}else{
				echo '<div id="hikashop_add_wishlist">';
					echo $this->cart->displayButton(JText::_('ADD_TO_WISHLIST'),'add',$this->params,$url,$wishlistAjax,'',@$this->row->product_max_per_order,1,'',false);
				echo '</div>';
			}
		}
	}?>
	</div>
<?php
}elseif(hikashop_level(1) && $wishlistEnabled && $this->params->get('add_to_wishlist','1') && $this->config->get('display_add_to_wishlist_for_free_products','1') && !$hideForGuest && !$this->config->get('display_add_to_cart_for_free_products')){
	if(!empty($this->row->has_options)){
		if($this->params->get('add_to_cart',1)) echo $this->cart->displayButton(JText::_('CHOOSE_OPTIONS'),'choose_options',$this->params,hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway),'window.location = \''.str_replace("'","\'",hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway)).'\';return false;','');
	}else{
		$wishlistAjax =	'if(hikashopCheckChangeForm(\'item\''.$formName.')){ return hikashopModifyQuantity(\'' . (int)@$this->row->product_id . '\',field,1' . $formName . ',\'wishlist\','.$module_id.'); } else { return false; }';
		echo '<div id="hikashop_add_wishlist">';
			echo $this->cart->displayButton(JText::_('ADD_TO_WISHLIST'),'add',$this->params,$url,$wishlistAjax,'',@$this->row->product_max_per_order,1,'',false);
		echo '</div>';
	}
}

Last edit: 9 years 10 months ago by sandrine huard.

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
9 years 10 months ago #160528

Hi,

Thanks to use that code:

<?php
global $Itemid;
$url_itemid = '';
if(!empty($Itemid))
	$url_itemid = '&Itemid='.$Itemid;
if($this->config->get('show_quantity_field')==-2){
	$this->params->set('show_quantity_field',$this->row->product_display_quantity_field);
}

$config =& hikashop_config();

$wishlistEnabled = $config->get('enable_wishlist', 1);
$hideForGuest = 1;
if(($config->get('hide_wishlist_guest', 1) && hikashop_loadUser() != null) || !$config->get('hide_wishlist_guest', 1)){
	$hideForGuest = 0;
}

if(!isset($this->cart)) $this->cart = hikashop_get('helper.cart');

$this->cart = hikashop_get('helper.cart');
$url = '';
$module_id = $this->params->get('from_module',0);
if(empty($this->ajax)){
	$this->ajax = 'return hikashopModifyQuantity(\''.$this->row->product_id.'\',field,1,0,\'cart\','.$module_id.')';
}
if(@$this->row->product_sale_start || empty($this->element->main)){
	$start_date = @$this->row->product_sale_start;
}else{
	$start_date = $this->element->main->product_sale_start;
}
if(@$this->row->product_sale_end || empty($this->element->main)){
	$end_date = @$this->row->product_sale_end;
}else{
	$end_date = $this->element->main->product_sale_end;
}
$formName = ',0';
if (!$this->config->get('ajax_add_to_cart', 0) || ($this->config->get('show_quantity_field')>=2 && !@$this->element->product_id)) {
	if(empty($this->formName)) {
		if(@$this->row->product_id)
			$formName = ',\'hikashop_product_form_'.$this->row->product_id.'_'.$this->params->get('main_div_name').'\'';
		else
			$formName = ',\'hikashop_product_form_'.$this->params->get('main_div_name').'\'';
	} else {
		$formName = $this->formName;
	}
}
if($end_date && $end_date<time()){
	?>
	<span class="hikashop_product_sale_end">
		<?php echo JText::_('ITEM_NOT_SOLD_ANYMORE'); ?>
	</span>
	<?php
}elseif($start_date && $start_date>time()){
	?>
	<span class="hikashop_product_sale_start">
		<?php
		echo JText::sprintf('ITEM_SOLD_ON_DATE',hikashop_getDate($start_date,$this->params->get('date_format','%d %B %Y')));
		//TODO echo $this->cart->displayButton(JText::_('Pre-order and add to cart'),'add',$this->params,$url,$ajax);
		?>
	</span>
	<?php
}elseif(!$this->params->get('catalogue') && ($this->config->get('display_add_to_cart_for_free_products') || !empty($this->row->prices))){
	if(@$this->row->product_min_per_order || empty($this->element->main)){
		$min = @$this->row->product_min_per_order;
	}else{
		$min = @$this->element->main->product_min_per_order;
	}
	if(@$this->row->product_max_per_order || empty($this->element->main)){
		$max = @$this->row->product_max_per_order;
	}else{
		$max = @$this->element->main->product_max_per_order;
	}
	if($min<=0){
		$min=1;
	}
	$wishlistAjax =	'if(hikashopCheckChangeForm(\'item\''.$formName.')){ return hikashopModifyQuantity(\'' . (int)@$this->row->product_id . '\',field,1' . $formName . ',\'wishlist\','.$module_id.'); } else { return false; }';

	if($this->row->product_quantity == -1 && !empty($this->element->main) && $this->element->main->product_quantity != -1){
		$this->row->product_quantity = $this->element->main->product_quantity;
	}
	$btnType = 'add';
	if($this->row->product_quantity==-1){
	?>
	<div class="hikashop_product_stock">
	<?php
		if(!empty($this->row->has_options)){
			if($this->params->get('add_to_cart',1)) echo $this->cart->displayButton(JText::_('CHOOSE_OPTIONS'),'choose_options',$this->params,hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway),'window.location = \''.str_replace("'","\'",hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway)).'\';return false;','');
		}else{
			if($this->params->get('add_to_cart',1)){
				echo $this->cart->displayButton(JText::_('ADD_TO_CART'),'add',$this->params,$url,$this->ajax,'',$max,$min);
				$btnType = 'wish';
			}
			if(hikashop_level(1) && $this->params->get('add_to_wishlist') && $wishlistEnabled && !$hideForGuest && $this->config->get('display_add_to_wishlist_for_free_products','1')){
				echo '<div id="hikashop_add_wishlist">';
					echo $this->cart->displayButton(JText::_('ADD_TO_WISHLIST'),$btnType,$this->params,$url,$wishlistAjax,'',$max,$min,'',false);
				echo '</div>';
			}
		}
	}elseif($this->row->product_quantity>0){
	?>
	<div class="hikashop_product_stock">
	<?php
/* EDITED CODE */
if($this->row->product_quantity < 5)
echo '<span class="hikashop_product_stock_count">Less than 5 pcs left<br/></span>';
else
echo '<span class="hikashop_product_stock_count">More than 5 pcs left<br/></span>';
/* EO EDITED CODE */
		echo '<span class="hikashop_product_stock_count">'.$text.'<br/></span>';
		if($config->get('button_style','normal')=='css'){
			echo '<br />';
		}
		if($max<=0 || $max>$this->row->product_quantity) $max = $this->row->product_quantity;
		if(!empty($this->row->has_options)){
			if($this->params->get('add_to_cart',1)) echo $this->cart->displayButton(JText::_('CHOOSE_OPTIONS'),'choose_options',$this->params,hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway),'window.location = \''.str_replace("'","\'",hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway)).'\';return false;','');
		}else{
			if($this->params->get('add_to_cart',1)){
				echo $this->cart->displayButton(JText::_('ADD_TO_CART'),'add',$this->params,$url,$this->ajax,'',$max,$min);
				$btnType = 'wish';
			}
			if(hikashop_level(1) && $this->params->get('add_to_wishlist')  && $wishlistEnabled && !$hideForGuest && $this->config->get('display_add_to_wishlist_for_free_products','1')){
				echo '<div id="hikashop_add_wishlist">';
					echo $this->cart->displayButton(JText::_('ADD_TO_WISHLIST'),$btnType,$this->params,$url,$wishlistAjax,'',$max,$min,'',false);
				echo '</div>';
			}
		}
	}else{
		?>
	<div class="hikashop_product_no_stock">
	<?php
		echo JText::_('NO_STOCK').'<br/>';
		$waitlist = $this->config->get('product_waitlist',0);
		if(hikashop_level(1) && ($waitlist==2 || ($waitlist==1 && (!empty($this->element->main->product_waitlist) || !empty($this->element->product_waitlist))))){ ?>
			</div><div id="hikashop_product_waitlist_main" class="hikashop_product_waitlist_main">
			<?php
			$empty='';
			jimport('joomla.html.parameter');
			$params = new HikaParameter($empty);
			echo $this->cart->displayButton(JText::_('ADD_ME_WAITLIST'),'add_waitlist',$params,hikashop_completeLink('product&task=waitlist&cid='.$this->row->product_id.$url_itemid),'window.location=\''.str_replace("'","\'",hikashop_completeLink('product&task=waitlist&cid='.$this->row->product_id.$url_itemid)).'\';return false;');
		}
		if(hikashop_level(1) && $this->params->get('add_to_wishlist')  && $wishlistEnabled  && !$hideForGuest && $this->config->get('display_add_to_wishlist_for_free_products','1')){
			if(!empty($this->row->has_options)){
				if($this->params->get('add_to_cart',1)) echo $this->cart->displayButton(JText::_('CHOOSE_OPTIONS'),'choose_options',$this->params,hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway),'window.location = \''.str_replace("'","\'",hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway)).'\';return false;','');
			}else{
				echo '<div id="hikashop_add_wishlist">';
					echo $this->cart->displayButton(JText::_('ADD_TO_WISHLIST'),'add',$this->params,$url,$wishlistAjax,'',@$this->row->product_max_per_order,1,'',false);
				echo '</div>';
			}
		}
	}?>
	</div>
<?php
}elseif(hikashop_level(1) && $wishlistEnabled && $this->params->get('add_to_wishlist','1') && $this->config->get('display_add_to_wishlist_for_free_products','1') && !$hideForGuest && !$this->config->get('display_add_to_cart_for_free_products')){
	if(!empty($this->row->has_options)){
		if($this->params->get('add_to_cart',1)) echo $this->cart->displayButton(JText::_('CHOOSE_OPTIONS'),'choose_options',$this->params,hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway),'window.location = \''.str_replace("'","\'",hikashop_completeLink('product&task=show&product_id='.$this->row->product_id.'&name='.$this->row->alias.$url_itemid.$this->category_pathway)).'\';return false;','');
	}else{
		$wishlistAjax =	'if(hikashopCheckChangeForm(\'item\''.$formName.')){ return hikashopModifyQuantity(\'' . (int)@$this->row->product_id . '\',field,1' . $formName . ',\'wishlist\','.$module_id.'); } else { return false; }';
		echo '<div id="hikashop_add_wishlist">';
			echo $this->cart->displayButton(JText::_('ADD_TO_WISHLIST'),'add',$this->params,$url,$wishlistAjax,'',@$this->row->product_max_per_order,1,'',false);
		echo '</div>';
	}
}

This will display if there is more or less than 5 articles in stock.

The following user(s) said Thank You: sandrine huard

Please Log in or Create an account to join the conversation.

  • Posts: 185
  • Thank you received: 1
9 years 10 months ago #160537

Bonjour Xavier et merci pour votre réponse.

Le code fonctionne il affiche les informations suivantes :

- Si le stock est supérieur ou égale (à vérifier) à 5 : "il reste plus de 5 articles en stock" --> pas de problème j'ai modifié par "produit en stock"
- Si le stock est inférieur à 5 : "il reste moins de 5 articles en stock" --> Est ce possible de modifier "Less than 5 pcs left" par la quantité exacte qu'il reste ? et si oui est-ce possible de mettre cette quantité en rouge ?

En tout cas merci à vous tous, j'ai bien avancé sur ce point.

Bien cordialement

Franck

Last edit: 9 years 10 months ago by sandrine huard.

Please Log in or Create an account to join the conversation.

  • Posts: 12953
  • Thank you received: 1778
9 years 10 months ago #160541

Bonjour Franck,
Il vous suffira simplement de modifier les lignes :

if($this->row->product_quantity < 5)
echo '<span class="hikashop_product_stock_count">Less than 5 pcs left<br/></span>';
Par :
if($this->row->product_quantity < 5)
echo '<span class="hikashop_product_stock_count" style="color:red;">il reste '. $this->row->product_quantity .' article(s) en stock<br/></span>';

The following user(s) said Thank You: sandrine huard

Please Log in or Create an account to join the conversation.

  • Posts: 185
  • Thank you received: 1
9 years 10 months ago #160724

Bonjour Mohamed,

Youhou, génial, super, nickel, terrible.

Après vous avoir bien embêté, je vous remercie encore pour votre patience et pour la rapidité de vos réponses.

Merci encore mille fois pour votre aide précieuse.

Bonne fin de journée, je passe le post en résolu.

Bien cordialement

Franck

Please Log in or Create an account to join the conversation.

  • Posts: 502
  • Thank you received: 12
9 years 5 months ago #176879

Bonjour à tous,

je souhaite faire qqchose de similaire mais plus simple :

- ne pas afficher les quantités des produits
- Mentionner seulement si les produits ne sont pas en stock !

Peux ton me dire si cela peut être simple ? ou dois ton passer comme dans ce topic ?

Merci de votre aide

PS : une option interessante dans mon cas : pouvoir acheter des produits même s'il n'y a pas le nombre nécessaire en stock

MERCI

Please Log in or Create an account to join the conversation.

Time to create page: 0.128 seconds
Powered by Kunena Forum