Shopware 6、管理、订单列表、更改订单日期格式
Shopware 6, administration, order list, change order date format
各位。我有一个关于未知产品的小任务。需要在 Shopware 6 的订单列表中更改日期格式。
现在它看起来像:
22/06/21,22:23
我只想显示日期,不显示时间。
在 SW 文档中找到 guide
在 SW 源中找到订单列表屏幕的模板:
shopware\vendor\shopware\administration\Resources\app\administration\src\module\sw-order\page\sw-order-list\sw-order-list.html.twig
日期列代码:
{% block sw_order_list_grid_columns_order_date %}
<template #column-orderDateTime="{ item }">
{{ item.orderDateTime | date({hour: '2-digit', minute: '2-digit'}) }}
</template>
{% endblock %}
在我的插件中添加了新组件:
plugins\MyPlugin\src\Resources\app\administration\src\core\component\sw-order-list-override
使用新模板“sw-order-list.html.twig”:
{% block sw_order_list_grid_columns_order_date %}
{{ item.orderDateTime | format_date('medium') }}
{% endblock %}
和新的“index.js”:
import template from './sw-order-list.html.twig';
const { Component } = Shopware;
Component.override('sw-order-list', {
template
});
进入“plugins\MyPlugin\src\Resources\app\administration\src\main.js”添加:
import './core/component/sw-order-list-override/';
在 SW 主机重建管理时,浏览器和屏幕中重新加载的订单屏幕列表发生了变化,但不是预期的那样。
现在订单日期看起来像 ISO 日期:
2021-07-13T00:08:21.413+00:00
我的代码有什么问题?
我什至在覆盖模板中添加了类似的东西
{% block sw_order_list_grid_columns_order_date %}
TEST TEXT
{% endblock %}
但在订单日期栏中没有看到“TEST TEXT”,而是相同的 ISO 格式日期。
据我所知,SW6 的管理前端没有实现完整的 twig 功能,而是实现了一个精简的功能。不幸的是,您只能使用树枝函数,不能使用过滤器。
我的诀窍是让日期函数不带任何参数:
{{ item.orderDateTime|date({hour: '2-digit', minute: '2-digit'}) }}
{# results in dd.mm.yyyy hh:ii (or another date format depending on your configuration) #}
{{ item.orderDateTime|date() }}
{# results in dd.mm.yyyy without time #}
您获得的 ISO 格式日期只是 item.orderDateTime 没有任何过滤器,因为您提供的过滤器在这里不起作用。
各位。我有一个关于未知产品的小任务。需要在 Shopware 6 的订单列表中更改日期格式。 现在它看起来像: 22/06/21,22:23
我只想显示日期,不显示时间。
在 SW 文档中找到 guide
在 SW 源中找到订单列表屏幕的模板: shopware\vendor\shopware\administration\Resources\app\administration\src\module\sw-order\page\sw-order-list\sw-order-list.html.twig
日期列代码:
{% block sw_order_list_grid_columns_order_date %}
<template #column-orderDateTime="{ item }">
{{ item.orderDateTime | date({hour: '2-digit', minute: '2-digit'}) }}
</template>
{% endblock %}
在我的插件中添加了新组件: plugins\MyPlugin\src\Resources\app\administration\src\core\component\sw-order-list-override
使用新模板“sw-order-list.html.twig”:
{% block sw_order_list_grid_columns_order_date %}
{{ item.orderDateTime | format_date('medium') }}
{% endblock %}
和新的“index.js”:
import template from './sw-order-list.html.twig';
const { Component } = Shopware;
Component.override('sw-order-list', {
template
});
进入“plugins\MyPlugin\src\Resources\app\administration\src\main.js”添加:
import './core/component/sw-order-list-override/';
在 SW 主机重建管理时,浏览器和屏幕中重新加载的订单屏幕列表发生了变化,但不是预期的那样。 现在订单日期看起来像 ISO 日期: 2021-07-13T00:08:21.413+00:00
我的代码有什么问题?
我什至在覆盖模板中添加了类似的东西
{% block sw_order_list_grid_columns_order_date %}
TEST TEXT
{% endblock %}
但在订单日期栏中没有看到“TEST TEXT”,而是相同的 ISO 格式日期。
据我所知,SW6 的管理前端没有实现完整的 twig 功能,而是实现了一个精简的功能。不幸的是,您只能使用树枝函数,不能使用过滤器。
我的诀窍是让日期函数不带任何参数:
{{ item.orderDateTime|date({hour: '2-digit', minute: '2-digit'}) }}
{# results in dd.mm.yyyy hh:ii (or another date format depending on your configuration) #}
{{ item.orderDateTime|date() }}
{# results in dd.mm.yyyy without time #}
您获得的 ISO 格式日期只是 item.orderDateTime 没有任何过滤器,因为您提供的过滤器在这里不起作用。