Jump to content

PS 1.7 : champs de personnalisation : couleur du texte si obligatoire


Recommended Posts

Posted (edited)

Bonjour,

J'ai un petit soucis avec mes options de personnalisation.

En effet, lorsqu'un champ de personnalisation est obligatoire, il n'y a aucune mention entre parenthèse, et le texte est de la même couleur, ce qui me semble peu pertinent pour faire ressortir le caractère obligatoire.

J'aimerais si possible que le texte "Prénom" dans l'exemple soit coloré, et qu'il y ai un ajout entre parenthèse (Obligatoire); comme c'est le cas pour (En option).

1451345345_Sanstitre-1.thumb.jpg.88f710bff7bc77cdf42eebe02f9e1dd8.jpg

 

Voici un exemple de produit concerné :

https://gounacreations.com/mug/1214-mug-prenom-indien-enfant.html
 

Merci beaucoup !

Edited by gouna (see edit history)

Share this post


Link to post
Share on other sites

Posted (edited)

Bonjour,

Pour les champs non obligatoires, on a :

<small class="text-muted"> (En option)</small>

Pour les éléments obligatoire par contre on a rien de spécial, il y a peut-être moyen de modifier cela dans le tpl, mais j'ai peur que l'ajout d'une class et d'un texte (Obligatoire) s'affiche sur tous les champs...

Dans le product-customization.tpl :

<label for="field-{$field.id_customization_field}"> {$field.label}{if !$field.required}<small class="text-muted"> ({l s='Optional' d='Shop.Forms.Labels'})</small>{/if}</label>

L'idée serait d'afficher un texte en cas de customisation obligatoire.

Edited by gouna
ajout de code (see edit history)

Share this post


Link to post
Share on other sites

bonjour,

vu que le if ajoute la class text-muted si le champs n'est pas requis, utilisons-le à l'envers pour ajouter une autre class au label :

<label for="field-{$field.id_customization_field}" {if $field.required}class="texte-requis"{/if}> {$field.label}{if !$field.required}<small class="text-muted">

et puis faire le css pour cette nouvelle class

 

A tester

Share this post


Link to post
Share on other sites

Posted (edited)

Le code donné rendait une erreur 500, je l'ai modifié comme ceci :

<label for="field-{$field.id_customization_field}"> {$field.label}{if $field.required}<small class="texte-requis"> ({l s='Requis' d='Shop.Forms.Labels'})</small>{/if} {if !$field.required}<small class="text-muted"> ({l s='Optional' d='Shop.Forms.Labels'})</small>{/if}</label>

Cela semble fonctionner !

 

1242674589_Sanstitre-1.thumb.jpg.06845e9c559f40c54470d96edac96e9c.jpg

 

Merci !

Edited by gouna (see edit history)

Share this post


Link to post
Share on other sites

le premier {/if} peut être remplacé par {else} : si ... sinon ... fin de si

Désolée, j'avais pas testé mais en y regardant de plus près, c'est effectivement logique !

Share this post


Link to post
Share on other sites

il y a 23 minutes, kerlin a dit :

le premier {/if} peut être remplacé par {else} : si ... sinon ... fin de si

Désolée, j'avais pas testé mais en y regardant de plus près, c'est effectivement logique !

Merci pour l'info, en testant le {else} à la place du premier {/if} on obtient une erreur 500

<label for="field-{$field.id_customization_field}"> {$field.label}{if $field.required}<small class="texte-requis"> ({l s='Requis' d='Shop.Forms.Labels'})</small>{else} {if !$field.required}<small class="text-muted"> ({l s='Optional' d='Shop.Forms.Labels'})</small>{/if}</label>

J'ai peut-être fait une grossière erreur 🙂 Sinon avec les 2 if cela fonctionne correctement, merci 🙂

Share this post


Link to post
Share on other sites

Au temps pour moi, pardon ! si on met {else} il ne faut pas rouvrir un {if}. Ici, ce serait : SI champ requis, on affiche le texte avec la class, sinon, c'est l'autre texte, fin de if.

Le résultat serait que pour tous les champs requis, la condition 1 serait appliquée. Sinon, dans tous les autres cas, ce serait le reste qui s'afficherait. Dans le cas présent, ça peut le faire dans le sens que tous les champs non requis seront marqués optionnels.

D'ailleurs, pour alléger le form, on pourrait ne laisser que la première condition, la mention Requis ne serait affichée qu'à côté des champs obligatoires. Et on n'aurait pas "Optionnel" pour tous les autres. 

<label for="field-{$field.id_customization_field}"> {$field.label}{if $field.required}<small class="texte-requis"> ({l s='Requis' d='Shop.Forms.Labels'})</small>{/if}</label>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More