我开发了一个应用程序,该应用程序基于 Laravel 5.5 从API提取数据。该应用程序的营销登陆页面基于Craft CMS版本3。营销网站和API以及两个系统的数据库都在同一服务器上运行。
我想为Laravel数据库的表X的每一行生成登录页面。
www.website.com/awesome-landingpage-about- {slug}
实现此目标的最佳方法是什么?
从Laravel到Craft CMS插件的JSON-API会是个好主意吗?
一种选择是使用动态路由并仅从模板文件中从127.0.0.1(由于同一服务器)中获取数据?还是Craft CMS中有更聪明的方法?
答案 0 :(得分:1)
让我们开始于:
我假设您不想在CraftCMS中编写代码来访问另一个项目的数据库。好。如果您打算让它们做单独的工作,并使用Laravel API单独获取数据,则让它处理自己的数据库。
所以,这是我的问题:
您是否希望能够仅基于Laravel的行或基于Laravel的数据库行和CraftCMS的页面创建登录页面?
一切都取决于您要对两个框架进行抽象的程度。
我可能会告诉laravel接受来自身份验证用户(CraftCMS用户)或本地主机(仅来自计算机内部)的请求,然后创建端点以添加/删除/编辑/获取数据。然后,我将从Laravel中获取行并与自己的行合并(假设我是CMS)。
即使在Intranet网络中,告诉laravel访问数据库的请求也比从CraftCMS访问数据库的请求长,因此您应该期望两个项目之间具有依赖性。
对于第3点,您必须在每个数据库上存储有关某物的信息。在CraftCMS上,至少要存储ID,这将要求laravel,并且laravel将必须获得一个端点,可以在其中插入新内容,如果您打算在那里添加其他内容。
当您说“为着陆页添加其他内容”时,我不确定是否能理解您要显示的想法,但我会尽量使其简洁和抽象化,Laravel会存储此信息CMS最初不应该处理的“信息”(或者您可以计算出一些额外的表并将其导入到其他数据库中)。 影响力?取决于您拥有的数据量