我有一个复杂的变量{{course_type.title[语言]|nl2br}}
在我的自定义块模板中。语言
是当前网站的语言,但内容仅以当时的语言交付,当缓存建造。
我的渲染数组中确实有语言,它适用于twig模板中的{%trans%}
命令:
return array(
'#theme' => 'block__vt_course_offer',
'#data' => $courseData,
'#cache' => [
'contexts' => ['languages'],
'tags' => $cacheTags,
]
);
有没有办法让Drupal根据页面的当前语言处理多个缓存条目?
太多了<安德烈亚斯
所以我们找到了一个解决方案-我们将不同的部分提取到子渲染数组中,并仅为它们解除缓存。重要的是,对数据[$language]的访问发生在主模块中,而不是模板中。
foreach ($courses as &$courseType) {
$courseType['d_url'] = $dcm->getCourseUrl($courseType['id']);
$courseType['output'] = array(
'#theme' => 'block__vt_course_offer_item',
'#data' => [
'id' => $courseType['id'],
'image' => $courseType['image'],
'duration' => $courseType['duration'],
'price' => $courseType['price'],
'd_url' => $courseType['d_url'],
'title' => $courseType['title'][$language],
'short_description' => $courseType['short_description'][$language],
],
'#cache' => [
'disabled' => TRUE,
'contexts' => ['languages'],
'tags' => ['courseType:' . $courseData['data']['course'][0]['id']],
]
);
然后我们可以在树枝中使用它:
{% for course_type in courses|slice(i * 4, (i+1) * 4) %}
{{ course_type.output }}
{% endfor %}
简而言之,它归结为{{variable.preset{u language\u value}}
的模板使用,而不是{{variable.value[language]}
本质上,我有一个Java类,它在套接字通道上执行选择,我想存根通道,这样我就可以按预期测试选择工作。 例如,这大致就是被测试的类所做的: 我希望能够测试这样的东西: 这是基于一个真实的例子,但细节并不重要。总体目标是如何存根支持选择的SocketChannel,这样我就不必创建真正的客户机进行测试。 我也知道这比简单地截取SocketChannel更复杂:似乎我需要截取或以某种方式提供自定义系统默
问题内容: 拿这个对象: 如果我这样做: 然后y将返回。通过stringify传递函数有什么能做的吗?使用“ ye goode olde eval()”可以创建具有附加功能的对象,但是打包该对象又是什么呢? 问题答案: 您不能打包函数,因为任何序列化程序都看不到函数关闭的数据。甚至Mozilla 也无法正确打包闭包。 最好的选择是使用复活器和替换器。 https://yuilibrary.com/
问题内容: 是否存在(大致)SQL或类似XQuery的语言来查询JSON? 我想到的是非常小的数据集,可以很好地映射到JSON,可以轻松地回答诸如“ Y> 3时X的所有值是什么”之类的查询或执行常规的SUM / COUNT类型操作。 作为完整的示例,如下所示: 我认为这将在客户端和服务器端均有效,并将结果转换为适当的特定于语言的数据结构(或可能保留为JSON) 快速Google 搜寻表明人们已经考
鉴于这些实体和存储库可以访问DDBB中的数据: 我想为方法getTotalPurchaseAmounts(长customerId)添加缓存,这样,当为客户添加一些购买时,只有该客户的purchasesd被逐出。 相关的依赖项是: 相关配置: 由于spring缓存(和ehcache)逐出的次数受元素或所有条目的限制,我开发的解决方案是通过友好方式创建缓存(每个客户一个),这样我就可以逐出这些缓存。
问题内容: 它可能是实现细节,但是对于Oracle和IBM JDK而言,至少是对已编译模式进行了缓存,还是作为应用程序开发人员我们需要自己对已编译模式进行缓存? 问题答案: 我不认为结果会被缓存,并且代码或文档中也没有这种行为的证据。自己实现这样的缓存(当然)是比较琐碎的,但是我对这样的缓存很有用的用例感兴趣。 回覆。下面的注释和String.split(),有一种不同的方法,即代码采用简单的1或
在Flink文档中的任何地方,我都看到一个状态对map函数和工作人员来说都是单独的。这在独立方法中似乎很强大,但是如果Flink在集群中运行呢?Flink可以处理所有工作人员都可以添加数据并查询它的全局状态吗? 来自Flink关于国家的文章: 为了在此设置中实现高吞吐量和低延迟,必须最小化任务之间的网络通信。在Flink中,流处理的网络通信仅沿作业操作符图中的逻辑边(垂直)进行,因此流数据可以从上