123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- {% 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 %}
|