Laravel电子商务产品和类别路由

时间:2019-09-11 21:38:02

标签: php laravel routes e-commerce laravel-5.8

TLDR

我正在开发一个Laravel电子商务网站,希望类别,子类别和产品URL是人类可读的(即没有ID),并复制它们所处的位置/面包屑。例如;

Category: /clothes
Subcategory: /clothes/men
Product: /clothes/men/tshirt

面包屑将成为;

Home > Clothes
Home > Clothes > Men
Home > Clothes > Men > Tshirt

如何使用web.php中的路由来实现这一目标?如果我先检查类别然后是产品,如果tshirt不是类别,我可以从类别路线中返回false,然后转到下一条路线以检查它是否是产品吗?


详细说明

我当前的电子商务站点(CodeIgniter)在数据库中为创建的每个类别,子类别和产品创建静态路由,因此路由器在数据库中查找该段并加载正确的控制器。但是,我相信还有更好的方法,因为这会将类别和产品限制为唯一的名称-在当前站点men would have tshirtwomen would have tshirt1children would have tshirt2上。例如;

slug, route
clothes, category/1
men, category/2
tshirt, product/1
women, category/3
tshirt1, product/2

下面是一个简单的解决方案,因为您可以使用categoryproduct来加载正确的控制器,但这并不能显示您在商店中的位置,这两种情况都是通过查看URL和面包屑(除非您使用会话数据来存储您所处的最后一个类别,等等,但是如果您来自Google,则无法使用此功能。)

/category/clothes
/category/men
/product/tshirt

最终,我该如何实现所需的路由,或者有更好的方法来处理此问题?现有的Laravel电子商务解决方案似乎已解决了上述问题,并且没有面包屑允许用户升级到商店级别,我认为在UX方面这是一个很大的禁忌。

0 个答案:

没有答案