Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeProjetsProjetsStore : dévelop...Store : dévelop...Template intermédiaireTemplate intermédiaire
Précédente
 
Suivante
Nouveau message
09/04/2007 19:59
 

J'ai donc travaillé sur le template intermédiaire, je comptais faire un premier stop sur mes modifications, pour déjà valider ce qui a été fait. J'ai fait des choix qui sont peut être discutables, voilà pourquoi je fais ce post (pour en discuter donc). Voilà donc où j'en suis :
. Le template intermédiaire vient s'insérer (dans la logique) entre le template catalogue et le template de liste de produits. Ce dernier permettait en fait de définir l'apparence des éléments d'une liste de produits mais on ne pouvait jouer sur l'apparence de la liste elle même, la notion sur laquelle j'ai travaillé remédie à cela.
. Au niveau therminologie, je trouve que le terme productList utilisé pour le template produit n'est pas adéquate je parlerais donc plutot de productListItem alors que pour la nouvelle notion je parlerais là de productList.
. Au niveau paramétrage je n'ai strictement rien modifié, on paramètre toujours un template produit et un seul. Par contre les fichiers template (htm) existants ne jouent plus le même rôle. Ainsi ProductList.htm ne contient plus le template permettant de paramétrer l'apparence des produits dans la liste mais plutôt l'apparence de la liste elle-même, pour paramétrer l'apparence des produits on a un template "ProductListItem.htm". Cela vaut pour tout les templates, pour avoir une liste de produits on a donc DEUX template : <NomDuTemplate>.htm et <NomDuTemplate>Item.htm. Le premier pour l'apparence de la liste, le second pour l'apparence des éléments la composant.
. Pour le template de la liste on a les TOKEN suivant :
   - LISTTITLE : titre de la liste de produits
   - PAGENAV : navigation sur les pages de la liste
   - PAGEINFO : page courante sur le nombre total de page
   - PRODUCTS : liste des produits
. Pour le template des éléments de la liste, les TOKEN sont toujours les mêmes.

J'ai donc préféré ne pas ajouté de paramétrage supplémentaire et partir du principe qu'un template de liste de produits est constitué de deux fichiers, cela choque-t-il quelqu'un ?

Pour l'existant ça veut dire quoi ? J'avoue que c'est là qu'était mon principal problème dans tous les cas y'avait des impacts à l'intégration d'une telle notion. Ici quels sont-ils ? Si l'administrateur du site n'a pas changé les templates définis par défaut alors il n'y aura pas d'impact, car les fichiers templates vont être mis à jour correctement avec la nouvelle version. Par contre s'il a créer ses propres templates, il devra renommer ceux-ci. Par exemple, si j'ai un template MonTemplate.htm, je devrait le renommer en MonTemplateItem.htm et créer un template MonTemplate.htm qui sera un copier coller de ceux livrés (ProductList.htm par exemple). Là ça peu en facher certains, mais comment faire autrement ?

Au niveau du code, voici un apperçu des éléments modifiés :
. ProductList.ascx, modifications importantes le code "doublons" avec ProductDetail.ascx a été supprimé pour utilisé directement ProductDetail.ascx, intégration des nouveaux TOKEN. Ce usercontrol ne génère plus les éléments de la liste mais uniquement la liste elle-même. Les éléments de la liste sont créés par le usercontrol ProductDetail.ascx
. ProductDetail.ascx, deux nouvelles propriétés pour pouvoir l'utiliser directement par ProductList.ascx, InList (indiquant que le usercontrol se trouve dans une liste, on a donc des hyperlink de créés sur les titres alors qu'auparanvant nous ne les avions pas, on cache aussi les reviews lorsque l'on se trouve dans une liste...), Template (permettant de définir le template a utiliser).
. les différents templates ont été renommés en <NomTemplate>Item.htm, et de nouveaux template ont été créés pour avoir le niveau intermédiaire et avoir la même apparence que ce que l'on avait auparavant sans template intermédiaire.

Il n'y a pas d'autres fichiers impactés.

Voilà un premier jet, j'attends vos remarques.

 
Nouveau message
10/04/2007 13:44
 

Salut Loïc,

Je vois que tu avance bien, c'est chouette !

Le principe me semble bon. Seulement, le fait d'utiliser le nom d'un template qui avait une autre affectation auparavant va effectivement poser des problèmes. Si j'ai bien tout compris, tu prends le nom du template configuré dans les paramètres du module StoreFront que tu utilise pour construire la liste, puis tu concatène avec xxxItem.htm pour construire le modèle du produit ?
Il serait préférable de donner un autre nom quitte à ce qu'il soit fixe, genre CategoryList.htm. Tu utiliserais alors ce template pour construire la liste et celui des paramètres pour les produits. Si tu es satisfais de ton code tu peux me l'envoyer. Je regarderais pour ajouter un paramètre concernant les gabarits de la liste. Je pourrais mettre par défaut CategoryList.htm, et l'administrateur pourra créer ses propres templates et les mettre en oeuvre simplement. Ce serait l'idéal à mon avis, car ainsi lors d'une mise à jour tout fonctionnera de la même façon qu'auparavant.

