一张图片用于多个类别

您好,

我想问一下,是否可以为某个类别上传一张图片,并将其用于该类别下的子类别和子子类别?结构如下:

Category A
    Category A1
    Category A2
    Category A3
    Category A4

Category B
    Category B1
        Category B11
        Category B12
    Category B2
    Category B3
    Category B4
        Category B41
        Category B42

Category C
    Category C1
        Category C11

Category D
    Category D1
    Category D2
    Category D3
    Category D4

类别 A..D 都有一个类别图片。导航到第一级会显示该类别的图片,但导航到第三级时不会显示图片,因此我必须手动添加。不幸的是,我的类别很多(这不是我的选择),所以工作量很大,而且占用了服务器磁盘空间(您可能觉得我老土,但我习惯于在资源非常有限的情况下工作)。

继承功能将是首选。是否有其他方法可以实现我只需要上传一次图片,并且最好不必编辑每个子子类别?

请注意,我是 Discourse 的新手,目前正在重新改造一个现有的基于 Discourse 的网站。

提前感谢。

它不会。图像是通过哈希值存储的,因此无论上传多少次,都只会创建/存储一个副本。

如果你有访问 rails 的权限,可以这样做:

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);

末尾的分号可以防止 rails 在查看器中显示输出,因此你可以一次性粘贴所有三行。尝试时可以省略它们。你应该进行备份,并且如果你不是在测试或暂存站点上尝试,则愿意恢复它。

你可以建议你的上级阅读 是时候谈谈标签了。或者也许有充分的理由为所有子类别设置这些。除非你需要限制对这些子类别的访问,或者人们想要关注/静音这些类别,否则它们可能会让所有人都变得更糟(除了那些能够吹嘘自己的糟糕想法被整个公司接受的人)。

1 个赞

感谢您的回复

太好了,少了一个担忧。

我只能访问登台网站(由 Discourse 托管);所以我怀疑我能访问 Ruby :wink:

在这种情况下,您可以通过 API 来实现类似的功能,但这需要您自己解决。您可以从 逆向工程 Discourse API 开始。 . .

嘿,听着,我说过我是个新手 :rofl:

谢谢你提供的两个链接 :+1:

1 个赞

是的。抱歉。除非你已经擅长与 API 交互(也许使用 curl),否则恐怕你只能进行大量点击操作。

1 个赞