116 lines
3.9 KiB
Twig
116 lines
3.9 KiB
Twig
{% extends '@WebProfiler/Profiler/layout.html.twig' %}
|
|
|
|
{% block toolbar %}
|
|
{% set time = collector.templatecount ? '%0.0f'|format(collector.time) : 'n/a' %}
|
|
{% set icon %}
|
|
{{ include('@WebProfiler/Icon/twig.svg') }}
|
|
<span class="sf-toolbar-value">{{ time }}</span>
|
|
<span class="sf-toolbar-label">ms</span>
|
|
{% endset %}
|
|
|
|
{% set text %}
|
|
<div class="sf-toolbar-info-piece">
|
|
<b>Render Time</b>
|
|
<span>{{ time }} ms</span>
|
|
</div>
|
|
<div class="sf-toolbar-info-piece">
|
|
<b>Template Calls</b>
|
|
<span class="sf-toolbar-status">{{ collector.templatecount }}</span>
|
|
</div>
|
|
<div class="sf-toolbar-info-piece">
|
|
<b>Block Calls</b>
|
|
<span class="sf-toolbar-status">{{ collector.blockcount }}</span>
|
|
</div>
|
|
<div class="sf-toolbar-info-piece">
|
|
<b>Macro Calls</b>
|
|
<span class="sf-toolbar-status">{{ collector.macrocount }}</span>
|
|
</div>
|
|
{% endset %}
|
|
|
|
{{ include('@WebProfiler/Profiler/toolbar_item.html.twig', { link: profiler_url }) }}
|
|
{% endblock %}
|
|
|
|
{% block menu %}
|
|
<span class="label {{ 0 == collector.templateCount ? 'disabled' }}">
|
|
<span class="icon">{{ include('@WebProfiler/Icon/twig.svg') }}</span>
|
|
<strong>Twig</strong>
|
|
</span>
|
|
{% endblock %}
|
|
|
|
{% block panel %}
|
|
{% if collector.templatecount == 0 %}
|
|
<h2>Twig</h2>
|
|
|
|
<div class="empty">
|
|
<p>No Twig templates were rendered for this request.</p>
|
|
</div>
|
|
{% else %}
|
|
<h2>Twig Metrics</h2>
|
|
|
|
<div class="metrics">
|
|
<div class="metric">
|
|
<span class="value">{{ '%0.0f'|format(collector.time) }} <span class="unit">ms</span></span>
|
|
<span class="label">Render time</span>
|
|
</div>
|
|
|
|
<div class="metric">
|
|
<span class="value">{{ collector.templatecount }}</span>
|
|
<span class="label">Template calls</span>
|
|
</div>
|
|
|
|
<div class="metric">
|
|
<span class="value">{{ collector.blockcount }}</span>
|
|
<span class="label">Block calls</span>
|
|
</div>
|
|
|
|
<div class="metric">
|
|
<span class="value">{{ collector.macrocount }}</span>
|
|
<span class="label">Macro calls</span>
|
|
</div>
|
|
</div>
|
|
|
|
<p class="help">
|
|
Render time includes sub-requests rendering time (if any).
|
|
</p>
|
|
|
|
<h2>Rendered Templates</h2>
|
|
|
|
<table id="twig-table">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col">Template Name & Path</th>
|
|
<th class="num-col" scope="col">Render Count</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for template, count in collector.templates %}
|
|
<tr>
|
|
{%- set file = collector.templatePaths[template]|default(false) -%}
|
|
{%- set link = file ? file|file_link(1) : false -%}
|
|
<td>
|
|
<span class="sf-icon icon-twig">{{ include('@WebProfiler/Icon/twig.svg') }}</span>
|
|
{% if link %}
|
|
<a href="{{ link }}" title="{{ file }}">{{ template }}</a>
|
|
<div>
|
|
<a class="text-muted" href="{{ link }}" title="{{ file }}">
|
|
{{ file|file_relative|default(file) }}
|
|
</a>
|
|
</div>
|
|
{% else %}
|
|
{{ template }}
|
|
{% endif %}
|
|
</td>
|
|
<td class="font-normal num-col">{{ count }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
|
|
<h2>Rendering Call Graph</h2>
|
|
|
|
<div id="twig-dump">
|
|
{{ collector.htmlcallgraph }}
|
|
</div>
|
|
{% endif %}
|
|
{% endblock %}
|