宾客门户主题组件

Guest Gate v1.0

你好 :wave: 该主题组件基于 Guest Gate (Sign Up Popup Plugin) 创建。它可以通过模态框锁定主题,阻止匿名访客查看,并强制他们注册或登录。该组件也可用作提示模态框,鼓励访客注册,但允许他们关闭模态框(为此,请保持 dismissable false 设置未勾选)。选项包括更改显示模态框之前可以查看的主题数量。


提示: 如果你使用“自定义门”选项并希望隐藏模态框标题(如上图所示),你需要删除 guest_gate.title 字段并按一下 空格。这将移除模态框标题,以便你可以使用图片下方的标题。

你有两个主要的门选项:

  1. 通用门(默认:它将在模态框中使用 Discourse 注册 CTA 文本)。它使用这些文本:js.signup_cta.introjs.signup_cta.value_prop

  2. 自定义门(你可以自定义模态框:添加图片、自定义文本和颜色)。


还有许多其他设置

Guest Gate 模态框全局设置

  1. max guest topic views
    门显示之前的主题浏览次数。门首次出现后,它将在 1 和此数字之间随机出现。
  2. dismissable false
    移除关闭按钮,防止访客关闭它。
  3. use gate buttons
    在模态框页脚使用按钮而不是链接。
  4. custom url enabled
    启用自定义登录 URL 和自定义注册 URL 选项。正常行为(如果你不勾选此选项)是在当前主题页面显示登录或注册模态框。
  5. custom login url
    例如,/login 是显示“登录”模态框的主页。
  6. custom signup url
    例如,/signup 是显示“注册”模态框的主页。
  7. gate footer position
    页脚按钮/链接的位置。
  8. gate show only once
    Guest Gate 模态框每个会话仅显示一次。

自定义门设置

  1. custom gate enabled
    如果你想自定义模态框,请启用它。
  2. custom gate image
    上传要在模态框顶部显示的图片。
  3. custom gate image width
    上传图片的宽度。你可以使用 px、% 等,例如 100% 将添加一个全模态框宽度(减去内边距)的图片。
  4. custom gate big text color
    “大文本”出现在图片下方。你可以设置文本颜色。
  5. custom gate little text color
    “小文本”出现在大文本下方。你可以设置文本颜色。
  6. custom gate background color
    更改模态框背景颜色。
  7. custom gate footer text color
    更改页脚文本颜色。如果 use gate buttons 设置已禁用且你设置了自定义门,则适用此设置。
  8. custom gate link color
    更改页脚链接颜色。如果 use gate buttons 设置已禁用且你设置了自定义门,则适用此设置。

致谢 :heart: 非常感谢插件作者、维护者和贡献者:@vinothkannans, @jgujgu@michaeld

Guest Gate v2.0

你好 :wave:

Guest Gate v2.0 是 Discourse 上针对匿名访客的现代可配置门控机制。

它可以显示模态框以鼓励访客注册或登录,既可以作为软性转化提示,也可以作为访客无法关闭的门控。

Guest Gate 源自原始的 Guest Gate Sign Up Popup 插件,自那时以来已经发生了相当大的演变。

触发 Guest Gate

版本 2.0 支持多种触发门控的方式:

  1. 页面浏览量
    在达到可配置的合格页面浏览次数后显示门控。

  2. 时间
    在访客在合格页面上花费了可配置的时间后显示门控。

  3. 滚动
    在访客滚动了页面可配置的百分比后显示门控。

  4. 灯箱(Lightbox)
    当匿名访客在 Discourse 灯箱中打开图片时显示门控。

  5. 任意
    启用多种触发类型,并在达到第一个配置的触发条件时显示门控。

你还可以配置触发条件和模态框出现之间的延迟。


重复行为

在 Guest Gate 显示后,你可以控制它何时再次出现。

可用模式:

  • 重复触发: 每当配置的触发条件触发时显示门控。

  • 随机页面浏览: 在随机数量的页面浏览后显示门控。

  • 每会话一次: 在浏览器会话期间最多显示一次门控。

为了向后兼容,也支持传统的仅显示一次设置。


URL 可见性

两个设置控制 Guest Gate 允许出现的位置:

url_for_show

定义可以触发 Guest Gate 的路径。

