# 有办法在两个地方渲染类别吗？

**URL:** <https://meta.discourse.org/t/anyway-to-render-category-in-two-places/185713>\
**Category:** Development\
**Created:** [2021年四月5日 23:25 UTC](https://meta.discourse.org/t/anyway-to-render-category-in-two-places/185713 "2021-04-05T23:25:57Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![plosprawrs](https://avatars.discourse-cdn.com/v4/letter/p/5daacb/32.png) [@plosprawrs](https://meta.discourse.org/u/plosprawrs)\
**Post date:** [2021年四月5日 23:25 UTC](https://meta.discourse.org/t/anyway-to-render-category-in-two-places/185713/1 "2021-04-05T23:25:57Z")

</div>

原因是客户的市场策略。他们拥有完全相同的类别/标签，并希望内容完全一致地呈现：

1. “无线接入点” \<— 父类别，

2. 子类别 ----\> “自治 APs”

3. “网络生态系统”

4. 子类别 ----- \> “自治 APs” \<— 完全相同的内容。

然而，在同一站点的另一个位置，他们渲染了完全相同的内容，只是归在另一个总类别下。有人能想到任何实现方法吗？我曾以为这不可能，因为固定链接只是将 A 重定向到 B，但这几乎相当于将类别“发布”到两个部分中。

谢谢

---

<div class="post-metadata">

**Author:** ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)\
**Post date:** [2021年四月6日 00:05 UTC](https://meta.discourse.org/t/anyway-to-render-category-in-two-places/185713/2 "2021-04-06T00:05:40Z")

</div>

你好，

能否再详细解释一下“为什么”呢？

> [@plosprawrs](#):
>
> 这样做的原因在于客户的营销策略……完全相同的内容，只是被归入了另一个类别。

也就是说，具体为什么需要在这两个地方“渲染”？这两个地方都在 discourse 客户端中吗？还是其中一个在另一个网站上（通过 ajax 拉取话题）？具体的营销策略是什么？

这或许是一个 #Dev 话题，除非你打算聘请专业人士就此提供建议？

---

<div class="post-metadata">

**Author:** ![plosprawrs](https://avatars.discourse-cdn.com/v4/letter/p/5daacb/32.png) [@plosprawrs](https://meta.discourse.org/u/plosprawrs)\
**Post date:** [2021年四月6日 00:48 UTC](https://meta.discourse.org/t/anyway-to-render-category-in-two-places/185713/3 "2021-04-06T00:48:33Z")

</div>

你好，Angus，

感谢你的回复。我想如果该功能并非原生支持，或者尚未有人实现过，那么是的，我确实考虑过聘请专人来开发。我刚发布了这个讨论帖，正在收集大家的反馈。

这么做的原因正如我之前所描述的，抱歉之前表述得不够清晰。基本上，该产品本身（作为一个类别）同时隶属于两个不同的父类别（仅举例说明）：其市场策略是将该产品展示在不同的产品类别下。

1. 无线网络 \<— 父类别
2. 自治 AP \<— 子类别

另一个主要类别：

网络生态系统 \<— 父类别  
自治 AP \<— 完全相同的内容，但在两个类别下分别呈现。

我理解 Discourse 论坛可能并非为此场景设计，但这确实是业务需求。

---

<div class="post-metadata">

**Author:** ![justin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/justin/32/157614_2.png) [@justin](https://meta.discourse.org/u/justin)\
**Post date:** [2021年四月6日 02:02 UTC](https://meta.discourse.org/t/anyway-to-render-category-in-two-places/185713/4 "2021-04-06T02:02:35Z")

</div>

我同意 @angus 的观点，如果你要讨论项目范围，应该在 #Dev 频道。我已经帮你移过去了 🙂 当你确定需要招聘时，请在 #Marketplace 频道发布带有预算的招聘帖！

---

<div class="post-metadata">

**Author:** ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)\
**Post date:** [2021年四月6日 02:16 UTC](https://meta.discourse.org/t/anyway-to-render-category-in-two-places/185713/5 "2021-04-06T02:16:00Z")

</div>

如果这是我的客户，而我只收到你描述的这些内容，我会对“必须首先这样做”提出一些异议。我们在 [Pavilion](https://thepavilion.io/welcome) 经常采用类似的做法。

这里的一个解决方案是更有效地利用 Discourse 的分类体系。例如，为什么不将“自治 AP"设为独立的父级分类，或者将其作为标签而非分类？这两种方案都不需要进行任何修改。

他们起初可能会抗拒这种方法，因为这与其现有的产品层级结构不一致。但你可以向他们解释，Discourse 的分类结构并不一定要自上而下地严格对应其产品层级。

分类结构的目标是帮助用户找到内容，而这并不一定需要通过匹配其产品层级来实现。

---

<div class="post-metadata">

**Author:** ![Steven](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/steven/32/187890_2.png) [@Steven](https://meta.discourse.org/u/Steven)\
**Post date:** [2021年四月6日 15:05 UTC](https://meta.discourse.org/t/anyway-to-render-category-in-two-places/185713/6 "2021-04-06T15:05:03Z")

</div>

你也可以通过重命名标签下拉菜单（例如将“所有标签”改为“产品”）来玩转标签，还可以使用一些 CSS 在标签名称前添加标签图标甚至自定义图片。这不会在升级后失效，并且足以说服客户这是最佳解决方案。

但我明白，有些客户即便在某个想法并非最佳方案的情况下也会固执己见，而将其实现起来则难上加难。

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2021年四月6日 15:35 UTC](https://meta.discourse.org/t/anyway-to-render-category-in-two-places/185713/7 "2021-04-06T15:35:57Z")

</div>

> [@angus](#):
>
> 如果这是我的客户，而我只收到你描述的情况，我会稍微反驳一下，认为没有必要首先这样做。我们在 [Pavilion](https://thepavilion.io/welcome) 经常遇到这种情况。

没错。这似乎是一个他们所要求的并非他们真正想要的情况。

---

<div class="post-metadata">

**Author:** ![manuel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/manuel/32/468169_2.png) [@manuel](https://meta.discourse.org/u/manuel)\
**Post date:** [2021年四月6日 17:40 UTC](https://meta.discourse.org/t/anyway-to-render-category-in-two-places/185713/8 "2021-04-06T17:40:14Z")

</div>

> [@plosprawrs](#):
>
> 他们的营销策略是将该产品投放到不同的产品类别中

如果内容主要涉及他们希望归入产品类别的产品，那么你也可以考虑（作为对 @Steven 建议的一种变通）将这些总类映射为标签，而仅使用 Discourse 的分类功能来管理具体产品。

---

<div class="post-metadata">

**Author:** ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)\
**Post date:** [2021年五月6日 17:41 UTC](https://meta.discourse.org/t/anyway-to-render-category-in-two-places/185713/9 "2021-05-06T17:41:13Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
