Layouts 插件

谢谢 Robert 的回复。我正在使用 Bitnami AWS 实例,并参考了 https://docs.bitnami.com/general/apps/discourse/configuration/install-plugins/ 的文档进行操作。按理说应该可以正常工作,但我不确定为什么无法识别这些资源。

1 个赞

是的,请使用官方 Discourse 构建版本。使用 Bitnami 的风险由您自行承担。

感谢您的帮助,好的……我会在 Digital Ocean 上设置,并确认问题是否仍然存在。

此插件在 Fakebook 主题下无法正常工作。

你也可以说 Fakebook 在这个插件下是“坏”的? :wink:

我们支持 Discourse 核心功能。如果某个主题能正常工作,那很好;如果不能,那您可能就没什么办法了。

虽然我们尽最大努力优化兼容性,但无法保证所有主题都能与我们的插件配合使用,尤其是当我们的插件和主题同时修改模板时。

如果您想在此插件的基础上使用某个主题,请选择一个更轻量、对布局影响较小或无影响的主题。

Fakebook 本身已有侧边栏,几乎可以肯定它并非设计为与本插件配合使用(否则它为何不使用 CL 的侧边栏呢?)。而且它无疑也是面向 Discourse 核心的。您可能需要在两者之间做出选择。或者,使用 CL 并借鉴 Fakebook 的元素,自行设计主题。

目前 Chrome 存在一个限制,使我们无法充分利用带有侧边栏的主题列表预览。敬请期待后续更新……

2 个赞

目前由于某种原因已损坏。

** 不兼容的插件 **

由于插件 /var/www/discourse/plugins/layouts-topic-list 中存在错误,您无法构建 Discourse。

我们已从网站上移除了它。

该插件刚刚经历了一次重大更新。

现在,您可以将主题组件添加为小部件(除了插件之外)。我已更新您正在使用的小部件以支持 v0.2 版本。

不过,我推荐使用该小部件的新主题版本(具有一些功能改进和变更)。

总体而言,该插件正逐步从使用插件形式的小部件转向使用主题形式。完整文档将在未来一两天内发布。

请注意,该插件现已支持针对特定用户组的权限设置,请确保在 /admin/layouts 中完成相关配置。

该插件也即将采用与其他插件相同的更新周期;详见以下内容:

7 个赞

这是个好消息!我刚刚也向另一个人提出了同样的建议,即我们应转向基于主题组件的解决方案。感谢你的更新!

2 个赞

请通过私信告诉我您的使用场景,以便我帮您设置支持新主题的版本 :slight_smile:

4 个赞

当我将 Discourse 更新到最新版本时,主题 Minimal - 插件无法正常工作。

我的论坛:Https://babyforex/net

嘿,欢迎 :slight_smile:

你能提供一些关于该问题的更多具体信息吗?你正在尝试使用哪些小部件?

需要特别注意的一个关键点是,该插件现在为每个小部件提供了 enabledgroup 设置。这是首先要检查的内容。

我仍在编写 v0.2 的文档(就在此刻!),而 v0.2 直到下一个 Pavilion 插件更新周期才会正式发布:2020-04-30T14:00:00Z2020-05-04T14:00:00Z

如果你查看 try.thepavilion.io,你会发现该插件在当前版本的 Discourse(已更新)中运行成功:https://try.thepavilion.io/c/layouts

1 个赞

你好,Angus

我的论坛在更新到最新 Discourse 版本后显示空白页面。我使用的是“极简浅色”主题。

我刚刚将 try.thepavilion.io 更新到了 Discourse 和此插件的最新版本,运行没有问题。例如,请访问 try.thepavilion.io/c/layouts。

您是否正在运行该插件的最新版本?

如果您所有组件都已更新至最新版本,请前往 /logs 页面,并通过私信将所有最新的日志以及您正在使用的所有插件的完整列表发送给我。

嗨,Angus

这是我的日志:

