Twig\Error\RuntimeError {#1220 -lineno: 10 -name: "video/view_video.html.twig" -rawMessage: "Impossible to access an attribute ("sources") on a null variable." -sourcePath: "/var/www/fr.sebii.www/versions/version-2403111955/symfony/templates/video/view_video.html.twig" -sourceCode: """ {% extends '_template/base.html.twig' %}\n \n {% block hero %}\n {% embed '_template/base/components/embed_hero_none.html.twig' %}{% endembed %}\n {% endblock hero %}\n \n {% block content %}\n {% embed '_template/base/components/embed_article.html.twig' with {video_header: true} %}\n {% block video_header %}\n {% if video.sources|length > 0 %}\n {{ enum('App\\Enum\\Video\\SourceServiceEnum').getPlayerEmbedCode(video.sources.first, 'aspect-video w-full object-center')|raw }}\n {% else %}\n PAS DE SOURCE !!!!\n {% endif %}\n {% endblock video_header %}\n {% block title video.name %}\n {% block content %}\n <p class="{{ content_p_class }} text-xs text-right">\n Date de publication : {{ video.recordedAt|date('d/m/Y H:i') }}\n </p>\n <p class="{{ content_p_class }}">\n {{ video.description }}\n </p>\n {% endblock content %}\n {% block tags %}\n {% for playlistItem in video.playlistItems %}\n {% if playlistItem.playlist.displayed == true %}\n <a href="{{ path('sebii__video__list_videos__playlist_filter', {playlistSlug: playlistItem.playlist.slug}) }}" class="{{ tag_a_class }}">\n <span class="mdi mdi-playlist-play"></span>\n {{ playlistItem.playlist.name }}\n </a>\n {% endif %}\n {% endfor %}\n {% for category in video.categories %}\n <a href="{{ path('sebii__video__list_videos__category_filter', {categorySlug: category.slug}) }}" class="{{ tag_a_class }}">\n {{ category.typeEnum.getMaterialDesignIconTag()|raw }}\n {{ category.name }}\n </a>\n {% endfor %}\n {% for categoryCollection in video.categoryCollections %}\n <a href="{{ path('sebii__video__list_videos__category_collection_filter', {categoryCollectionSlug: categoryCollection.slug}) }}" class="{{ tag_a_class }}">\n <span class="mdi mdi-bookmark-box-multiple"></span>\n {{ categoryCollection.name }}\n </a>\n {% endfor %}\n <a href="{{ path('sebii__video__list_videos__video_type_filter', {videoType: video.type}) }}" class="{{ tag_a_class }}">\n <span class="mdi mdi-video"></span>\n {{ enum('App\\Enum\\Video\\VideoTypeEnum').getMessageFromValue(video.type)|trans }}\n </a>\n {% endblock tags %}\n {% block playlists %}\n {% import '_template/base/components/macro_playlist_video.html.twig' as playlist_video %}\n {% for playlist_item in video.playlistItems %}\n {% if playlist_item.playlist.displayed == true %}\n {{ playlist_video.playlist(playlist_item.playlist, playlist_item) }}\n {% endif %}\n {% endfor %}\n {% endblock playlists %}\n {% endembed %}\n {% endblock content %} """ }
{% endblock hero %}
{% block content %}
{% embed '_template/base/components/embed_article.html.twig' with {video_header: true} %}
{% block video_header %}
{% if video.sources|length > 0 %}
{{ enum('App\\Enum\\Video\\SourceServiceEnum').getPlayerEmbedCode(video.sources.first, 'aspect-video w-full object-center')|raw }}
{% else %}
PAS DE SOURCE !!!!
{% endif %}
{% endblock video_header %}
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "video_header"));
// line 10
echo " ";
if ((twig_length_filter($this->env, twig_get_attribute($this->env, $this->source, (isset($context["video"]) || array_key_exists("video", $context) ? $context["video"] : (function () { throw new RuntimeError('Variable "video" does not exist.', 10, $this->source); })()), "sources", [], "any", false, false, false, 10)) > 0)) {
// line 11
echo " ";
echo twig_get_attribute($this->env, $this->source, $this->extensions['App\Twig\Extension\TwigEnumExtension']->enum("App\\Enum\\Video\\SourceServiceEnum"), "getPlayerEmbedCode", [twig_get_attribute($this->env, $this->source, twig_get_attribute($this->env, $this->source, (isset($context["video"]) || array_key_exists("video", $context) ? $context["video"] : (function () { throw new RuntimeError('Variable "video" does not exist.', 11, $this->source); })()), "sources", [], "any", false, false, false, 11), "first", [], "any", false, false, false, 11), "aspect-video w-full object-center"], "method", false, false, false, 11);
echo "
";
throw new \LogicException('A block must be a method on a \Twig\Template instance.');
}
if (null !== $template) {
try {
$template->$block($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($template->getSourceContext());
}
";
// line 9
if ((array_key_exists("video_header", $context) && ((isset($context["video_header"]) || array_key_exists("video_header", $context) ? $context["video_header"] : (function () { throw new RuntimeError('Variable "video_header" does not exist.', 9, $this->source); })()) == true))) {
// line 10
echo " ";
$this->displayBlock('video_header', $context, $blocks);
// line 11
echo " ";
}
// line 12
echo " ";
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "video/view_video.html.twig"));
$this->parent = $this->loadTemplate("_template/base/components/embed_article.html.twig", "video/view_video.html.twig", 8);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "content"));
// line 8
echo " ";
$this->loadTemplate("video/view_video.html.twig", "video/view_video.html.twig", 8, "876487659")->display(twig_array_merge($context, ["video_header" => true]));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
throw new \LogicException('A block must be a method on a \Twig\Template instance.');
}
if (null !== $template) {
try {
$template->$block($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($template->getSourceContext());
}
";
// line 63
$this->displayBlock('hero', $context, $blocks);
// line 64
echo " ";
$this->displayBlock('content', $context, $blocks);
// line 65
echo "
";
// line 73
echo "
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "video/view_video.html.twig"));
$this->parent = $this->loadTemplate("_template/base.html.twig", "video/view_video.html.twig", 1);
$this->parent->display($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
ob_start();
} else {
ob_start(function () { return ''; });
}
try {
$this->display($context);
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
$this->template = $template;
}
public function render(array $context = []): string
{
return $this->template->render($context);
}
public function display(array $context = [])
{
// using func_get_args() allows to not expose the blocks argument
* @throws SyntaxError When an error occurred during compilation
* @throws RuntimeError When an error occurred during rendering
*/
public function render($name, array $context = []): string
{
return $this->load($name)->render($context);
}
/**
* Displays a template.
*
if (null !== $block) {
return $this->container->get('twig')->load($view)->renderBlock($block, $parameters);
}
return $this->container->get('twig')->render($view, $parameters);
}
private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
{
$content = $this->doRenderView($view, $block, $parameters, $method);
return $this->container->get('twig')->render($view, $parameters);
}
private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
{
$content = $this->doRenderView($view, $block, $parameters, $method);
$response ??= new Response();
if (200 === $response->getStatusCode()) {
foreach ($parameters as $v) {
if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
* If an invalid form is found in the list of parameters, a 422 status code is returned.
* Forms found in parameters are auto-cast to form views.
*/
protected function render(string $view, array $parameters = [], ?Response $response = null): Response
{
return $this->doRender($view, null, $parameters, $response, __FUNCTION__);
}
/**
* Renders a block in a view.
*
): Response
{
/** @var Video $video */
$video = $videoRepository->find(id: $videoUuid);
return $this->render(view: 'video/view_video.html.twig', parameters: [
'video' => $video,
]);
}
}
$this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
$controller = $event->getController();
$arguments = $event->getArguments();
// call controller
$response = $controller(...$arguments);
// view
if (!$response instanceof Response) {
$event = new ViewEvent($this, $request, $type, $response, $event);
$this->dispatcher->dispatch($event, KernelEvents::VIEW);
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
$this->requestStack->push($request);
$response = null;
try {
return $response = $this->handleRaw($request, $type);
} catch (\Throwable $e) {
if ($e instanceof \Error && !$this->handleAllThrowables) {
throw $e;
}
$this->boot();
++$this->requestStackSize;
$this->resetServices = true;
try {
return $this->getHttpKernel()->handle($request, $type, $catch);
} finally {
--$this->requestStackSize;
}
}
) {
}
public function run(): int
{
$response = $this->kernel->handle($this->request);
if (Kernel::VERSION_ID >= 60400) {
$response->send(false);
if (\function_exists('fastcgi_finish_request') && !$this->debug) {
$app = $app(...$args);
exit(
$runtime
->getRunner($app)
->run()
);
exit();
}
use App\Kernel;
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
return function (array $context) {
return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
};
RuntimeError
|
---|
Twig\Error\RuntimeError: Impossible to access an attribute ("sources") on a null variable. at /var/www/fr.sebii.www/versions/version-2403111955/symfony/templates/video/view_video.html.twig:10 at twig_get_attribute() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/var/cache/dev/twig/81/81bbda218c5b1f59c99d9a25983c309e.php:379) at __TwigTemplate_ec65eb71c84f71a7ec0c338598f73b1d___876487659->block_video_header() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/twig/twig/src/Template.php:171) at Twig\Template->displayBlock() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/var/cache/dev/twig/7d/7db76b2e17227d1ceb6c0e07610a7381.php:81) at __TwigTemplate_f480cb249acfe7dc28eebd4073513a35->doDisplay() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/twig/twig/src/Template.php:394) at Twig\Template->displayWithErrorHandling() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/twig/twig/src/Template.php:367) at Twig\Template->display() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/var/cache/dev/twig/81/81bbda218c5b1f59c99d9a25983c309e.php:358) at __TwigTemplate_ec65eb71c84f71a7ec0c338598f73b1d___876487659->doDisplay() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/twig/twig/src/Template.php:394) at Twig\Template->displayWithErrorHandling() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/twig/twig/src/Template.php:367) at Twig\Template->display() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/var/cache/dev/twig/81/81bbda218c5b1f59c99d9a25983c309e.php:91) at __TwigTemplate_ec65eb71c84f71a7ec0c338598f73b1d->block_content() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/twig/twig/src/Template.php:171) at Twig\Template->displayBlock() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/var/cache/dev/twig/09/0904028ec21ec89fd4eef91f0fb71cb9.php:111) at __TwigTemplate_f999c0437c75051ae42742003e6fd394->doDisplay() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/twig/twig/src/Template.php:394) at Twig\Template->displayWithErrorHandling() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/twig/twig/src/Template.php:367) at Twig\Template->display() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/var/cache/dev/twig/81/81bbda218c5b1f59c99d9a25983c309e.php:49) at __TwigTemplate_ec65eb71c84f71a7ec0c338598f73b1d->doDisplay() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/twig/twig/src/Template.php:394) at Twig\Template->displayWithErrorHandling() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/twig/twig/src/Template.php:367) at Twig\Template->display() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/twig/twig/src/Template.php:379) at Twig\Template->render() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/twig/twig/src/TemplateWrapper.php:38) at Twig\TemplateWrapper->render() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/twig/twig/src/Environment.php:280) at Twig\Environment->render() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/symfony/framework-bundle/Controller/AbstractController.php:448) at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/symfony/framework-bundle/Controller/AbstractController.php:453) at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/symfony/framework-bundle/Controller/AbstractController.php:253) at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/src/Controller/Video/ViewVideo.php:24) at App\Controller\Video\ViewVideo->__invoke() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/symfony/http-kernel/HttpKernel.php:181) at Symfony\Component\HttpKernel\HttpKernel->handleRaw() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/symfony/http-kernel/HttpKernel.php:76) at Symfony\Component\HttpKernel\HttpKernel->handle() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/symfony/http-kernel/Kernel.php:197) at Symfony\Component\HttpKernel\Kernel->handle() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35) at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run() (/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/autoload_runtime.php:29) at require_once('/var/www/fr.sebii.www/versions/version-2403111955/symfony/vendor/autoload_runtime.php') (/var/www/fr.sebii.www/versions/version-2403111955/symfony/public/index.php:31) |