我正在尝试在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]]"
答案 0 :(得分:0)
在kitsune中实施对象详细信息页面URL的理想方法是使其具有唯一的ID,该ID为 _kid 和 k-object 以获得最佳性能,作为kitsune中对象的唯一标识是 _kid ,它是自动生成的kitsune id 。
但是,是的,还有另一种方法来实现对象详细信息页面,而无需使用kitsune唯一ID(_kid)。
如果要从侧面维护对象的唯一性,可以在kitsune对象中创建任何唯一字段,并按以下方式使用它。 因此,如果您使用的是k对象,则_kid是必需的,您需要从页面中删除k对象属性。
假设 product.code 是您从 K-Admin 维护的唯一字段,您可以将 k-dl 用作在下面。
<head k-dl="/product/[[product.name.urlencode()]]/[[product_code_param]]">
此处 [[product_code]] 是URL中的动态变量,请确保您传递了正确的产品代码值以生成URL。
现在您只需使用如下所示的k-repeat循环即可获得唯一对象
<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>