安装多个使用数据模板修改用户卡片/配置文件的同一样式会破坏两者

我正在设置 Custom Profile Link Component我的分支,并且我需要为不同的网站链接设置两个。但是,目前只有在两个网站都设置了用户名的用户才会显示。如何确保无论另一个副本是否有效,两者都能显示?

老实说,可能不是数据模板,但从我花了一点时间看它的样子来看,我猜是它。

我不完全明白你在做什么,但也许是因为你正在向同一个 handlebars 模板写入两次,而不是一次写入(带有两个字段)?

1 个赞

这也是我的怀疑,但我不知道该如何解决。

您不能只使用一个模板吗? 应该可以在上面设置两个字段,除非我误解了您的意思。 您是否成功设置了一个链接字段? 如果成功了,那就太好了 :slight_smile:

2 个赞

其中一个模板用于用户卡片,另一个用于用户个人资料,所以我不这么认为。

当满足以下两个条件之一时,它会起作用:

  1. 你有两个副本、两个字段,并且你正在查看的用户填写了两个名称
  2. 你有一个副本、一个字段,并且你正在查看的用户填写了名称
1 个赞

哦,好的,我明白了,我以为你在用户卡片上放了两个不同的链接。现在说得通了。是的,两个模板。

2 个赞

在某种程度上,我确实是这样做的,因为我为主题组件的每个副本使用一个链接,我怀疑这才是问题的根源。当然,我也可能弄错了。

我把那段代码喂给了 Lola bot,但没有提供任何上下文,这是她的回复:

你是说你 fork 了主题,然后同时包含了你的 fork 和原始主题?你需要更改所有对它的变量的引用以及传递给修改类的 ID。

原始版本在 Discourse 上已无法正常运行,因此我创建了一个分支并对其进行了修改,直到它能够正常工作。目前,我已经安装了我分支的两个副本,它们似乎与彼此冲突。

这就是我说的。你需要重命名一些东西,这样它们就不会冲突。

你可能想让一个主题同时做这两件事,而不是有两个副本。

我该怎么做呢?我有一个想法,就是将TC的ID添加到把手(handlebars)中,但我不知道该怎么做。

这会不会破坏这个主题组件的原始用例?

我不知道,但我认为它已经坏了?:wink:

如果它使用自定义字段添加一个链接,而您希望它添加两个链接,那么您应该这样编写它,以便它可以配置为包含任意数量的自定义字段链接?

我制作了我的分支来修复原始分支中的错误,所以我希望我的分支没有坏。

这可以,但我不知道该怎么做。

1 个赞

我已开始着手处理此事。我遇到的第一个真正障碍是处理多个 ID。我认为我会使用 foreach 循环(就像我在代码中更高处所做的那样)来完成,但我不知道如何在 Handlebars 中实现。

听起来你走在正确的道路上。

我总是记不住,然后谷歌搜索“handlebars for loop”来查找示例。

在折腾了大约一个小时后,我不得不说我卡住了。这段代码:

          {{#each this.customProfileLink as |links|}}
              <a href="{{link.[2]}}{{link.[0]}}" target="_blank">{{link.[1]}}</a>
              <p>{{link}}--{{link.content}}</p>
          {{/each}}

感觉应该可以工作,但我找到的关于 #each 的所有内容似乎都不一样,而且这段代码确实不起作用。有人有什么见解吗?

而且那一个是我双重失误。:facepalm: 我在迭代器中使用了 links,在处理器中使用了 link。而且我没有检查用户个人资料,只检查了用户卡片(用户个人资料不知为何是正确的)。