首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何以编程方式管理分类法?

如何以编程方式管理分类法?
EN

Drupal用户
提问于 2016-08-10 22:11:16
回答 1查看 695关注 0票数 0

我正在进行一个具有此需求的项目:将有几个自定义内容类型,其中许多字段来自分类法引用。

许多这类分类法都有很多术语(50+)。这些术语由负责此任务的第三方系统定期更新(添加/更正/删除),然后通过are服务公开这些“最新”术语列表。

因此,我不需要强迫人工操作员手动检查这些术语列表并相应地更新D8分类法,我认为一个好的方法是定期运行一个任务来验证该webservice,然后用已经更改的内容更新D8。

我仔细阅读了以下参考资料:

  • 以编程方式在Drupal 8中创建术语? 以编程方式创建一个术语?
  • 在Drupal 8 http://www.drupal8.ovh/en/tutoriels/55/create-taxonomy-term-programmatically-on-drupal-8上以编程方式创建分类法术语
  • Drupal 8-示例- create_taxonomy_term.php https://gist.github.com/facine/35bb291811c146b6fc9e#file-create_分类学_term-php
  • 以编程方式保存和检索Drupal 8 http://btmash.com/article/2016-04-26/saving-and-retrieving-taxonomy-terms-programmatically-drupal-8的分类法术语

接近项目需求的是上面列表中的第四个。这足以满足目前的需要。

但我不太明白应该在哪里输入这段代码。它需要是一个自定义模块还是应该进入themes/mytheme/mytheme.theme之类的?

从我的立场来看,我认为一个优雅的解决方案是在某个地方(哪里)安排一个例行公事。我可以通过D8's cron调用,这样我就可以定期检索然后更新分类法。但我不知道如何才能达到这个目标。

有人能提供任何好的参考资料,这样我就可以用代码来满足这个愿望了吗?

EN

回答 1

Drupal用户

回答已采纳

发布于 2016-08-11 06:37:08

一个简单的方法来设置这个应该是一个cron钩子。

功能钩_cron

执行周期性动作。需要定期执行某些命令的模块可以实现hook_cron()。然后,当发生cron运行时,引擎将调用钩子,这是管理员定义的。hook_cron()管理的典型任务是数据库维护、备份、重新计算设置或参数、自动邮件和检索远程数据。短时间运行或非资源密集型任务可以在hook_cron()实现中直接执行。长期运行的任务和可能超时的任务(例如检索远程数据、发送电子邮件和密集的文件任务)应该使用队列API而不是直接执行任务。要做到这一点,首先通过\Drupal\Core\注释\QueueWorker插件定义一个或多个队列。然后,将需要处理的项添加到定义的队列中。

如前所述,D8的一种更好的方法是使用queue。

或者尝试使用Feeds的dev版本,它可以在不使用代码的情况下做到这一点:

https://www.drupal.org/project/feeds

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

https://drupal.stackexchange.com/questions/211165

复制
相关文章

相似问题

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