Jump to content

nouvelle caractéristique


Recommended Posts

Bonjour à tous,

 

Voila pour une de mes boutiques je prévoie d'ajouter pour chaque produit des conseils d'entretiens

Ces conseils seront : des pictogramme + du texte.

 

Ces conseils devrais s'afficher dans une hook différents des autre caractéristiques.

 

Et j'hésite sur la facon de developper intéger cela.

 

Solution 1:

Ajouter un caractéristique picto

Ajouter un caractéristique conseils

Puis dans le template mettre deux fois la boucle d'affichage des caractéristiques un qui affiche la caractéristique "normal", et ignore picto et conseil, et une deuxième boucles faisant l'inverse.

==> le souci est que du coup on mélange la partit Vue, avec la partie modèle

 {if isset($features) && $features}
 <!-- feature -->
 {foreach from=$features item=feature}
		{if isset($feature.value)}
		 {if ($feature.name=='picto')}
 {$picto = split("-", $feature.value)}
  {$advices = "{$advices}<li>"}
  {foreach $picto as $keyvar}
   {$advices = "{$advices}<img src=\"{$img_dir}picto/{$keyvar}.png\">"}
  {/foreach}
  {$advices = "{$advices}</li>"}
   {elseif ($feature.name=='Conseil')}
	{$advices = "{$advices}<li>{$feature.value|escape:'htmlall':'UTF-8'}</li>"}
   {else}
 {$features_autre = "{$features_autre}<li><span class=\"product_caracteristique\">{$feature.name|escape:'htmlall':'UTF-8'}</span>{$feature.value|escape:'htmlall':'UTF-8'}</li>"}
{/if}
		{/if}
 {/foreach}
 <!-- feature -->
 {/if}
 {if isset($advices)}
 <!-- product's advice -->
 <div id="advice">
  <span class="advice_title typo_perso">Les Conseils d'entretiens</span>
  <ul id="idTab2" class="bullet">
{$advices}
  </ul>
 </div>
 <!-- product's advice -->
 {/if}
[...]
 {if isset($features_autre) && $features_autre}
  <!-- product's features -->
<ul id="idTab2" class="bullet">
 {$features_autre}
</ul>
 {/if}

 

Solution 2:

Ajouter une un attribue sur les "Feature"

overrider la classe "Feature" pour avoir un variable "$feature_place1" "$feature_place2"

2 module correspondant appeler dans deux hool différents de la fiche produit,

 

Solution 3:

Créer complètement un nouveau système en parallèle des caractéristiques

avec de nouvelle table

avec de nouveau module en front et back

 

 

Pour quelle solution opteriez vous, sachant que le temps de developpement est vraiment différents, mais j'ai peur quand dans la solution 1 déja developper, le temps d'affichage patissent de ce traitement de boucle sous smarty?

Edited by jd440 (see edit history)
Link to comment
Share on other sites

Bonjour,

 

Le pictogramme est complètement gérable via les caractéristiques (vous pouvez même simplifier cela avec des ID (images des pictos de type "id_caractéristique.jpg".

 

Pour le conseil personnalisé, s'il y en a un par produit, je peux vous conseiller par exemple de créer un champ dédié (type texte) dans la table product en BDD. Pour cela, pensez à faire un override de la classe product afin de définir ce nouveau champ dans le modèle. Ensuite, vous pouvez le gérer via l'importation CSV (si besoin) ou modifier l'interface administration afin d'afficher un nouveau champ textarea + ckeditor. Pour cela, ça se passe via un override du contrôleur adminProductController. ;)

 

Bon développement !

Link to comment
Share on other sites

c'est ce à quoi je pensais.

 

si j'ajoute un champ sur la table product en BDD, est ce qu'il n'y a pas de risque que lors de mis à jour ce champs soit supprimé?

 

Que pensez vous de ce traitement dans le template des donnés:

 {if isset($features) && $features}
 <!-- feature -->
 {foreach from=$features item=feature}
					{if isset($feature.value)}
					 {if ($feature.name=='picto')}
	 {$picto = split("-", $feature.value)}
	  {$advices = "{$advices}<li>"}
	  {foreach $picto as $keyvar}
	   {$advices = "{$advices}<img src=\"{$img_dir}picto/{$keyvar}.png\">"}
	  {/foreach}
	  {$advices = "{$advices}</li>"}
	   {elseif ($feature.name=='Conseil')}
			{$advices = "{$advices}<li>{$feature.value|escape:'htmlall':'UTF-8'}</li>"}
	   {else}
	 {$features_autre = "{$features_autre}<li><span class=\"product_caracteristique\">{$feature.name|escape:'htmlall':'UTF-8'}</span>{$feature.value|escape:'htmlall':'UTF-8'}</li>"}
	{/if}
					{/if}
 {/foreach}
 <!-- feature -->
 {/if}

Link to comment
Share on other sites

  • 3 weeks later...

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
×
×
  • Create New...