Mise en page de Champs personalisée

  • Posts: 181
  • Thank you received: 0
13 years 7 months ago #13693

oui c'est les même accès qu'hier

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
13 years 7 months ago #13694

L'accès ne semble plus fonctionner.

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

  • Posts: 181
  • Thank you received: 0
13 years 7 months ago #13695

ça doit être bon maintenant

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
13 years 7 months ago #13706

C'était la ligne:
if(!empty($this->itemFields)){
qu'il fallait remplacée par:
if(in_array($this->element->main->product_code,array('Calendrier_de_poche_3','Calendrier_de_poche_2','Calendrier_de_poche_1')) && !empty($this->itemFields)){

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

  • Posts: 181
  • Thank you received: 0
13 years 7 months ago #13730

j'ai vu que ça marche. Par contre ça enlève tous les champs personnalisé, comment sélectionner tel ou tel champs?

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
13 years 7 months ago #13761

Dans ce cas là, il faut changer la ligne:
foreach($this->itemFields as $fieldName => $oneExtraField) {

par quelque chose comme cela:

foreach($this->itemFields as $fieldName => $oneExtraField) { if(!in_array($this->element->main->product_code,array('Calendrier_de_poche_3','Calendrier_de_poche_2','Calendrier_de_poche_1')) && $fieldName="my_field") continue;

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

  • Posts: 181
  • Thank you received: 0
13 years 6 months ago #15802

Et si je voudrais que mes champs personnalisés n'apparaissent pas sur un seul produit ? :)

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
13 years 6 months ago #15813

Il faudrait alors utiliser quelque chose comme ceci:
foreach($this->itemFields as $fieldName => $oneExtraField) { if($this->element->main->product_code=='Calendrier_de_poche_2'){continue;}

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

  • Posts: 37
  • Thank you received: 0
13 years 5 months ago #17136

Bonjour,

Je suis en train d'essayer mais quelques questions se posent a moi.

L'objectif: Avoir un champ perso sur 1 seul produit qui permette a l'internaute d'envoyer une image pour personnaliser le produit qu'il achete.

J'ai suivi ces consignes:

nicolas wrote:

Pas avec les options actuelles. Il faudra donc éditer le fichier show de la vue product et changer la ligne:
<?php if(!empty($this->fields)){?>
en:
<?php if($this->element->product_code=='produit_avec_champs' && !empty($this->fields)){?>

en prennant soin de remplacer produit_avec_champs par le code du produit sur lequel vous voulez les champs personnalisés.
Il faudra également que les champs ne soit pas requis.


Dans mon fichier show.php je trouve 2 fois le code:
<?php if(!empty($this->fields)){?>

Dois je le remplacer au 2 endroits?


Et lorsque je le remplace par:
<?php if($this->element->product_code=='produit_avec_champs' && !empty($this->fields)){?>

Et bien sur le FO rien ne change j'ai toujours le champ d'upload sur toutes mes fiches produits, et si je ré-ouvre le fichier show.php, il n'a pas enregistré mes précédentes modifications.

Je n'ai pas oublié de remplacer "produit_avec_champs" par le code du produit sur lequel je voudrais voir mon champ d'upload.


Est ce que j'ai oublié quelque chose?


Si besoin vos id/mdp sont toujours actif sur le site.

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
13 years 5 months ago #17141

Il se pourrait que vous n'ayez pas les droits d'accès pour qu'hikashop puisse écrire vos modifications dans votre template.
Dans ce cas, il faut vérifier qu'hikashop puisse écrire dans le dossier templates/VOTRE_TEMPLATE/html/...

Il se pourrait aussi que vous n'éditiez pas le fichier pour le bon template. Veuillez vous assurer de cela.

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

  • Posts: 37
  • Thank you received: 0
13 years 5 months ago #17145

nicolas wrote:

Il se pourrait aussi que vous n'éditiez pas le fichier pour le bon template. Veuillez vous assurer de cela.



Non ca j'en suis sur :lol:

Je vais editer le fichier a l'ancienne direct sur par ftp on verra bien ce que ca donne...

Par contre je dois remplacer le code aux 2 endroits?

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
13 years 5 months ago #17148

Surtout dans le template.

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

  • Posts: 37
  • Thank you received: 0
13 years 5 months ago #17151

Voilà j'ai remplacé les 2 bout de code dans le fichier show.php qui se trouve dans:

/www/templates/MONTEMPLATE/html/com_hikashop/product

Mais rien ne change dans le FO.

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
13 years 5 months ago #17162

Et si vous mettez un exit directement dans le fichier, est ce que l'affichage change ? Normalement, vous devriez perdre l'affichage du template sur la page produit.
Si cela change, cela veut dire que le fichier que vous modifiez est bien pris en compte. Sinon, cela veut dire que vous ne modifiez pas le bon fichier.

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

  • Posts: 37
  • Thank you received: 0
13 years 5 months ago #17174

Je mets un :

exit

N'importe où dans le fichier show.php?

En 1er ligne c'est bon?

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
13 years 5 months ago #17175

il faut mettre une ligne:
exit;

Pour le pas vous tromper, le mieux est de la mettre tout à la fin.

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

  • Posts: 37
  • Thank you received: 0
13 years 5 months ago #17176

Effectivement ca me desactive le css ... je ne vois que le produit sans mise en page ^^

Par contre l'affichage de mon champ perso est toujours sur tous les produits :-(

Last edit: 13 years 5 months ago by Franky4doigts.

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
13 years 5 months ago #17178

Donc vous éditez le bon fichier.

J'ai relu votre premier post et je vois que vous changez le code if(!empty($this->fields)){ qui est utilisé pour l'affichage des champs personnalisés de type produit. Or, vous mentionez ensuite que c'est pour un champ d'upload.
Donc j'imagine que vous voulez en fait changer le code pour les champs personnalisés de type article et non produit. Auquel cas, ce n'est pas ce code là qu'il faut modifier mais le code: if(!empty($this->itemFields)){

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

  • Posts: 37
  • Thank you received: 0
13 years 5 months ago #17193

Bonjour,

Vous imaginez bien ;)
Je souhaiterai faire apparaitre sur la fiche d'un seul produit un champ d'upload pour que la personne personnalise le produit avec une image perso.

J'ai donc rectifié le tir, j'ai repris le fichier show.php d'origine et j'ai changé:

if(!empty($this->itemFields)){

par
if($this->element->product_code=='MonCodeProduit' && !empty($this->itemFields)){

Je n'ai plus de message d'erreur mais en revanche le champ personnalises n'apparait plus nul part.

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
13 years 5 months ago #17203

Même pour le produit qui s'appelle MonCodeProduit ?
Peut être est ce parce que votre produit a des variants ? Auquel cas ce serait $this->element->main->product_code et non $this->element->product_code qu'il faudrait utiliser.

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

Time to create page: 0.100 seconds
Powered by Kunena Forum