THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,
J'ai développé un plugin (dernière version de Thelia 1.5.4.3), et j'ai un petit souci.
Mon plugin gère une liste avec édition/suppression de voyagistes, rien de bien particulier.
J'ai différentes classes qui gère mes tables/données voyagiste, voyagiste_photo, voyagiste_document.

J'ai dans mon formulaire d'édition d'un voyagiste, dans la colonne de droite la gestion des photos, (comme dans le formulaire contenu_modifier.php) et je souhaite gérer le tri des ces photos sur la colonne classement de ma table voyagiste_photo.

Et là c'est un peu le bordel...
En fait j'utilise les méthodes de la classe baseobjclassable
- méthode prochain_classement lors d'un ajout
Ca fonctionne sauf que ça ne fait pas la distinction entre mes différents voyagistes
Mes photos se rangent toutes à la suite (1,2,3,4.....)
alors que je souhaiterai que par voyagiste, ces photos soient classées de 1 à n.
Car sinon, lorsque j'utilise la fonction modifier_classement, ben ça cafouille sévère forcément.

J'ai vu que pour les contenus par exemple, les images se classent correctement par contenu.
J'ai vu aussi qu'il y avait une méthode construire_where_clause dans la classe baseobjclassable, mais je n'ai pas l'impression qu'elle soit très utile....

Au pire, je peux développer au sein de mon plugin ces fonctions de classement, mais je n'aimerai pas réinventer la roue, simplement parce que je suis passé à côté d'un truc.

Merci de m'avoir lu, si quelqu'un a la solution, ça serait sympa.

Delph

Last edited by Delph69 (20-12-2013 19:27:25)

Offline


Il suffit en principe de passer au constucteur le nom de la colonne de ta table image qui contient l'id du voyagiste. Si l'on suppose qu'elle s'appelle "id_voyagiste" :

public function __construct() {

    parent::__construct("id_voyagiste");

    ...
}

OpenStudio Toulouse

Offline


Merci beaucoup pour ta réponse.
Ça fonctionne.