如何访问 Shopware 6 店面 Javascript 中的翻译?
How to access a translation in Javascript of the Shopware 6 store front?
如何在前端的 Javascript 代码中访问截取的翻译(像这里创建的:https://developer.shopware.com/docs/guides/plugins/plugins/storefront/add-translations)?
我首先想到的是将翻译后的字符串打印到 twig 文件中的某种隐藏标签/数据属性中,然后从 JavaScript 代码中读取它。
但是有推荐的方法吗?
编辑:我正在寻找有关 Shopware 6 核心开发人员如何做到这一点的示例,以找到最佳实践而不是发明自己的东西。
如果你需要一个页面一次,你可以将它添加到插件相关元素的数据属性中。其他方式,特别推荐当您需要在页面上多次保存内容时:
我个人喜欢将这些文本设置在 window 的变量中。就在设置其他 window 变量的地方,并在插件中请求它们。
{% block base_script_router %}
{{ parent() }}
<script>
window.contactTexts = {
product: '{{ 'anySnippet'|trans|e('js') }}',
basket: '{{ 'anySnippet'|trans|e('js') }}',
order: '{{ 'anySnippet'|trans|e('js') }}',
inkl: '{{ 'anySnippet'|trans|e('js') }}'
};
</script>
{% endblock %}
如何在前端的 Javascript 代码中访问截取的翻译(像这里创建的:https://developer.shopware.com/docs/guides/plugins/plugins/storefront/add-translations)?
我首先想到的是将翻译后的字符串打印到 twig 文件中的某种隐藏标签/数据属性中,然后从 JavaScript 代码中读取它。
但是有推荐的方法吗?
编辑:我正在寻找有关 Shopware 6 核心开发人员如何做到这一点的示例,以找到最佳实践而不是发明自己的东西。
如果你需要一个页面一次,你可以将它添加到插件相关元素的数据属性中。其他方式,特别推荐当您需要在页面上多次保存内容时:
我个人喜欢将这些文本设置在 window 的变量中。就在设置其他 window 变量的地方,并在插件中请求它们。
{% block base_script_router %}
{{ parent() }}
<script>
window.contactTexts = {
product: '{{ 'anySnippet'|trans|e('js') }}',
basket: '{{ 'anySnippet'|trans|e('js') }}',
order: '{{ 'anySnippet'|trans|e('js') }}',
inkl: '{{ 'anySnippet'|trans|e('js') }}'
};
</script>
{% endblock %}