在 kitsune 中,如何在不使用 k-dl 的情况下创建 URL 格式的实体详情页?
In kitsune, how to create a URL format of a details page of an entity without using k-dl?
我正在尝试在 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,即 _kid 以及 k- object 以获得最佳性能,因为 kitsune 中的对象由 _kid 唯一标识,它是 自动生成的 kitsune id。
但是,有另一种方法可以在没有 kitsune 唯一 ID (_kid) 的情况下实现对象详细信息页面。
如果你想从你这边维护对象的唯一性,你可以在 kitsune 对象中创建任何唯一字段并按如下方式使用它。
因此,如果您使用 k-object,_kid 是必需的,您需要从页面中删除 k-object 属性。
假设 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>
我正在尝试在 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,即 _kid 以及 k- object 以获得最佳性能,因为 kitsune 中的对象由 _kid 唯一标识,它是 自动生成的 kitsune id。
但是,有另一种方法可以在没有 kitsune 唯一 ID (_kid) 的情况下实现对象详细信息页面。
如果你想从你这边维护对象的唯一性,你可以在 kitsune 对象中创建任何唯一字段并按如下方式使用它。 因此,如果您使用 k-object,_kid 是必需的,您需要从页面中删除 k-object 属性。
假设 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>