示例:

  • * 所有页面

  • / 主页

  • /latest 最新

  • /t/* 主题

  • /c/* 分类

url_for_hide

定义 Guest Gate 绝不应出现的路径。

隐藏模式始终优先于显示列表。


模态框设置

dismissable

允许访客关闭 Guest Gate 模态框。

禁用此选项以创建不可关闭的门控。

gate_modal_size

选择模态框宽度:

  • compact

  • standard

  • wide

gate_body_alignment

选择主模态框内容的水平对齐方式:

  • left

  • center

  • right

gate_footer_position

选择登录/注册链接或按钮的对齐方式:

  • left

  • center

  • right

gate_title_visibility

显示或隐藏模态框标题。

gate_title_position

控制标题边距定位。


登录和注册

Guest Gate 支持正常的 Discourse 身份验证流程以及自定义 URL。

use_gate_buttons

在模态框页脚使用按钮而不是文本链接。

custom_url_enabled

使用自定义登录和注册 URL,而不是 Discourse 的原生身份验证操作。

custom_login_url

启用自定义 URL 时用于登录的目标。

custom_signup_url

启用自定义 URL 时用于注册的目标。

你还可以独立配置按钮样式和 Font Awesome 图标。


Discourse Connect

Guest Gate 支持 Discourse Connect

当启用 Discourse Connect 时,你可以选择使用以下选项提供单独的注册 URL:

  • enable_discourse_connect_signup

  • discourse_connect_signup_url


自定义门

自定义门 允许你完全自定义模态框的内容和外观。

通过以下方式启用:

custom_gate_enabled

启用自定义门设计。

custom_gate_image

显示在自定义文本上方的可选图片。

custom_gate_image_alt

自定义图片的替代文本。

custom_gate_image_width

使用以下值设置图片宽度:

  • 150px

  • 50%

  • 100%

custom_gate_image_position

对齐图片:

  • left

  • center

  • right

custom_gate_big_text_position

对齐自定义标题:

  • left

  • center

  • right

custom_gate_little_text_position

对齐自定义文本:

  • left

  • center

  • right

自定义门还提供用于标题、文本、背景、页脚和链接颜色的设置。


分析

Guest Gate v2.0 包含可选的注重隐私的分析功能。

通过以下方式启用:

enable_analytics

启用后,Guest Gate 跟踪:

  • 门控展示次数

  • 触发原因

  • 页面路径

  • 登录点击

  • 注册点击

  • SSO 操作

  • 关闭操作

事件通过 window.dataLayer 公开,并作为浏览器事件分发:

discourse-guest-gate:analytics

这使得 Guest Gate 可以与 Google Analytics、Google Tag Manager、Matomo 等分析和标签管理平台或自定义分析实现集成。

Guest Gate 不收集个人数据。

分析功能默认禁用。

analytics_debug_logging\n

在配置分析时启用此功能,以在浏览器控制台中打印 Guest Gate 事件。

建议在生产环境中禁用此功能。


从 v1 迁移

Guest Gate v2.0 包含针对现有安装的设置迁移功能。

以下传统设置将自动迁移:

  • max_guest_topic_views

  • dismissable_false

  • gate_show_when_thumbnail_clicked

因此,升级后无需手动重新创建现有配置。


要求

Guest Gate v2.0 需要 Discourse 3.2.0 或更高版本


致谢 :heart:
非常感谢原始插件作者、维护者和贡献者:@vinothkannans, @jgujgu@michaeld

62 个赞

谢谢!这太棒了 :slight_smile:

我真的很喜欢登录/注册链接可以被替换成按钮。

我建议也许注册按钮应该是高亮的(蓝色)颜色,而“我已经有一个账户”按钮应该是灰色的。至少根据我对流行网站的观察,这似乎更标准。看到该模态框的大多数人可能没有账户,所以这似乎是合理的。

2 个赞

您好 @markersocial

谢谢您的建议!:slightly_smiling_face:

我已经添加了这两个设置。现在您可以更改访客网关模态登录和注册按钮的样式。

btn-primarybtn-default

4 个赞

太棒了,非常感谢 @Don!现在已经更新了,效果很棒 :slight_smile:

我唯一的其他建议是能够自定义重复提示的频率。

设置:访客主题最大浏览次数
“在显示入口之前的主题浏览次数。入口首次出现后,它会在此数字和 1 之间随机出现。”

将访客主题最大浏览次数设置为 1 或 2 很好,可以鼓励用户早期注册 - 但如果用户拒绝(并且未启用每会话显示一次),那么能够以较低的频率再次显示模态框会很好,这样就不会对潜水用户过于激进。例如,每浏览 5 次或更多主题显示一次。

2 个赞

嘿 Don,很棒的组件!有没有可能让注册按钮可自定义,以便插入 URL?我使用 Memberful 进行 SSL,所以普通的注册链接不起作用,只会跳转到登录页面。谢谢!

3 个赞

你好 David,

谢谢,这是一个很棒的建议! :slightly_smiling_face:

我已经添加了。我用 custom_url_enabled 和两个选项替换了 redirect_to_home 设置。

  1. custom_login_url: /login
    (默认情况下,这会重定向到主页并打开登录模态框)
  2. custom_signup_url: /singup
    (默认情况下,这会重定向到主页并打开注册模态框)
4 个赞

太棒了!只有一个问题,现在自定义闸门文本选项不起作用了

1 个赞

我检查了您的网站,对我来说是有效的。也许可以尝试硬刷新或重新打开浏览器,我认为您看到的是缓存版本。

1 个赞

我也是这么想的,清除了缓存,尝试了 4 个不同的浏览器,结果都一样,太奇怪了!如果你不介意再试一次,我刚刚将 guest_gate.title 改成了“Test”,你看到这个更新了吗?

是的,我现在看到的就是这样。

我将尝试检查其他浏览器和设备。

在 VPN、手机、不同网络上都出现了相同的结果。这真是太奇怪了!我想只要其他人能看到正确的文本就可以了!:rofl:

你好 David,

我认为这不正常。 :slightly_smiling_face: 也许存在一个本地化错误。我最好的建议是 set locale from accept language header(从接受语言标头设置本地化)设置。
正如我所见,您在网站上使用了此设置,也许这就是为什么您会在模态框中看到默认文本,因为您的浏览器语言不同,Discourse 会将其返回到默认文本。

您可以关闭此设置然后重试吗?

Screenshot 2022-05-12 at 8.45.19


我现在可以重现这个问题了。我将 Chrome 语言从英语(英国)更改为英语(美国),然后就发生了这种情况。

然后改回英语(英国)

4 个赞

谢谢 Don,你真是帮大忙了!我认为我的安装在语言方面存在一个 bug。由于这似乎不是由你的组件引起的,我将开启一个新话题。感谢你对此事的关注。

编辑:我发现我的管理员区域设置不知何故被更改为英国而不是美国,真是奇怪!将其改回并重新填写字段后,一切都恢复正常了。

3 个赞

3 个帖子被拆分到一个新主题:组件未遵循文本覆盖

这效果很好。谢谢。

我做了一些小的编辑,使第一篇帖子更容易阅读。不过,有一句话我完全不明白:

自定义网址已启用
默认情况下,将自定义网址添加到登录和注册按钮/链接,这会将访问者在点击登录或注册按钮后重定向到主页并打开登录或注册模态框。注意:如果取消选中此项,则访问者在点击按钮后仍停留在主题页面上,并且访客门模态框会更改为登录或注册模态框,该模态框可关闭,因此访问者可以关闭它并阅读主题。

2 个赞

谢谢你,乔纳森 :slightly_smiling_face: 我真的很感激 :heart: 不幸的是,我的英语不是最好的 :confused: 对此很抱歉!我会在主题组件中更改这些,当然你也可以发送一个 PR。 :slightly_smiling_face:

custom url enabled 站点设置的意思是。
你可以为访客网关的登录和注册按钮/链接添加自定义 URL,默认情况下,这些自定义 URL 是 /login/signup,它们会将访客重定向到主页并打开登录或注册模态框。因此,如果你勾选了它,它将激活下面的两个设置。custom login urlcustom signup url

如果你不勾选此设置,那么在点击访客网关的登录或注册按钮/链接后,访客将停留在主题页面,并在同一主题页面上打开登录或注册模态框。之后,访客可以关闭模态框。

我希望这有助于理解,再次感谢你花时间使其更容易理解 :slightly_smiling_face:

2 个赞

您的英语没问题,JavaScript 也没有问题,这才是最重要的 :slight_smile: 这个呢?

  1. custom url enabled – 启用 custom login urlcustom signup url 选项。正常行为(如果您不勾选此选项)是在当前主题页面上显示登录或注册模态框。
  2. custom login url – 例如,/login 是带有“登录”模态框的主页。
  3. custom signup url – 例如,/signup 是带有“注册”模态框的主页。
2 个赞

这很大程度上也归功于插件的作者和贡献者。但我会尽我所能来开发它并添加更多功能、修复等 :slightly_smiling_face:


感谢您的指正 :slightly_smiling_face: 这样看起来好多了。我也会在主题组件中进行更正。

大家好,

我最近安装了这个组件,它运行得非常好,但我不太确定这个门控机制是否会减慢 Google 爬虫抓取主题的速度。

有人知道对爬虫有什么影响吗?

2 个赞

在使用 Discourse Connect 进行 SSO 配置时,我在 Guest Gate 方面遇到了一些问题。

用户可以在主站点登录,然后在 Discourse 中显示已登录,但在点击几个主题后,Guest Gate 模态框会弹出。这很不寻常,因为用户已登录。

我为登录设置了自定义 URL,因此当用户点击“我已登录”时,他们会被引导至自定义登录页面,然后循环重复。

唯一的解决方法是当用户点击 Discourse 中的原生登录按钮时,他们会自动登录。

看起来 Guest Gate 由于某种原因未能识别 SSO 登录,而是要求进行原生登录才能激活。

其他人是否遇到过此问题?有什么解决方案或变通方法吗?

1 个赞