首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从外部api中填充小枝模板

从外部api中填充小枝模板
EN

Stack Overflow用户
提问于 2016-06-09 04:39:10
回答 1查看 1.6K关注 0票数 0

我正在建设一个Drupal 8网站和新的树枝模板引擎。对于一种特定的内容类型,我想调用一个外部restful,并将一些返回的数据呈现为小枝模板中的字段。

我有一个内部id要调用API,我想嵌入到模板中:

  • api调用
  • 从调用中设置多个变量
  • 呈现结果(如果不存在,则使用某种逻辑)

这是很容易用树枝和drupal 8做的吗?作为第二个问题,这安全吗?

这个阶段的替代方法是编写小的Drupal 8模块,但是由于页面上没有用户输入,只是从返回的api调用进行呈现,所以我认为将所有内容放在一个地方会更容易。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-10 14:57:22

在Drupal 7中,将任意的PHP放入模板是可能的,但设计很差。在Drupal 8中,这是很难故意做的。您不应该尝试在Twig文件中执行任意PHP,也不应该在处理请求的后期进行远程API调用。

您应该调用API并在到达小枝之前收集数据。您应该创建一个自定义模块,该模块处理API交互,并将响应放置在字段、块或其他结构中,以便在适当的上下文中呈现(通常,自定义块可以很好地处理这种情况,但哪种方法最有意义取决于您的项目)。您还应该记住,任何需要远程API调用的页面都可能很慢,除非该API调用非常简单和非常快。BigPipe模块可以帮助您解决这些速度问题,但需要额外的学习曲线。

如果希望浏览器处理API调用,则需要创建一个div (或类似的标记)来放置结果,并将JavaScript附加到结构中,并在大多数页面加载完成后进行实际的API调用。

至于安全:它和你做的一样安全。Drupal将提供一些帮助,以避免最常见的安全错误,但您仍然可以做一些会使其不安全的事情(比如与不受信任的第三方共享数据,或者假设响应数据始终是安全的)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37716934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档