ReferenceError: createWidget is not defined
    at https://babyforex.net/assets/plugins/layouts-custom-html-79795a6b28be65e4018399be0f7acd013a9a3065bf89e41348009b7d4d022c17.js:1:871
    at t.module.exports.u.<computed> (https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:561910)
    at t.module.exports.u.<computed> (https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:561623)
    at require (https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:561640)
    at https://babyforex.net/assets/application-d8533a612d618e9f9772f7c5554ffa382ad1ac0d9948ebcdfcc616f5e295c095.js:1:2403830
    at Array.forEach (<anonymous>)
    at Object.t (https://babyforex.net/assets/application-d8533a612d618e9f9772f7c5554ffa382ad1ac0d9948ebcdfcc616f5e295c095.js:1:2403702)
    at Object.n.initialize (https://babyforex.net/assets/application-d8533a612d618e9f9772f7c5554ffa382ad1ac0d9948ebcdfcc616f5e295c095.js:1:176791)
    at https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:340617
    at i.each (https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:501398)

以及这里:

ReferenceError: Can’t find variable: createWidget Url: https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js Line: 1 Column: 31156 Window Locati

https://babyforex.net/assets/plugins/layouts-custom-html-79795a6b28be65e4018399be0f7acd013a9a3065bf89e41348009b7d4d022c17.js:1:883

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:561915

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:561624

require@https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:561640

https://babyforex.net/assets/application-d8533a612d618e9f9772f7c5554ffa382ad1ac0d9948ebcdfcc616f5e295c095.js:1:2403839

forEach@[native code]

t@https://babyforex.net/assets/application-d8533a612d618e9f9772f7c5554ffa382ad1ac0d9948ebcdfcc616f5e295c095.js:1:2403709

https://babyforex.net/assets/application-d8533a612d618e9f9772f7c5554ffa382ad1ac0d9948ebcdfcc616f5e295c095.js:1:176795

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:340627

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:501399

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:500421

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:499868

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:499914

_runInitializer@https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:340854

runInstanceInitializers@https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:340577

_bootSync@https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:325419

didBecomeReady@https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:331042

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:490059

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:489056

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:491075

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:496504

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:493039

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:497040

e@https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:29468

https://babyforex.net/assets/ember_jquery-d1d89874d5f08a664c68007c6c2eef5e3bb1cbd8058291fce7818d8ef4ded8ca.js:1:29788

您需要将 layouts-custom-html 插件更新到此提交:

请注意,基于插件的部件通常正在逐步淘汰,取而代之的是基于主题的部件。我将在不久的将来发布一个替代该插件的主题组件。

3 个赞

我不得不修改几个函数,才能使我的插件重新正常工作。

主要使用了

layouts.createLayoutsWidgetDiscourseLayouts::Widget.add

1 个赞
TypeError: Discourse.SiteSettings 未定义_discourse-layouts-21b7cbab0ee1773efd84d72a08dbb131313019d1a0b99321fc5f165b31752521.js:93:23
    <anonymous> _discourse-layouts-21b7cbab0ee1773efd84d72a08dbb131313019d1a0b99321fc5f165b31752521.js:93
    jQuery 8
    _prepareInitializer _application-c96f4694dbdebd9912b6dffe0051bbb7d18f7c4bf08c5c3272c57906b63a978e.js:6849
    start _application-c96f4694dbdebd9912b6dffe0051bbb7d18f7c4bf08c5c3272c57906b63a978e.js:6870
    forEach self-hosted:225
    start _application-c96f4694dbdebd9912b6dffe0051bbb7d18f7c4bf08c5c3272c57906b63a978e.js:6866
    <anonymous> _start-discourse-efa4e5abfbd1b50b5152ffbe64d5dcea9f7c33f766dcc6387e2711f0f2112148.js:3
  var sidebarPadding = 20;
  var mainLeftOffset = Discourse.SiteSettings.layouts_sidebar_left_width + sidebarPadding;
  var mainRightOffset = Discourse.SiteSettings.layouts_sidebar_right_width + sidebarPadding;

我们在最新更新后遇到了一个问题,报错显示 Discourse.SiteSettings 未定义。这是直接还是间接与该插件相关?

(我刚重新构建了我们的页面)

更新:
Retort 也出现了同样的问题。我已在构建中禁用了 Custom Layouts,但随后 Retort 也报告了关于 Discourse.SiteSettings 的相同问题 :slight_smile:

谢谢,Tobias,这是由于 Discourse 中的这一更改导致的:

我已在 Layouts 中解决了该问题:

1 个赞

天哪,我很惊讶之前的代码居然能运行!那些站点设置是在模块读取时评估的,这可能发生在应用启动之前。你的新方案现在更加简洁,并且具有前瞻性 :slight_smile:

5 个赞

最近才意识到这个插件的强大功能,非常欣赏它基于组件的小部件所采取的新方向。感谢 @angus :tada:

我在一个网站上快速测试了一下,但发现当与其他在页眉和主内容之间注入自身内容的主题组件一起使用时,存在兼容性问题:侧边栏的高度会固定为包含注入的主题组件的高度,导致侧边栏悬浮在屏幕的中间或下半部分。

另外,当我在活跃主题中启用“布局主题列表小部件”并在布局中激活它时,会出现白屏,必须停用“布局”插件并重新构建才能修复。

祝一切顺利

2 个赞