Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何";“连接”;Laravel项目与Craft 3 CMS网站_Laravel_Laravel 5.5_Craftcms - Fatal编程技术网

如何";“连接”;Laravel项目与Craft 3 CMS网站

如何";“连接”;Laravel项目与Craft 3 CMS网站,laravel,laravel-5.5,craftcms,Laravel,Laravel 5.5,Craftcms,我开发了一个应用程序,可以从基于Laravel 5.5的API中获取数据。该应用程序的营销登陆页面基于Craft CMS版本3。营销网站和API以及两个系统的数据库都运行在同一台服务器上 我想为Laravel数据库表X的每一行生成登录页 www.website.com/awesome登陆页面关于{slug} 实现这一点的最佳途径是什么 我不想直接从拉威尔的数据库中获取数据 我不想将Craft CMS数据库与Laravel同步(从Laravel的数据库中添加/删除行作为Craft的条目) 如果能

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

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

www.website.com/awesome登陆页面关于{slug}

实现这一点的最佳途径是什么

  • 我不想直接从拉威尔的数据库中获取数据
  • 我不想将Craft CMS数据库与Laravel同步(从Laravel的数据库中添加/删除行作为Craft的条目)
  • 如果能够有一个条目类型“Landingpage”,我们可以选择创建一个Landingpage,引用laravel表的ID,并为Landingpage添加额外的内容,那将是非常棒的
将是一个从Laravel到Craft CMS插件的JSON-API,这是一个好主意吗?

一个选项是使用动态路由,只从模板文件中获取127.0.0.1(因为是同一台服务器)中的数据?还是有一种更聪明的方法在手工艺CMS中?

让我们从以下几点开始:

  • “我不想直接从Laravel的数据库中获取数据”
  • 我假设您不想在CraftCMS中编写代码来访问另一个项目的数据库。好。如果您计划让他们分别做不同的工作,并单独使用LaravelAPI获取数据,就让它处理自己的数据库吧

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

    对于第3点,您必须在每个数据库中存储关于某个方面的信息。在CraftCMS上,至少存储它将向laravel请求的ID,并且laravel必须获得一个端点,在那里它可以插入新的内容,如果你计划在那里有额外的内容

    我不完全确定当你说“为登录页添加额外内容”时,我是否理解了你想要表达的想法,但我会尽量保持它的简单和抽象,它的用途是,Laravel存储CMS不应该首先处理的“信息”(或者你可以制作一些额外的表并将它们导入其他数据库)。
    影响性能?取决于您掌握的数据量

    嗨,谢谢您的详细回答。我不想编辑来自Craft CMS的数据。飞船应该只是一个“门户”。它展示了网站,并从Laravel那里获取了这些登陆页面的数据。此外,我可以添加一个工艺条目,其中包含特定ID的更多信息(来自Laravel数据库),例如,在从Laravel数据库获取的信息下方添加更多文本。我确信这是令人困惑的,但目前,我不知道如何更好地解释它。因此,你从拉雷维尔取回一个片段,然后返回,例如,一个标题,但我不喜欢有传统内容的想法。如果您正在获取laravel上登录页的内容,那么最好从一侧获取所有内容。我可能不是帮助你的最佳人选,但我会投票给你,因为我很好奇别人会怎么想,也会得到一些想法。总的来说,我同意你的观点,把所有信息放在一个数据库中。但Laravel+MySQL数据库专注于应用程序功能。有一个小型后端来管理此数据库中的数据。我可以在那里添加其他字段。这会更容易。但我不想把应用程序数据和营销内容混为一谈。如果我想添加一个新的slider元素或类似于landingpage的东西,我想用我的CMS来做。在Laravel中,我希望只需添加一个API即可提供JSON格式的数据。但我不知道如何构造这样一个工艺插件。。。