laravel - 如何使用 Craft 3 CMS 网站 "connect"Laravel 项目

标签 laravel laravel-5.5 craftcms

我开发了一个应用程序,它从基于 Laravel 5.5 的 API 获取数据。该应用的营销登陆页面基于 Craft CMS Version 3。营销网站以及两个系统的 API 和数据库运行在同一服务器上。

我想为 Laravel 数据库的表 X 的每一行生成登陆页面。

www.website.com/awesome-landingpage-about-{slug}

实现这一点的最佳方法是什么?

  • 我不想直接从 Laravel 的数据库中获取数据
  • 我不想将 Craft CMS 数据库与 Laravel 同步(从 Laravel 数据库中添加/删除行作为 Craft 的条目)
  • 如果能够有一个条目类型的“登陆页面”,我们可以选择创建一个登陆页面,引用 laravel 表的 ID 并为登陆页面添加其他内容,那就太棒了。

从 Laravel 到 Craft CMS 插件的 JSON-API 是一个好的高性能想法吗?

一种选择是使用动态路由并仅从模板文件中获取 127.0.0.1(因为同一服务器)的数据?或者 Craft CMS 中有更智能的方法吗?

enter image description here

最佳答案

让我们开始:

  1. “我不想直接从 Laravel 的数据库中获取数据”

我假设您不想在 CraftCMS 中编写代码来访问另一个项目的数据库。好的。如果您打算让它们执行单独的工作并使用 Laravel API 单独获取数据,请让它处理自己的数据库。

  • “我不想将 Craft CMS 数据库与 Laravel 同步(从 Laravel 数据库中添加/删除行作为 Craft 的条目)”
  • 所以,这是我的问题: 您希望能够单独基于 Laravel 的行或基于 Laravel 的数据库行和 CraftCMS 来创建登陆页面?
    这一切都取决于您想要如何很好地抽象这两个框架。 我可能会告诉 laravel 接受来自经过身份验证的用户(CraftCMS 用户)或来自本地主机(仅来自机器内部)的请求,并且我会创建端点来添加/删除/编辑/获取我可以使用的数据。然后,我从 Laravel 获取行并与我自己的行合并(假设我是 CMS)。 即使在 Intranet 网络中,告诉 Laravel 访问数据库的请求也比从 CraftCMS 访问数据库的请求要长,因此您应该预期两个项目之间存在依赖关系。

    对于第 3 点,您必须在每个数据库中存储有关某些内容的信息。在 CraftCMS 上,至少要存储它将向 Laravel 请求的 ID,而 Laravel 必须获得一个可以插入新内容的端点(如果您计划在那里添加其他内容)。

    当你说“为登陆页面添加额外的内容”时,我不完全确定我是否明白你想要展示的想法,但我会尽量保持它的简单和抽象,它的用途,Laravel来存储这个CMS 一开始就不应该处理的“信息”(或者您可以制定一些额外的表并将它们导入到其他数据库)。 影响性能?取决于您拥有的数据量

    关于laravel - 如何使用 Craft 3 CMS 网站 "connect"Laravel 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51293731/

    相关文章:

    php - 拉维尔 | Eloquent 地填充外国数据

    mysql - 在 Controller laravel 中查询 sql

    php - Laravel 5.5 - 查询多个条件,但仅当 POST 数据等于 1 时

    laravel-5 - Laravel 5.5 测试 JSON header 不起作用

    Docker 容器尝试挂载一个文件目录

    php - 在 Laravel 的 Eloquent 上查找以多对多关系共享标签的文章的正确方法

    php - 此集合实例上不存在属性 [stats]

    .htaccess - 共享主机上的 Laravel 部署 - 404 错误

    php - 减小 docker 镜像的大小

    html - Craft CMS-无法在插件中使用resourceUrl播放音频文件