# 仿Facebook主题

**URL:** https://meta.discourse.org/t/fakebook-theme/109079
**Category:** Theme
**Tags:** official, fakebook-theme
**Created:** [2019年二月13日 20:18 UTC](https://meta.discourse.org/t/fakebook-theme/109079 "2019-02-13T20:18:45Z")
**Posts on this page:** 20
**Page:** 4

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2020年八月28日 20:20 UTC](https://meta.discourse.org/t/fakebook-theme/109079/71 "2020-08-28T20:20:43Z")

</div>

你好 Jordan，

新用户注册时出现了错误。右侧边栏除了欢迎文字和副标题外没有显示任何信息，而且副标题中没有名字。我知道如果有点赞和徽章的话应该会显示出来。是否可以让这个边栏显示点赞和徽章信息？比如显示 **0** ❤ **收到** ， **0** ❤ **送出** ，以及 **暂无徽章** 。_你还没有任何徽章……看看如何获取一些……_ 或者类似的文字或链接。如果没有徽章的话，至少显示文字或链接。

谢谢！🙂

徽章相关的错误代码如下：

 ![Screen Shot 2020-08-28 at 9.57.53 PM](https://global.discourse-cdn.com/meta/original/3X/6/6/6600eb3c7a33c1f08896046d926aa8d465abe2f2.png)

---

<div class="post-metadata">

### Author: ![haffax7](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/haffax7/32/123146_2.png) [@haffax7](https://meta.discourse.org/u/haffax7)
#### Post date: [2020年九月10日 23:42 UTC](https://meta.discourse.org/t/fakebook-theme/109079/72 "2020-09-10T23:42:23Z")

</div>

我想将其修改如下。  
然而，它在移动屏幕上无法正常工作。  
有人能帮忙告诉我该怎么做吗？

我希望让链接在话题摘要和图片上都能生效。

```
{{~raw-plugin-outlet name="topic-list-after-title"}}
{{#unless topic.image_url}}
  {{#if topic.hasExcerpt}}
    <a href="{{topic.lastUnreadUrl}}" class="topic-excerpt-link">
      <div class="topic-excerpt-box">
        {{raw "list/topic-excerpt" topic=topic}}
      </div>
    </a>
  {{/if}}
{{/unless}}
{{#if topic.image_url}}
<a href="{{topic.lastUnreadUrl}}" class="topic-excerpt-link">
<div class="topic-image">
  <img src="{{topic.image_url}}" />
</div>
</a>
{{/if}}

```

这是我正在测试的网站。  
[https://today16.com/](https://today16.com/)

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2020年九月11日 09:32 UTC](https://meta.discourse.org/t/fakebook-theme/109079/73 "2020-09-11T09:32:03Z")

</div>

在移动头部使用此内容 👇  
`<script type='text/x-handlebars' data-template-name='mobile/list/topic-list-item.raw'> . . . </script>`

---

<div class="post-metadata">

### Author: ![Eduardo\_Braga](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eduardo_braga/32/110348_2.png) [@Eduardo\_Braga](https://meta.discourse.org/u/Eduardo_Braga)
#### Post date: [2020年九月12日 04:41 UTC](https://meta.discourse.org/t/fakebook-theme/109079/74 "2020-09-12T04:41:27Z")

</div>

iPhone 6S

 ![image](https://global.discourse-cdn.com/meta/original/3X/d/c/dc76e14907ddcffef5da1f1533d1a876097f9e86.png)

---

<div class="post-metadata">

### Author: ![jordan.vidrine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jordan.vidrine/32/515563_2.png) [@jordan.vidrine](https://meta.discourse.org/u/jordan.vidrine)
#### Post date: [2020年九月14日 15:53 UTC](https://meta.discourse.org/t/fakebook-theme/109079/75 "2020-09-14T15:53:23Z")

</div>

我在 Xcode 模拟器上使用 iPhone 6S 进行测试，未遇到此问题。

我有几个问题：

这张截图是否显示你正在使用 [meta.discourse.org](http://meta.discourse.org)？  
你使用的是哪个版本的 iOS？  
你使用的是哪个网页浏览器？

谢谢

---

<div class="post-metadata">

### Author: ![chratec](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chratec/32/175969_2.png) [@chratec](https://meta.discourse.org/u/chratec)
#### Post date: [2020年九月23日 14:14 UTC](https://meta.discourse.org/t/fakebook-theme/109079/76 "2020-09-23T14:14:29Z")

</div>

有人尝试在 iOS 手机上，使用 Facebook 主题直接上传并播放短视频到 Discourse 吗？

我是不是在配置上漏掉了什么？我在手机上无法播放任何上传的视频，但在电脑上运行正常。

所有来自 YouTube 的嵌入视频都能正常播放。

因此，我不知道发生了什么，没有错误，也没有警告。

请提供建议。

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2020年九月23日 14:36 UTC](https://meta.discourse.org/t/fakebook-theme/109079/77 "2020-09-23T14:36:27Z")

</div>

是的，它在任何设备上都能完美运行。我认为主题不太可能导致此问题。  
你试过在安全模式下播放吗？  
你能发布包含视频的帖子链接吗？这样我们可以检查一下。

---

<div class="post-metadata">

### Author: ![chratec](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chratec/32/175969_2.png) [@chratec](https://meta.discourse.org/u/chratec)
#### Post date: [2020年九月23日 14:40 UTC](https://meta.discourse.org/t/fakebook-theme/109079/78 "2020-09-23T14:40:54Z")

</div>

你好 @Don  
是的，你应该尝试以下链接：  
[Making sure you're not a bot!](https://arathe.com/pub/suu-tam-chuyen-muc-cuoi-arathe-cua-dr-vl)

我已测试，确认在 iOS 11 上无法运行。

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2020年九月23日 14:45 UTC](https://meta.discourse.org/t/fakebook-theme/109079/79 "2020-09-23T14:45:47Z")

</div>

iOS 11 已经相当过时，这导致了问题。我在 iOS 14 上可以毫无问题地播放视频，运行效果非常好。

---

<div class="post-metadata">

### Author: ![chratec](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chratec/32/175969_2.png) [@chratec](https://meta.discourse.org/u/chratec)
#### Post date: [2020年九月23日 14:46 UTC](https://meta.discourse.org/t/fakebook-theme/109079/80 "2020-09-23T14:46:38Z")

</div>

@Don 收到，

谢谢

---

<div class="post-metadata">

### Author: ![SrhKnpp](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/srhknpp/32/173417_2.png) [@SrhKnpp](https://meta.discourse.org/u/SrhKnpp)
#### Post date: [2020年十一月5日 21:35 UTC](https://meta.discourse.org/t/fakebook-theme/109079/81 "2020-11-05T21:35:46Z")

</div>

太棒了！

另外……是否可以在侧边栏的简介区域添加一个链接？

---

<div class="post-metadata">

### Author: ![Eduardo\_Braga](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eduardo_braga/32/110348_2.png) [@Eduardo\_Braga](https://meta.discourse.org/u/Eduardo_Braga)
#### Post date: [2020年十一月7日 14:25 UTC](https://meta.discourse.org/t/fakebook-theme/109079/82 "2020-11-07T14:25:26Z")

</div>

主题添加链接在哪里？

---

<div class="post-metadata">

### Author: ![JacobDK](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jacobdk/32/133657_2.png) [@JacobDK](https://meta.discourse.org/u/JacobDK)
#### Post date: [2020年十一月11日 02:11 UTC](https://meta.discourse.org/t/fakebook-theme/109079/83 "2020-11-11T02:11:53Z")

</div>

> **[GitHub - discourse/fakebook-modern](https://github.com/discourse/fakebook-modern)**
>
> Contribute to discourse/fakebook-modern development by creating an account on GitHub.

---

<div class="post-metadata">

### Author: ![hyd504](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hyd504/32/177122_2.png) [@hyd504](https://meta.discourse.org/u/hyd504)
#### Post date: [2020年十一月23日 05:07 UTC](https://meta.discourse.org/t/fakebook-theme/109079/85 "2020-11-23T05:07:36Z")

</div>

嘿，我正在学习 Discourse 主题/插件开发。我非常喜欢 Fakebook 主题，并正在使用它来加深理解，但我有几个问题。

`javascripts/discourse/templates/mobile/list/topic-list-item.hbr` 与 `common/header.html` 中的代码有 100% 的重复。

我的问题：

1. 有没有办法将 .hbr 文件包含到 .html 文件中？这样我们就可以直接在 `common/header.html` 中引入 `topic-list-item.hbr`，而无需在两个地方重复代码？
2. 为什么我们首先需要 `topic-list-item.hbr`？`common` 文件夹中的文件不应该同时适用于桌面端和移动端吗？

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [2020年十一月24日 22:13 UTC](https://meta.discourse.org/t/fakebook-theme/109079/86 "2020-11-24T22:13:17Z")

</div>

> [@hyd504](#):
>
> 有没有办法将 hbr 文件包含到 html 文件中，这样我们就可以直接将 topic-list-item.hbr 包含到 common/header.html 中，而无需在两个地方重复代码？

我不这么认为……通常我可以创建一个使用单一模板的组件，然后在两个覆盖中都包含该组件……但我们的主题列表项是一种专为性能设计的特殊模板类型（hbr = handlebars 原始模板），而原始模板无法使用组件。（此前在 [Mounting widget in raw template? - #7 by angus](https://meta.discourse.org/t/mounting-widget-in-raw-template/44400/7?u=awesomerobot) 中有相关讨论）

> [@hyd504](#):
>
> 为什么我们一开始就需要 topic-list-item.hbr？common 文件夹中的文件不应该同时适用于桌面端和移动端吗？

Discourse 的 CSS 结构正是如此（某些特殊 HTML 文件如页眉/页脚等也遵循此结构），但在 `javascripts/discourse/templates` 目录中，这些模板是对 Discourse 默认模板的直接覆盖（如果没有覆盖，则使用默认模板）。

在 Discourse 中有两个模板：`/templates/list/topic-list-item.hbr` 和 `/templates/mobile/list/topic-list-item.hbr`。因此，既然有两个模板，我们就需要两个覆盖。

也许在 JS 中有一种简单的方法可以将移动端指向非移动端模板……但如果有的话，我目前并不了解！

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [2020年十一月24日 22:46 UTC](https://meta.discourse.org/t/fakebook-theme/109079/87 "2020-11-24T22:46:45Z")

</div>

说得太早了！我仔细看了一下，其实在发出上面的回复后不久就解决了这个问题。有时候把问题写出来就能找到答案。

我已经做了一个更新，现在只使用一个模板……默认情况下，在 `topic-list-item.js` 中我们有如下代码：

```js
  renderTopicListItem() {
    const template = findRawTemplate("list/topic-list-item");
    if (template) {
      this.set("topicListItemContents", template(this).htmlSafe());
    }
  },

```

所以，如果我在主题中覆盖 `const template`：

```js
  renderTopicListItem() {
    const template = findRawTemplate("list/custom-topic-list-item");
    if (template) {
      this.set("topicListItemContents", template(this).htmlSafe());
    }
  },

```

这样就会指向一个单独的模板，而且由于没有同名的移动端对应模板……它也会被用于移动端。感谢你的提问 @hyd504 启发了这次改进！

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2020年十一月25日 00:19 UTC](https://meta.discourse.org/t/fakebook-theme/109079/88 "2020-11-25T00:19:42Z")

</div>

太棒了！😊 我刚在我的网站上换上了 Fakebook Modern 主题 🙂 非常感谢！❤

---

<div class="post-metadata">

### Author: ![Mohit\_Jindal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mohit_jindal/32/201647_2.png) [@Mohit\_Jindal](https://meta.discourse.org/u/Mohit_Jindal)
#### Post date: [2020年十二月1日 07:41 UTC](https://meta.discourse.org/t/fakebook-theme/109079/89 "2020-12-01T07:41:43Z")

</div>

@awesomerobot @Don

你们能分享一些示例论坛的链接吗？我想看看这个主题的实际效果。

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2020年十二月1日 07:48 UTC](https://meta.discourse.org/t/fakebook-theme/109079/90 "2020-12-01T07:48:40Z")

</div>

你好，

当然，你可以在主题创建器中查看 Fakebook 主题：

> [@awesomerobot](#):
>
> 👁 [在主题创建器中预览](https://theme-creator.discourse.org/theme/awesomerobot/fakebook)

我的版本包含了较多的修改，但你可以在此查看：

> **[Vaperina](https://vaperina.cc)**
>
> Join the global vaping community. Discuss e-cigarettes, mods and liquids with vapers worldwide – no language barriers.

---

<div class="post-metadata">

### Author: ![Mohit\_Jindal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mohit_jindal/32/201647_2.png) [@Mohit\_Jindal](https://meta.discourse.org/u/Mohit_Jindal)
#### Post date: [2020年十二月1日 07:49 UTC](https://meta.discourse.org/t/fakebook-theme/109079/91 "2020-12-01T07:49:54Z")

</div>

谢谢 @Don。

再确认一下，预览是否指向 [GitHub - discourse/fakebook-modern · GitHub](https://github.com/discourse/fakebook-modern) 主题？

[上一頁](https://meta.discourse.org/t/fakebook-theme/109079.md?page=3)

[下一頁](https://meta.discourse.org/t/fakebook-theme/109079.md?page=5)
