chantane Posted July 25, 2012 Share Posted July 25, 2012 (edited) Bonjour, Qui pourrait expliquer l'utilisation du tableau $definition et en particulier de l'entrée "association". On peut deviner certains éléments en lisant les classes, mais si quelqu'un de la team nous en faisait le descriptif, ce serait vraiment très appréciable. Pourquoi a t-on l'entrée multilang_shop, puisque l'on a déjà multilang et multishop ? J"ai les mêmes questions à propos de $webserviceParameters. merci. Edited July 25, 2012 by chantane (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted July 26, 2012 Share Posted July 26, 2012 Bonjour, $definition obtient le retour de ObjectModel::getDefinition($class). Cette méthode et sa variable associée permette donc de "définir" l'objet en indiquant le nom de cet objet et en indiquant les champs composant l'objet (ainsi que les champs d'association pour le multi langue !). La variable $definition n'est visible que dans une classe. Il s'agit d'un Array ayant trois champs: table, primary et fields. Respectivement le nom de la table associée, la clé primaire et les champs qui compose la table. Lorsque la classe comporte du multi langues, on lui donne également deux paramètres supplémentaires: multilang et multilang_shop. Respectivement le fait que la table contient du texte traduisible en plusieurs langues et que les traductions sont gérées en fonction du shop (évidemment, pour un "only shop", c'est inutile). Est-ce que cela t'aide, en soit ? Link to comment Share on other sites More sharing options...
chantane Posted July 26, 2012 Author Share Posted July 26, 2012 Bonjour et merci. Ma question portait sur l'entrée "association", même si je devine son contenu, j'aimerais avoir davantage de certitude sur son utilisation, ainsi que sur le paramétrage des webservices. Link to comment Share on other sites More sharing options...
J. Danse Posted July 26, 2012 Share Posted July 26, 2012 Ma question est donc: qu'appelles-tu une "entrée" ? Link to comment Share on other sites More sharing options...
chantane Posted July 26, 2012 Author Share Posted July 26, 2012 Il s'agit de la clé association du tableau $definition, Je crée de nouveaux controllers et de nouvelles classes d'objet et pour cela je décortique l'existant car il n'y a pas de documentation, hélas! J'espère qu'elle sera fournie prochainement. Link to comment Share on other sites More sharing options...
J. Danse Posted July 26, 2012 Share Posted July 26, 2012 Le truc, c'est que l'association est "native" et "automatique", non ?! Elle est gérée automatiquement lorsque tu mentionnes que la classe est multilangue, et l'entrée "associations" est gérée automatiquement en mentionnant les données correspondantes (ce qui permet après à la requête d'insérer la table _lang correspondante, par exemple). En bref, tu ne l'utilises jamais directement... Link to comment Share on other sites More sharing options...
Raphaël Malié Posted July 26, 2012 Share Posted July 26, 2012 Bonjour, comme je suis la personne qui a créé cette partie ($definition) je me permet de répondre pour donner quelques éclaircissements. Cette propriété a pour but de stocker la définition de l'entité vis à vis de la base de donnée pour l'Active Record, donc les différents champs, avec le type afin de bien les caster. Cette propriété est là afin de remplacer les anciennes propriétés $fieldsRequired, $fieldsValidate, $fieldsSize, $fieldsRequiredLang, $fieldsValidateLang, $fieldsSizeLang, $table et $identifier. Ces anciennes propriétés étaient en effet très mal conçues et très peu pratiques à utiliser (n'étant pas statiques, il fallait instancier un objet juste pour savoir le nom de la table par exemple !). Le but de cette propriété $definition est de permettre plus facilement de connaître la définition de la table, et de pouvoir mettre en place un ORM (ce qui a été commencé via la classe Collection). La partie "association" du tableau ne sert actuellement à rien (elle devait servir à gérer les relations entre entités, ce qui aurait été un grand bon technique), je n'ai pas eu le temps de l'implémenter puisque je ne travaille plus chez PrestaShop. Etant donné que la direction technique est un peu réfractaire à orienter le logiciel vers de l'objet plutôt que du procédural, je suppose que cette propriété restera dans l'état actuel un très long moment. La propriété $webserviceParameters aurait du être fusionnée avec $definition mais je n'ai pas eu le temps de le faire, c'était un des buts. Je ne me souviens plus précisément à quoi sert multilang_shop, propriété un peu confuse je suis d'accord. Peut être qu'un jour ce sera expliqué dans une documentation technique, espérons Cordialement 3 Link to comment Share on other sites More sharing options...
chantane Posted July 26, 2012 Author Share Posted July 26, 2012 Merci Raphael. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now