Oui en effet, bien vu.
Le 03/09/2010 21:45, Régis Houssin a écrit :
J'ai commité les modifications, j'ai nommé les templates "card.view.tpl.php", "card"
désigne la fiche (soc.php) ça permettra de nommer par exemple "info.view.tpl.php" pour une page
info (info.php)
Qu'en penses tu?
-----------------------------------------
Régis Houssin
Tél. +33633020797
http://www.dolibarr.fr
http://www.dolibox.fr
Le 3 sept. 2010 à 20:53, "Laurent Destailleur (Eldy)"<[email protected]> a
écrit :
Oui c'est bien cela sur le principe.
Par contre pour faciliter la compréhension du dev, je verrais toutefois les
regles de nommage suivante:
Répertoire: societe/canvas/xxx/
Répertoire: societe/canvas/xxx/tpl/
xxx.create.tpl.php
xxx.edit.tpl.php
xxx.view.tpl.php
Répertoire: societe/canvas/xxx/class
xxx.ds.class.php hérite de l'objet origine comme societe.class.php
xxx.action.class.php hérite de la classe SocActionsCommon qui est dans le
fichier htdocs/societe/canvas/class
Rem: "ds" veut dire "datasource" et "action" veut dire "action" et sont des
termes communéments admis pour parler de Model et Controller.
Et en effet dans soc.php, on aurait,
- en mode canvas non actif, le code actuel
- en mode canvas actif (à définir comment on active, actuellement par un param
dans l'url mais il vaudrait mieux une constante en base): des simples appels
aux fonctions de la classe xxx.action.class.php pour les actions et des
templates pour l'affichage.
Et oui ainsi cela pourrait s'appliquer à tout type de données sans trop de risque de tout casser,
et si on garde le mode standard tel quel sans trop compliqué le code. Celui qui veut travailler sur
le core de dolibarr ne sera "géné" que par quelques lignes de codes en plus qui ne sont
jamais active du fait du test sur if canvas actif, ce qui respecte bien l'adage du "Simple à
développer" qu'il faut conserver.
Le 03/09/2010 11:14, Régis Houssin a écrit :
afin de coller au MVC voila comment on pourrait voit la chose:
M : Model (accès en base)
V : View (template)
C : Controller (contrôle, traitement des données)
on est d'accord que la classe "societe.class.php" est le "Model" du module
société et ne doit pas contenir de traitement d'affichage,
dans le cas des canvas, "thirdparty.default.class.php" est le "Model" du canvas
qui hérite de société
et "edit.tpl.php" est un des affichages (View) du canvas
il nous manque donc un "Controller",
nous pourrions donc définir un canvas de la sorte :
répertoire societe/canvas/default/
"thirdparty.default.class.php" : le "Model" du canvas (hérite de la classe
Societe)
"card.default.class.php" : le "Controller" de la page "soc.php" spécifique a ce canvas (hérite de
la classe CardCommon ci-dessous), il sert d'interface entre "soc.php" et le "Model"
"card.edit.tpl.php, card.view.tpl.php, card.create.tpl.php" : les différentes "View"
(code html) de la page "soc.php"
répertoire societe/canvas/
"card.common.class.php" : le "Controller" de la page "soc.php" commune aux
canvas
soc.php ne serait là que pour appeler les différents "Controller" et afficher
le template
ce genre de fonctionnement pourrait s'appliquer à tout type de page (canvas ou
non)
Vous en pensez quoi ?
Le 02/09/10 23:37, Laurent Destailleur a écrit :
La je viens de faire des modifs qui ont l'air de marcher pour un mode mixte.
Par defaut le champ canvas est null en table.
Quand on appelle une url avec canvas=xxx alors cela utilise le masque du canvas
xxx et cela stocke en base avec canvas=xxx. Ainsi en modif on utilise aussi le
canvas=xxx.
Ainsi je pense qu'on a un mode mixte qui permet d'avancer sur l'amélioration du
code de la fonction canvas. Les 2 modes sont possibles.
Je te laisse tester et voir si j'ai pas trop cassé.
Le 02/09/2010 23:32, Régis Houssin a écrit :
Oui je sais, mais je comptais bien séparer tout ça, je n'ai pas terminé
-----------------------------------------
Régis Houssin
Tél. +33633020797
http://www.dolibarr.fr
http://www.dolibox.fr
Le 2 sept. 2010 à 22:05, "Laurent Destailleur (Eldy)"<[email protected]> a
écrit :
Il y a aussi plein de vilaine choses dans le code des canvas.
Ainsi il n'y a plus de séparation MVC et on trouve du code de présentation dans
les classe metiers comme la fonction
ajax_selectThirdPartyType(), assign_values, assign_values, etc... dans la
classe métier societe.
Il faudrait sortir tout cela de la classe societe et mettre cela dans le
template ou la page qui appelle le template.
--
Eldy (Laurent Destailleur).
---------------------------------------------------------------
EMail:[email protected]
Web:http://www.destailleur.fr
Dolibarr (Project leader):http://www.dolibarr.org
To make a donation for Dolibarr project via Paypal:[email protected]
AWStats (Author) :http://awstats.sourceforge.net
To make a donation for AWStats project via Paypal:[email protected]
AWBot (Author) :http://awbot.sourceforge.net
CVSChangeLogBuilder (Author) :http://cvschangelogb.sourceforge.net
_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev
_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev
--
Laurent.
-----------------------------------------
EMail:[email protected]
Web:http://www.destailleur.fr
Messenger MSN:[email protected]
Messenger Jabber: eldy
Tel: 0662724322
_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev
Cordialement,
--
Régis Houssin
---------------------------------------------------------
Cap-Networks
30, Quai de Verdun
71700 Tournus
FRANCE
VoIP: +33 1 83 62 40 03
GSM: +33 6 33 02 07 97
Web:http://www.cap-networks.com/
Email:[email protected]
Dolibarr developer:[email protected]
Web Portal:http://www.dolibarr.fr/
SaaS offers:http://www.dolibox.fr/
Shop:http://www.dolistore.com/
Development platform:http://www.dolibarr.pro/
---------------------------------------------------------
_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev
--
Eldy (Laurent Destailleur).
---------------------------------------------------------------
EMail: [email protected]
Web: http://www.destailleur.fr
Dolibarr (Project leader): http://www.dolibarr.org
To make a donation for Dolibarr project via Paypal: [email protected]
AWStats (Author) : http://awstats.sourceforge.net
To make a donation for AWStats project via Paypal: [email protected]
AWBot (Author) : http://awbot.sourceforge.net
CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net
_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev
_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev
--
Eldy (Laurent Destailleur).
---------------------------------------------------------------
EMail: [email protected]
Web: http://www.destailleur.fr
Dolibarr (Project leader): http://www.dolibarr.org
To make a donation for Dolibarr project via Paypal: [email protected]
AWStats (Author) : http://awstats.sourceforge.net
To make a donation for AWStats project via Paypal: [email protected]
AWBot (Author) : http://awbot.sourceforge.net
CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net
_______________________________________________
Dolibarr-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev