Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeProjetsProjetsStore : dévelop...Store : dévelop...Assouplir la mise en place du look dAssouplir la mise en place du look d'un catalogue
Précédente
 
Suivante
Nouveau message
14/03/2007 12:40
 

Lorsque j'ai découvert WWStore j'avoue que j'ai beaucoup apprécié le système de template (j'ai pas mal pratiqué les skins sous DNN ceci explique peut etre cela).

Les skins de DNN sont un très bon exemple : tout est modifiable dans l'apparence du portail, cela donne (je trouve) une grande puissance au produit. Alors qu'est ce que je voudrais "améliorer" dans WWStore ?

Disons que ce que je vois comme amélioration dans un premier temps est le template utilisé pour le catalogue et notemment les ruptures entre les grandes familles de produits (nouveaux produits, produits les plus populaires, catégories...).

Le texte du libellé de ces familles est paramétrable mais par contre son apparence est figé et en dur dans le code. Pourquoi ne pas utilisé un Token particulier pour décidé d'afficher le titre d'une grande famille à tel ou tel endroit ? On irait cherché le texte de ce libellé dans les fichiers ressources comme on le fait depuis la version 2.00.005.

Je sais qu'un choix différent a été fait mais nous aurions pu faire de la même façon pour décider de l'affichage du numéro de page ou bien même de la navigation. On décide alors de l'endroit où l'on souhaite afficher ces informations avec l'aide du template (en passant en plus c'est plus simple pour nous à coder dans WWStore).

Voici un exemple de template au format HTML que l'on pourrait avoir comme token (bien sur libre à nous de faire des templates avec des balises HTML pour la mise en forme), en bleu les nouveaux token :

[MESSAGE]
[DETAILTITLE]
[DETAILPAGETEXT][DETAILPAGENAVIGATION]
[DETAIL]
[NEWTITLE]
[NEW]
[FEATUREDTITLE]
[FEATURED]
[POPULARTITLE]
[POPULAR]
[CATEGORYTITLE]
[CATEGORY]

Après pour ce qui est des libellés des token, je n'ai franchement pas beaucoup poussé la réflexion.

 
Nouveau message
14/03/2007 14:12
 

Tes questions sont intéressantes. Toutefois, il existe déjà pas mal de choses qui répondont à tes besoin. Je sais qu'il n'y a pas (encore) de documentation et j'en découvre moi même tous les jours dans ce projet. En particulier, tu peux très bien modifier l'ordre d'affichage et les propriétés des objets. Par exemple, si tu modifie le template Catalog.htm comme ceci :

[MESSAGE]
[DETAIL]
[CATEGORY::Title="mon titre à moi"]
[NEW]
[FEATURED]
[POPULAR]

Les produits par catégorie vont se touver en haut et le titre sera modifié en "mon titre à moi". Ceci est valable pour tous les tokens. Le problème est de savoir quelles sont les propriétés existantes pour un objet donné. Regarde le code du fichier TemplateControler.cs du projet DotNetNuke.WWStore.Catalog. De plus, si ton fichier css contredit les modifications de propriétés, c'est le css qui gagne ! Car il est appliqué en dernier. Pour les titres des sections, c'est la classe css "NormalBold" héritée de default.css qui s'applique (voir ProductList.ascx). Tu peux éventuellement renommer styles.css en module.css pour qu'il soit pris en compte au niveau du module. Puis créer une autre classe dans ce fichier et appliquer le nom de ta classe dans ProductList.ascx.

Gilles

 
Nouveau message
14/03/2007 14:51
 

OK, tres interessant ces propriétés de token par contre pour les connaitre vaut mieux avoir les sources, en fait ce sont les propriétés publiques de l'objet ProductList.ascx (dans le cas des tokens [CATEGORY], [NEW], [FEATURED] et [POPULAR]). En voilà une petite liste (pour ceux que cela peux interesser) :

CategoryID
Title
Template
RowCount
ColumnCount
ColumnWidth
ShowThumbnail
ThumbnailWidth
DetailPage
ShowAddToCart
ShowPageInfo
ShowPageNav

C'est déjà pas mal. Il manque pas grand chose pour que la boucle soit complète. On peut considérer qu'il y a trois niveaux pour la représentation d'un produit ou d'une liste de produits :

Le catalogue : on peut gérer le positionnement des blocs à afficher par le biais d'un template
Le produit lui-même : on peut gérer le look que l'on veut donner à l'affichage des informations sur le produits (toujours par le biais d'un template)
Les blocs produits : c'est ici que tous les produits sont affichés, on peut jouer sur le titre, l'affichage ou non de la numérotation des pages par contre là on ne s'appuie pas sur un template, il s'agit de la page ProductList.ascx, et là quoi qu'on en dise c'est dommage de pas pouvoir jouer sur le look...c'est rageant ça

 
Nouveau message
14/03/2007 15:05
 

Franchement plus j'y pense et plus ça me branche ça : un ProductList.ascx géré de la même façon que le Catalog.ascx. Tout les contrôles sont créés dynamiquement en s'appuyant sur un template et là on a quelque chose de complet et de souple. Pour moi il manque un maillon dans la chaîne.

En plus ce n'est pas incompatible avec l'existant. On aurait alors un template pour le catalogue, un template pour le bloc produit et un template pour le produit. Au niveau souplesse je crois pas qu'on puisse faire mieux et en plus ça donne une solution bien homogène non ?

Au niveau paramétrage, il faudrait avoir une propriété supplémentaire pour chaque famille (ou bloc je ne sais plus comment les appelés : nouveaux produits, produits les plus populaires, catégories...). Ce paramétrage permettrait de définir un template pour les blocs produits comme on a pour chaque famille un template produit. Intéressant ou pas ?

 
Nouveau message
14/03/2007 15:21
 

Oui ce serait une autre façon de faire complémentaire des css, pourquoi pas !

Il ne te reste plus qu'à t'atteler au problème !  En revanche, notes bien toutes les modifications et les fichiers impactés. Car nous n'avons pas encore de gestionnaire de code source. Alors quand il faudra mixer les projets de chacun cela risque d'être fastidieux sans liste des modifications.

De mon côté, je refais l'import / export et je couche sur le papier les futures améliorations que je vais proposer (c'est encore secret, chut !). Seras-tu à la réunion vendredi ?

Gilles

 
Nouveau message
14/03/2007 15:36
 

Je suis déjà parti dessus, je vais m'inspirer de ce qui a été fait pour la page Catalog.ascx et Product_Detail.ascx. En espérant ne pas tomber sur un gros lézard mais je suis bien conscient que j'aurais pu commencer à m'attaquer à un truc moins violent mais bon...faut bien se lancer.

Je n'y serais pas vendredi mais à regret franchement.

Pour les modifications pas de soucis, je vais mettre cela précieusement de côté.

 
Nouveau message
14/03/2007 16:14
 

Génial !

Nous avons un point commun car tu dis : Il faudrait.. et dans la minute qui suit ton post... tu fais !
Je reconnais bien là le programmeur qui est en toi, tu es mis à jour Loïc.

Dommage pour vendredi. T'inquiète nous ferons un joli compte-rendu.

Gilles

 
Précédente
 
Suivante
HomeHomeProjetsProjetsStore : dévelop...Store : dévelop...Assouplir la mise en place du look dAssouplir la mise en place du look d'un catalogue