Une image pour plusieurs catégories

Bonjour,

J’ai une question : est-il possible de télécharger une image pour une catégorie et d’utiliser cette même image téléchargée pour les sous-catégories et les sous-sous-catégories. Voici la structure

Catégorie A
    Catégorie A1
    Catégorie A2
    Catégorie A3
    Catégorie A4

Catégorie B
    Catégorie B1
        Catégorie B11
        Catégorie B12
    Catégorie B2
    Catégorie B3
    Catégorie B4
        Catégorie B41
        Catégorie B42

Catégorie C
    Catégorie C1
        Catégorie C11

Catégorie D
    Catégorie D1
    Catégorie D2
    Catégorie D3
    Catégorie D4

Les catégories A..D ont une image pour la catégorie. En naviguant au premier niveau, on voit l’image de cette catégorie, en allant au 3ème niveau, l’image n’apparaît pas, donc je dois l’ajouter manuellement. J’ai malheureusement beaucoup de catégories (ce n’est pas mon choix), donc c’est beaucoup de travail et cela consomme de l’espace disque sur le serveur (appelez-moi vieux jeu, j’ai l’habitude de travailler avec des ressources très limitées).

L’héritage serait le premier prix. D’autres moyens d’y parvenir, où je n’ai besoin de télécharger l’image qu’une seule fois et de préférence sans avoir à modifier chaque sous-sous-catégorie ?

Notez que je suis un débutant complet avec Discourse, en train de refondre un site existant basé sur Discourse.

Merci d’avance.

Ce n’est pas le cas. Les images sont stockées par un hachage, donc une seule copie sera créée/stockée, peu importe le nombre de fois où elle est téléchargée.

Si vous avez accès à Rails, vous pouvez faire quelque chose comme ceci :

parent=Category.find_by_slug('category_a');
children=Category.where(parent_category_id: parent.id);
children.update_all(uploaded_logo_id: parent.uploaded_logo_id);

Les points-virgules à la fin empêchent Rails de mettre la sortie dans un visualiseur, vous pouvez donc coller les trois lignes en même temps. Vous pourriez les omettre lorsque vous essayez ceci. Vous devriez faire une sauvegarde et être prêt à la restaurer si vous n’essayez pas ceci d’abord sur une sorte de site de test ou de staging.

Vous pouvez suggérer à vos supérieurs de lire Il est temps de parler des tags. Ou peut-être y a-t-il une bonne raison pour toutes les sous-catégories. À moins que vous n’ayez besoin de limiter l’accès à ces sous-catégories ou que les gens veuillent regarder/ignorer ces catégories, elles vont probablement aggraver les choses pour tout le monde (sauf pour la personne qui obtient le droit de se vanter que sa mauvaise idée a été acceptée par toute l’entreprise).

1 « J'aime »

Merci pour votre réponse

C’est super, un souci de moins.

Je n’ai accès qu’au site de staging (hébergé par Discourse) ; donc je doute d’avoir accès à Ruby :wink:

Dans ce cas, vous pourriez trouver un moyen de faire quelque chose de similaire avec l’API, mais vous seriez seul pour cela. Vous commenceriez par Ingénierie inverse de l’API Discourse. . .

Hé, écoutez, j’ai dit que j’étais un débutant :rofl:

Merci pour les deux liens que vous avez fournis :+1:

1 « J'aime »

Ouais. Désolé. À moins que vous ne soyez déjà bon pour interagir avec une API (peut-être avec curl), je crains que vous n’ayez qu’à cliquer beaucoup.

1 « J'aime »