Una imagen para múltiples categorías

Buenos días,

Tengo una pregunta sobre si es posible subir una imagen para una categoría y usar esa misma imagen subida para las subcategorías y sub-subcategorías. A continuación se muestra la estructura

Categoría A
    Categoría A1
    Categoría A2
    Categoría A3
    Categoría A4

Categoría B
    Categoría B1
        Categoría B11
        Categoría B12
    Categoría B2
    Categoría B3
    Categoría B4
        Categoría B41
        Categoría B42

Categoría C
    Categoría C1
        Categoría C11

Categoría D
    Categoría D1
    Categoría D2
    Categoría D3
    Categoría D4

Las categorías A..D tienen una imagen para la categoría. Al navegar al primer nivel se muestra la imagen de esa categoría, al ir al tercer nivel no se muestra la imagen, por lo que tengo que añadirla manualmente. Desafortunadamente, tengo muchas categorías (no es mi elección), por lo que es mucho trabajo y consume espacio en disco en el servidor (llámame anticuado, estoy acostumbrado a trabajar con cosas con recursos muy limitados).

La herencia sería el primer precio. ¿Otras formas de lograrlo en las que solo necesite subir la imagen una vez y preferiblemente no tenga que editar cada sub-subcategoría?

Tenga en cuenta que soy un principiante total en Discourse, actualmente estoy renovando un sitio existente basado en Discourse.

Gracias de antemano.

No lo hace. Las imágenes se almacenan mediante un hash, por lo que solo se creará/almacenará una única copia sin importar cuántas veces se cargue.

Si tienes acceso a rails puedes hacer algo como esto:

padre=Category.find_by_slug('category_a');
hijos=Category.where(parent_category_id: padre.id);
hijos.update_all(uploaded_logo_id: padre.uploaded_logo_id);

Los puntos y comas finales evitan que rails ponga la salida en un visor, por lo que puedes pegar las tres líneas a la vez. Puedes omitirlos cuando pruebes esto. Deberías hacer una copia de seguridad y estar dispuesto a restaurarla si no estás probando esto primero en algún tipo de sitio de prueba o staging.

Puedes sugerir que tus superiores lean Es hora de que hablemos de etiquetas. O tal vez haya alguna buena razón para todas las subcategorías. A menos que necesites limitar el acceso a esas subcategorías o la gente quiera ver/silenciar esas categorías, probablemente empeorarán las cosas para todos (excepto para la persona que obtenga el derecho de fanfarronear de que su mala idea fue la que fue aceptada por toda la empresa).

1 me gusta

Gracias por la respuesta

Eso es genial, una preocupación menos.

Solo tengo acceso al sitio web de staging (alojado por Discourse); así que dudo que tenga acceso a Ruby :wink:

En ese caso, podrías ingeniártelas para hacer algo similar con la API, pero para eso estás solo. Empezarías por Ingeniería inversa de la API de Discourse. . .

Oye, escucha, dije que era un principiante :rofl:

Gracias por los dos enlaces que has proporcionado :+1:

1 me gusta

Sí. Lo siento. A menos que ya seas bueno interactuando con una API (quizás con curl), me temo que solo tendrás que hacer un montón de clics.

1 me gusta