【问题标题】:Substrings in Zendesk Templates?Zendesk 模板中的子字符串?
【发布时间】:2016-04-12 21:11:11
【问题描述】:

我正在开发一个在 Zendesk 中构建的非常初级的论坛,找不到太多或任何关于其变量/标记如何工作​​的信息。我想在用户帖子旁边显示部分名称而不是全名。

理想情况下,我可以将这个名字转换为姓氏首字母。所以“John Smith”将显示为“John S”。而是。

这是出现在帮助中心的整个论坛/社区中的代码块。现在我只能通过帮助中心访问代码,但可能有一个我还没有找到的主题导出/导入,它暴露了他们拥有的更多伪 Handlebars 实现。我的工作假设只有代理/管理员有权查看 author.url 但在这两种情况下我都需要缩短该用户名。

{{#if author.url}}
<a href="{{author.url}}" target="_zendesk_lotus">
  {{author.name}}
</a>
{{else}}
{{author.name}}
{{/if}}

看起来有“显示名称”,但它们仅供代理和管理员使用,而不是个人用户(不是我们想要手动更新我们的 3k+ 用户来设置显示名称)。

tl;dr 用户名是由我们的软件在使用完整的名字和姓氏创建帐户时自动生成的。我们希望将这些名称在论坛/社区中的显示方式更改为名字,姓氏首字母:

David Smith => David S

我能找到的最接近的函数是摘录,但它只是将字符串截断为字符限制:https://developer.zendesk.com/apps/docs/help-center-templates/helpers#excerpt-helper

我可以在页面加载时使用客户端 javascript 制定解决方案,但我宁愿不采用这种方式。也许我必须创建一个自定义应用程序或其他东西才能在主题代码中添加一个单独的功能?任何建议或帮助将不胜感激!

【问题讨论】:

  • 您能否准确说明您在问什么/问题是什么?谢谢。
  • 我希望将用户名转换为名字/姓氏首字母。如果有意义的话,本质上是一个子字符串或正则表达式替换名称中的第一个“单词”。
  • 抱歉,我仍然很难理解问题所在。此代码位于何处?它是来自帮助中心、Zendesk 应用程序还是其他地方,例如访问 Zendesk 数据的外部应用程序?
  • 我一直在处理的代码是通过帮助中心的编辑器进行的 - 我认为它是 Zendesk 更新版本中提供的社区模块的一部分,但它与主题本身集成在一起。我还没有找到一种方法来导出我的主题并访问他们使用的底层“Handlebars-esque”功能,但如果这是一个选项,我会全力以赴。我更新了我的问题,举例说明了显示内容与我希望看到的内容。

标签: zendesk


【解决方案1】:

很抱歉成为坏消息的承担者,但 IMO 这是不可能的;在得出我的答案时,我查看了以下内容

在服务器端

用户对象的 Zendesk API 条目在名称方面不是原子的(请参阅https://developer.zendesk.com/apps/docs/help-center-templates/objects#user-object)。我还查看了 Zendesk 的“全局助手”、“共享助手”和“高级助手”(即您提到的“摘录”助手),但没有达到我们想要的效果。

在客户端 - 端

  1. 首先,而 JavaScript 可以用来保证一个完整的 第二个名称确实被截断为仅显示的第一个字母 目的,它不能保证完整的第二个名称可以 出于隐私目的而防止窥探。我提到这个 因为如果你住在欧盟国家,GDPR 法规就会生效 或 2018 年 5 月 25 日左右。

  2. 由于 CSS3 没有“首字”伪选择器,这可能会排除使用 CSS 的直接方法。也许双向方向和文本缩进黑客可以工作,但我觉得考虑到关注点 1) 提出的问题,所涉及的工作量太大了,如果你真的必须继续使用客户端解决方案,JavaScript 将是你最好的选择(见Targeting specific text entered into form input field and add styles to it?)

【讨论】:

  • 是的,我很久以前就得出结论,Zendesk 的帮助中心在提供的灵活性方面非常平庸。
猜你喜欢
  • 2017-06-07
  • 1970-01-01
  • 2011-10-14
  • 2015-07-29
  • 2021-07-09
  • 2019-02-08
  • 1970-01-01
  • 2016-08-20
  • 1970-01-01
相关资源
最近更新 更多