Vous n'êtes pas identifié(e).
Bonjour
Pour développer zdiaporama, j'ai eu besoin de lister les documents d'une rubrique.
Pour cela, j'ai copié/collé/adapté à l'époque le code du module photoshow.
Mais voilà, jpg tu as depuis changé cette partie de ton code dans photoshow (pour améliorer les performances je crois...).
Ce n'est pas viable pour les développeurs de modules de faire des mises à jour par copier/coller de la sorte !
Donc ma question est simple : Y a-t-il une méthode dans l'objet Trubs ou Tdocs (ou dans ziteplus de manière générale) pour avoir directement un array propre des documents de la rubrique, sans se soucier de devoir les trier soi même ou de mettre à jour en fonction de la version de ziteplus?
En clair, un $this->get_document_by_rubrique($rubrique)
Ca serait un plus !
Adrien
Hors ligne
Pour développer zdiaporama, j'ai eu besoin de lister les documents d'une rubrique.
Pour cela, j'ai copié/collé/adapté à l'époque le code du module photoshow.Mais voilà, jpg tu as depuis changé cette partie de ton code dans photoshow (pour améliorer les performances je crois...).
Oui ... très grosse optimisation des performances
Ce n'est pas viable pour les développeurs de modules de faire des mises à jour par copier/coller de la sorte !
D'un autre coté j'ai bien le droit d'améliorer mon module photoshow non
Cela n'entraine pas pour toi l'obligation de modifier ton code.
D'autant plus que sauf erreur de ma part, j'ai fait évoluer la class Tdocs de manière totalement compatible avec l'existant
=> si on appelle comme avant les documents, cela devrait toujours fonctionner ... mais on aura pas forcement toutes les améliorations de performances.
Donc ma question est simple : Y a-t-il une méthode dans l'objet Trubs ou Tdocs (ou dans ziteplus de manière générale) pour avoir directement un array propre des documents de la rubrique, sans se soucier de devoir les trier soi même ou de mettre à jour en fonction de la version de ziteplus?
Les appels précédents doivent toujours fonctionner, donc ou est le problème ?
Par contre pour le nouveau code, on peut faire plus simple qu'avant et plus performant en faisant par exemple un:
$docs = new Tdocs(self::$cms->cpath.'/docs.dta',cDocRub,'marubrique');
Avant il fallait le faire en plusieurs fois
Si on veut trier, on va faire un
$doc->sort()
avec ou sans paramètres en fonction du tri voulu => c'est simple et compatible
Si on veut parcourir la liste des documents qui répondent aux critères précédent, on va faire un
foreach ($docs as $docname => $doc) {
// ici le traitement sur un document
}
Manipuler un objet me semble bien plus préférable que de manipuler un simple tableau => cela permet de faire du code puissant, compatible et évolutif.
a+
Jean-Paul
Hors ligne
Désolé si je me suis mal exprimé dans mon message précédent.
Je suis 100% d'accord avec toi !
Ca n'a jamais cassé l'existant, donc aucun soucis.
Je ne savais pas que tu avais ajouté des paramètres dans le constructeur de Tdocs (j'ai suivi la 092 d'assez loin...). Ca m'a l'air intéressant !
Il faudra que je me plonge dans le code de Tdocs alors , pour remplacer mon copier/collé aveugle par quelque chose que je comprendrai et voir ce qu'on peux en faire !
Merci
Adrien
Hors ligne