Gilles

 
Nouveau message
10/04/2007 14:50
 

C'est en effet bien ainsi que le nom du template est construit.

Je comprends bien la problématique que tu lèves (puisque quelque part j'avais la même). Par contre j'ai dû mal à voir comment tu la résouds. Tu passerais par un autre paramétrage au niveau du module storefront pour chaque grande famille (nouveaux produits, meilleurs produits...) ? Je voulais éviter cela pour ne pas démultipler les paramétrages. Et je pars du principe que le look que l'on veut donner chaque produit se trouvant dans une liste est directement lié à celui de la liste (ils sont indissociable, cela fait partie de la charte graphique). Exemple si le titre de mon produit est écris en bleu sur un fond blanc et tout cela dans un cadre bleu lui aussi (ici c'est le template xxxItem.htm) et bien mon template contenant la liste des produit affichera une titre en bleu foncé avec une belle image qui sera dans les mêmes tons par exemple, voilà pourquoi les deux sont indissociables à mon gout. Donc mettre un paramétrage au niveau du module pour sélectionner un template pour la liste n'est pour moi pas forcéement nécessaire.

Alors après l'automatisme que j'ai mis en place n'est pas bon par rapport à l'existant ,ça c'est clair je peux donc prendre le problème à l'envers, c'est à dire que les fichiers restent les mêmes et que pour le template de la liste je cherche un fichier portant le même nom que celui paramétré + "Container" ou "Group" par exemple (on peux imaginer beaucoup de chose mais autant que cela soit le plus parlant). On aurait ainsi le template ProductList.htm pour réglé l'affichage des items de la liste et ProductListContainer.htm ou ProductListGroup.htm ou ProductListxxx.htm pour régler l'affichage de tout ce qui tourne autour de la liste des produits. Vois tu ce que je veux dire ? Resterais alors plus qu'a se décider sur un terme suffisemment parlant (dans l'autre sens Item était parfait :-)).

Si jamais ce fichier Container ou Group ou autre n'est pas trouvé et bien on pars sur un look par défaut qui serait celui qui existait jusque là par exemple.

C'est clair tout cela ?

 
Nouveau message
10/04/2007 15:09
 

Effectivement, j'ajouterais un paramètre. Après tout ce n'est pas si compliqué pour l'administrateur et ce n'est fait qu'une fois (en général). De plus, bien que les deux soient liés, dans certains cas l'administrateur ou le graphiste pourraient vouloir obtenir des présentations différentes. Si c'est fixe, alors aucune possiblilité de modifier le comportement. Cela permettrais aussi de faire des tests sur des copies de templates sans perdre les originaux (même si l'on peut toujours faire des sauvegardes). Mais il est préférable de ne pas modifier le nom xxxList en xxxItem pour conserver la compatibilité ascendante. En revanche, pour le nom tu as raison "Container" serait plus logique et cohérent avec l'existant dans dnn.

Gilles

 
Nouveau message
10/04/2007 17:29
 

Je peux peut être l'ajouter moi même ce paramètre ?

Vu que l'on rajoute ce paramètre, je vais créer un seul template qui sera le template par défaut l'équivalent du usercontrol ProductList.ascx. Le paramètre que je vais ajouter pointera par défaut sur ce template s'il n'est pas renseigné (cas de l'existant). Maintenant comment l'appeller ce template ? AllListContainer.htm, ListContainer.htm, ....

Je fais donc sauter ma règle automatique où si j'avais mon template d'item qui s'appellait ProductList.htm, j'avais forcément un template ProductListContainer.htm pour tous ce qu'il y avait autour.

On est ok ? Au dernier décompte y'avait Loïc 1 Gilles 0 (si si... tu cherchera dans les postes) et bien on est passé à Loïc 1 Gilles 1.

Si on est ok, après faudra discuter du paramétrage des template au niveau des catégories, je crois que j'ai encore de trucs à dire.

 
Nouveau message
10/04/2007 17:48
 

Bien sûr que tu peux l'ajouter toi même ! C'était juste pour te soulager un peu, n'oublie pas de tout bien noter car après je vais devoir me prendre la tête pour retrouver les mdifications avant de les intégrer à la prochaine version.

Pour le nom, je pense que ListContainer.htm est le plus approprié.

On est ok ! Loïc 1 - Gilles 1  Un partout, la balle au centre !

Passe moi un coup de fil ce soir si tu veux discuter des templates par catégories. De mon côté, je viens de finir deux skin objects. Un pour afficher un icone et un lien optionel pointant vers la boutique ou le panier au choix. Le second est un "micro cart" reprenant le nombre d'articles et le montant du panier. Le tout entièrement paramètrable et traduisible off course !

Gilles

 
Précédente
 
Suivante
HomeHomeProjetsProjetsStore : dévelop...Store : dévelop...Template intermédiaireTemplate intermédiaire