在kitsune中,如何在不使用k-dl的情况下创建实体的详细信息页面的URL格式



我正在尝试在kitsune创建一个电子商务网站。我不想在k-dl中使用_kid值。例如,典型的方法是

k-dl="/product/[[product.name.urlencode()]]/[[product.code]]/[[product._kid]]"

如果我不想使用_kid作为它的长GUID。我想使用代码作为每个产品的唯一性,作为特定产品的标识符。

当我定义k-dl如下时,它给了我一个错误,我必须在URL格式中使用_kid:

k-dl="/product/[[product.name.urlencode()]]/[[product.code]]"

在kitsune中实现对象详细信息页面URL的理想方法是拥有一个唯一的id,即_kidk-object,以获得最佳性能,因为kitsune的对象由_6kid唯一标识,自动生成的kitsune id

但是,有一种替代方法可以在没有kitsune唯一id(_kid(的情况下实现对象详细信息页面。

如果你想从你的角度保持对象的唯一性,你可以在kitsune对象中创建任何唯一的字段,并按如下所示使用它。因此,_kid是必需的。如果您正在使用k-object,则需要从页面中删除k-object属性。

比方说product.code是您从K-Admin维护的唯一字段,您可以使用K-dl,如下所示。

<head k-dl="/product/[[product.name.urlencode()]]/[[product_code_param]]">

这里[[product_code]]是URL中的动态变量,请确保您传递了正确的产品代码值来生成URL。

现在你只需使用下面的中的k重复循环就可以得到唯一的对象

<div k-repeat="[[product in business.products]]">
<div k-show="[[product.code == product_code_param]]"> <!--this will only render if the product code is matching with the url param-->

<p>[[product.name]]</p>

</div>
</div>

相关内容

最新更新