Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何强制从源smarty tpl文件重新编译特定代码块_Php_Prestashop_Smarty - Fatal编程技术网

Php 如何强制从源smarty tpl文件重新编译特定代码块

Php 如何强制从源smarty tpl文件重新编译特定代码块,php,prestashop,smarty,Php,Prestashop,Smarty,我有一个tpl文件,其中包含缓存的动态代码,这破坏了整个目的。我试过这个: {include file="./fileWithDynamicCode.tpl" nocache} 但是它第一次加载,第二次运行时什么也不显示(我猜它不在缓存目录中,所以没有被提取)。而且 同样,这只是第一次起作用 我正在寻找一种方法,在每次重新加载时直接从源代码而不是从缓存目录重新编译这部分代码 是否有什么我应该做的后端。谢谢。您是否尝试过禁用缓存和重新编译?检查后端中的以下菜单: 高级参数->性能 希望这能有所

我有一个tpl文件,其中包含缓存的动态代码,这破坏了整个目的。我试过这个:

{include file="./fileWithDynamicCode.tpl" nocache}
但是它第一次加载,第二次运行时什么也不显示(我猜它不在缓存目录中,所以没有被提取)。而且

同样,这只是第一次起作用

我正在寻找一种方法,在每次重新加载时直接从源代码而不是从缓存目录重新编译这部分代码


是否有什么我应该做的后端。谢谢。

您是否尝试过禁用缓存和重新编译?检查后端中的以下菜单:

高级参数->性能


希望这能有所帮助。

@Scuzzy您是否更改了评论。我正在考虑你发布的php。你能不能告诉我,阿加尼发布的
$smarty->compile\u check=true
$smarty->force\u compile=true
可能值得一看。别忘了smarty有两个缓存方面,一个是编译好的PHP模板,另一个是可能的静态html版本。@Scuzzy,它实际上不能用于生产。您是否有逻辑检查页面是否缓存并设置分配?ie你的无缓存块中的变量是否一直被分配?@Scuzzy谢谢你的时间。我会深入研究这些建议,然后再讨论。谢谢,但我当然不想在生产中这样做。你至少可以试试看这是否有帮助。此外,在生产环境中,模板文件不会经常发生更改,每次修改某些内容时,只需清除缓存一次(从同一页),更改就会反映出来。我已经尝试过了,并且可以正常工作,不过我仍然不想在缓存上松懈,我主要关心的是
{nocache}
似乎没有按预期的方式工作的东西。重读问题
{nocache}
{if $context && $context->id eq $mmdf['someitems']}
    {{assign var="point" value="active"}}
{else}
    {{assign var="point" value="dactive"}}
{/if}
{/nocache}