Plusieurs choix possible pour une option ?

  • Laurentfrom47
  • Topic Author
5 years 11 months ago #301851

-- HikaShop version -- : 4.0.1 business
-- Joomla version -- : 3.9
-- PHP version -- : 7.3

Bonsoir,

Pour ce site (voir URL) à l'option couleur de cadre en fait il existe bien sur plusieurs couleurs possibles, comment pourrais-je faire cela, il n'est pas possible d'ajouter dans l'option plusieurs choix possible ? un select en dessous ? ou un autre manière ?

Je vous remercie.

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

  • Posts: 82868
  • Thank you received: 13376
  • MODERATOR
5 years 11 months ago #301867

Bonjour,

Vous pourriez créer un champs personnalisé de la table "article" pour la sélection de la couleur de cadre.
Après, ce champs sera afficher tout le temps, même sur l'option n'est pas sélectionnée, mais vous pouvez aussi rajouter un peu de javascript à la page pour afficher/cacher la zone du champs personnalisé en fonction de l'option.
Par exemple:
stackoverflow.com/questions/18421082/sho...if-checkbox-selected

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

  • Laurentfrom47
  • Topic Author
5 years 11 months ago #301881

Bonjour,

ah oui super, pour placer ce champ dans la partie option quel code il faut, j'ai essayé avec celui là mais ça marche pas :
<?php echo $this->element->couleursdecadre; ?>

Merci beaucoup.

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

  • Posts: 82868
  • Thank you received: 13376
  • MODERATOR
5 years 11 months ago #301883

Bonjour,

Ce code permet juste d'afficher la valeur d'un champs de la table "produit". Donc rien à voir avec ce que vous voulez faire.
Afficher l'interface d'édition du champs est bien plus compliqué.
Vous trouverez le code qui fait ça dans le fichier show_block_custom_item via le menu Affichage>vues.

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

  • Laurentfrom47
  • Topic Author
5 years 11 months ago #301896

Ok, ce que j'ai fait, j'ai mis le code du template show_block_custom_item.php là ou je voulais, c'est celui ci :

<table class="hikashop_product_custom_item_info_table">
<?php
	foreach ($this->itemFields as $fieldName => $oneExtraField) {
		if(empty($this->element->$fieldName))
			$this->element->$fieldName = $oneExtraField->field_default;
		$itemData = hikaInput::get()->getString('item_data_' . $fieldName, $this->element->$fieldName);
?>
		<tr id="hikashop_item_<?php echo $oneExtraField->field_namekey; ?>" class="hikashop_item_<?php echo $oneExtraField->field_namekey;?>_line">
			<td class="key">
				<span id="hikashop_product_custom_item_name_<?php echo $oneExtraField->field_id;?>" class="hikashop_product_custom_item_name"><?php
					echo $this->fieldsClass->getFieldName($oneExtraField);
				?></span>
			</td>
			<td>
				<span id="hikashop_product_custom_item_value_<?php echo $oneExtraField->field_id;?>" class="hikashop_product_custom_item_value"><?php
					$onWhat='onchange';
					if($oneExtraField->field_type=='radio')
						$onWhat='onclick';
					$oneExtraField->product_id = $this->element->product_id;
					echo $this->fieldsClass->display(
						$oneExtraField,
						$itemData,
						'data[item]['.$oneExtraField->field_namekey.']',
						false,
						' '.$onWhat.'="hikashopToggleFields(this.value,\''.$fieldName.'\',\'item\',0);"'
					);
				?></span>
			</td>
		</tr>
<?php
	}
?>
	</table>
Par contre, cela affiche tous les champs article et ça ne s'affiche que si je mets l'affichage sur oui pour la partie publique.
Comment pourrais je faire afficher un champ spécifique même si l'affichage est sur non ?

Je vous remercie.

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

  • Posts: 82868
  • Thank you received: 13376
  • MODERATOR
5 years 11 months ago #301918

Bonjour,

Pour n'afficher qu'un champs, vous pouvez rajouter une ligne de ce genre:
if($fieldName != 'XXX') continue;
après la ligne:
foreach ($this->itemFields as $fieldName => $oneExtraField) {
de ce code.
Je ne vois pas l'intérêt de vouloir quand même afficher le champs malgré l'option d'affichage désactivé ?
Si c'est pour ne pas avoir l'affichage à la position normale, alors il suffit de rajouter une ligne:
return;
au début du fichier show_block_custom_item.
Sinon, si vraiment vous voulez faire cela, cela implique de charger vous-même les données du champs personnalisé de la table hikashop_field avec une requête MySQL pour ensuite pouvoir utiliser ces données pour l'affichage, donc c'est plus compliqué que juste du copier/coller...

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

  • Laurentfrom47
  • Topic Author
5 years 11 months ago #301928

Bonjour,

Oui ok, merci beaucoup.

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

  • Laurentfrom47
  • Topic Author
5 years 10 months ago #302118

Bonjour,

J'ai donc créé un champ de type item pour faire un sélecteur de couleur que j'affiche uniquement quand l'option est sélectionnée, cela fonctionne bien mais dans la commande il s'affiche dans la ligne du produit c'est certainement normal et logique mais existerait-il un moyen pour qu'il s'affiche dans la ligne couleur de cadre i.imgur.com/FnRYBrM.jpg ?

Je vous remercie.

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

  • Posts: 82868
  • Thank you received: 13376
  • MODERATOR
5 years 10 months ago #302119

Bonjour,

Ce n'est pas tant cela le soucis. Normalement l'option devrait être groupée avec le produit correspondant. Sinon, imaginez que la personne ajoute au panier deux vélos, vous ne saurez pas pour quel produit est l'option.
Cela peut être ok de découpler les produits et les options dans certaines boutique, mais pour votre cas, je ne pense pas que cela soit judicieux.
Et donc, je vous recommande d'activer l'option "Grouper les options avec les produits" de la configuration HikaShop. Ainsi, et l'option et la couleur seront ensemble avec le produit lui-même, ce qui me semble bien plus logique.

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

  • Laurentfrom47
  • Topic Author
5 years 10 months ago #302140

Bonjour Nicolas,

Mais c'est parfait ça!

Un grand merci.

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

Time to create page: 0.069 seconds
Powered by Kunena Forum