{block content}
<canvas id="canvas"></canvas>
<script>
var data = {$data}; // ok
</script>
{/block}
{block scripts}
{include parent}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js" />
<script>
var data = {$data}; // error
var labels = {$labels}; // error
</script>
{/block}
Error: Array to string conversion. Because method escapeHtmlText is called:
public $blocks = [
'content' => 'blockContent',
'scripts' => 'blockScripts',
];
public $blockTypes = [
'content' => 'html',
'scripts' => 'html',
];
function main()
{
extract($this->params);
if ($this->getParentName()) return get_defined_vars();
$this->renderBlock('content', get_defined_vars());
?>
<?php
$this->renderBlock('scripts', get_defined_vars());
return get_defined_vars();
}
function prepare()
{
extract($this->params);
Nette\Bridges\ApplicationLatte\UIRuntime::initialize($this, $this->parentName, $this->blocks);
}
function blockContent($_args)
{
extract($_args);
?>
<canvas id="canvas"></canvas>
<script>
var data = <?php echo LR\Filters::escapeJs($data) /* line 5 */ ?>;
</script>
<?php
}
function blockScripts($_args)
{
extract($_args);
$this->renderBlockParent('scripts', get_defined_vars());
?>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script>
<script>
var data = <?php echo LR\Filters::escapeHtmlText($data) /* line 14 */ ?>;
var labels = <?php echo LR\Filters::escapeHtmlText($labels) /* line 15 */ ?>;
</script>
<?php
}
Description
{block content} <canvas id="canvas"></canvas> <script> var data = {$data}; // ok </script> {/block} {block scripts} {include parent} <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js" /> <script> var data = {$data}; // error var labels = {$labels}; // error </script> {/block}Error: Array to string conversion. Because method escapeHtmlText is called:
php latte code: