Champ par étape du passage en caisse

  • Posts: 42
  • Thank you received: 0
11 years 9 months ago #87599

Ce sujet est traité ici . Il est indiqué d'ajouter des lignes de codes dans le foreach.

1. Pouvez-vous indiquer où exactement dans la ligne qui commence par foreach ?
2. Doit-on garder ces lignes de codes intactes ou bien les personnaliser avec les id des champs personnalisés ?

Merci pour vos précisions.

Last edit: 10 years 1 month ago by Studbook.

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

  • Posts: 13201
  • Thank you received: 2322
11 years 9 months ago #87615

1. Il faut ajouter les lignes "if($k == 0) $step_name[$k] = '1st step'; if($k == 1) $step_name[$k] = '2nd step'; ..." à la place de "$step_name = reset($step);"
2. Cela dépend de ce que vous souhaitez vraiment faire.

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

  • Posts: 42
  • Thank you received: 0
11 years 9 months ago #87619

Je ne comprends pas :

la réponse qui figure dans le post que j'ai cité est la suivante :

Bonjour,

Il faut modifier la vue "checkout / custom_fields" dans HikaShop > Display > Views et ajouter une condition sur $this->step et $fieldName dans le foreach, par exemple:
if($this->step == 0 && $fieldName == 'maField1'){
//dislay the first custom field
}else if($this->step == 1 && $fieldName == 'maField2'){
//dislay the second custom field
}


Or dans la vue "chekout/custom_fields" ne figure pas "$step_name = reset($step);" que vous citez ! S'agit-il d'une confusion dans le nom des vues ?

Mon souhait est d'afficher le champ 1 à l'étape 1 et le champ 2 à l'étape 3.

Merci

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

  • Posts: 13201
  • Thank you received: 2322
11 years 9 months ago #87640

Excusez moi j'étais parti dans le nom des step dans le breadcrumb du checkout.

Pour les custom fields il faut simplement ajouter le code donné afin d'afficher le contenu du tableau ou non.
Le mieux est d'utiliser le code:

if(($this->step == 0 && $fieldName == 'Champ 1') || ($this->step == 2 && $fieldName == 'Champ 2')){ ?>
//<tr> ... </tr>
<?php }

N'oubliez pas qu'il faut gérer les champs cachés dans chaque step afin qu'ils soient envoyés en POST sur chaque étape pour bien récupérer leurs valeurs.
Cela requiert de bonnes connaissances PHP.

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

  • Posts: 42
  • Thank you received: 0
11 years 9 months ago #87644

Oui, j'avais compris qu'il fallait ajouter ce code. Ma question était "où exactement" car je n'y connais absolument rien en php. Je croyais qu'il n'y avait que ça à faire. Mais s'il y a aussi les champs cachés... j'abandonne !

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

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
11 years 9 months ago #87666

Bonsoir,

Pour votre question:

Ma question était "où exactement"

La réponse était déjà inclus dans votre message précédent:

Il faut modifier la vue "checkout / custom_fields" dans HikaShop > Display > Views


Vous devez donc modifier la vue "checkout / custom_fields". Les vues sont accessibles dans l'interface d'administration d'HikaShop, dans le menu "Display" (affichage) puis "Views" (vues).

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

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

  • Posts: 42
  • Thank you received: 0
11 years 9 months ago #87669

J'ai du mal à me faire comprendre. j'avais bien compris qu'il s'agissait de cette vue et je sais comment y accéder. Ma question était comment la modifier : une fois dans la vue, dans quelle ligne, devant quel caractère ou ligne de code précise dois-je ajouter le code modifié, car malheureusement je ne comprends pas le php, désolé.

Merci.

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

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
11 years 9 months ago #87673

Bonsoir,

Voici le mieux que je peux vous proposer.

<?php
$showfields = array(
	'my_special_field1' => 0, // my_special_field1 display only on step 0
	'my_special_field2' => 2, // my_special_field2 display only on step 2
);
$type = $this->type;
foreach($this->extraFields[$type] as $fieldName => $oneExtraField) {
	if(isset($showfields[$fieldName]) && $this->step != $showfields[$fieldName]) {
		echo '<tr style="display:none;"><td><input type="hidden" name="data['.$type.']['.$fieldName.']" value="'.$this->escape($this->$type->$fieldName).'"/></td></tr>';
		continue;
	}
?>
	<tr class="hikashop_checkout_<?php echo $fieldName;?>_line" id="hikashop_<?php echo $type.'_'.$oneExtraField->field_namekey; ?>">
		<td class="key">
			<?php echo $this->fieldsClass->getFieldName($oneExtraField);?>
		</td>
		<td>
<?php
	$onWhat='onchange';
	if($oneExtraField->field_type=='radio')
		$onWhat='onclick';

	echo $this->fieldsClass->display($oneExtraField,$this->$type->$fieldName,'data['.$type.']['.$fieldName.']',false,' '.$onWhat.'="hikashopToggleFields(this.value,\''.$fieldName.'\',\''.$type.'\',0);"');
?>
		</td>
	</tr>
<?php
}
Comprennez bien que nous ne pouvons pas nous permettre de faire ce genre de développement spécifique comme cela via notre forum. Cela prends beaucoup de temps et sort du cadre de "support".
Les modifications que je viens de vous proposer seront intégrées dans HikaShop afin de pouvoir aider la communauté avec une nouvelle possitilité de personnalisation.

Si vous avez des besoins spécifiques et que vous avez du mal avec le PHP, je ne pourrais que vous conseiller de passer via notre section "commercial jobs" ou de faire une demande via notre formulaire de contact.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.
Last edit: 11 years 9 months ago by Jerome.

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

  • Posts: 42
  • Thank you received: 0
11 years 9 months ago #88109

Bonjour et merci pour votre réponse circonstanciée.

Je pensais à la lecture de ce post , qu'il suffisait de coller les 4 lignes de codes qui y sont mentionnées dans la vue checkout_step. D'où ma question initiale : "où coller ces lignes dans la vue checkout_step?".

Mais cette fois vous m'adressez une pleine page de code et ma question reste entière : ces nouvelles lignes de code doivent elles en remplacer d'autres dans la vue checkout_step ? Où les placer exactement ?

Enfin, j'ai pris bonne note qu'il s'agissait d'une demande de développement (ce que j'ignorais à la lecture du post que je mentionne plus haut) et que si ce cas se représente je passerai par "commercial jobs".

Vous suggérez également de passer par le formulaire de contact ; réalisez-vous vous-même des développements spécifiques ? Auriez-vous une grille tarifaire ? Un béotien comme moi y gagnerait sans doute beaucoup de temps si le tarif est satisfaisant.

Merci encore

Xav

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

  • Posts: 82868
  • Thank you received: 13376
  • MODERATOR
11 years 9 months ago #88294

C'est dans la vue "checkout / custom_fields" qu'il faut remplacer le code par ce que propose Jérome.

Si nous acceptons un développement spécifique, nous le réalisons nous même. Sinon, nous pouvons vous redirigez vers des développeurs tiers qui connaissent bien HikaShop et Joomla.
Nos tarifs dépendent de la complexité de la demande et du temps que cela nous prendra, nous n'avons pas de grille tarifaire pré-établie.

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

Time to create page: 0.139 seconds
Powered by Kunena Forum