Chyba Symfony rubrika: Programování: PHP

Anonym
položil/-a 2.1.2021

Začal jsem se učit v Symfony. Chtěl jsem si udělat aby se meta tagy vyplněné v Controller. Zobrazovali v twig šabloně. Bohužel mě to hlásí chybu:
An exception has been thrown during the rendering of a template ("Notice: Array to string conversion").

Příkládám zdroj

<?php
// src/Controller/DefaultController.php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class DefaultController extends AbstractController
{
    /**
     * @Route("/")
     */
 
 
public function index()
{        
 
        $description = ['Popisek webu'];  
        $keywords = ['kličove', 'slovo']; 
 
 
 
return $this->render('default/index.html.twig', [
 
 
        'description' => $description,
        'keywords' => $keywords,
]);
}
}
{#
templates/default/index.html.twig
#}
{% extends 'base.html.twig' %}
 
{% block meta %}
 
 <meta name="description" content="{{ description }}">
 <meta name="keywords" content="{{ keywords }}">
 
{% endblock %}
 
 
 
{% block body %}
<h1>Hello</h1>
 
<a href="{{ path('info') }}">Event</a>
 
 
{% endblock %}
odkaz
3 MiB
odpověděl/-a 2.1.2021

Tie premenné sú polia, twig ich nevie automaticky prerobiť na reťazce, buď ich vypíseš cez cyklus for, alebo pri desciption ho uvedieš ako string, nie pole.

Komentáře

  • Kit : Přemýšlím, k čemu je ten Twig vlastně dobrý. Nevidím profit. 2.1.2021
  • MiB : Taká čerešnička navrch. Dá sa zaobísť aj bez toho, ale keď to máš tak je to ďaleko lepšie. 2.1.2021
  • Kit : Právě jsem nepřišel na to, v čem je to lepší. Umí Twig seřadit data? Umí přeložit labely formulářů a nadpisy sloupců tabulek? Umí prezentovat finanční částky dle národních zvyklostí? Pokud tohle neumí, tak mi nemá co nabídnout. 3.1.2021
  • MiB : Nemám to všetko naštudované do hĺbky, ale ak sa bavíme o použití Twig v kombinácii so Symfony, tak na preklad máš k dispozícii tag {%trans%} a áno, formuláre sa dajú nastaviť (v Symfony) tak, aby popisky jednotlivých polí formulára boli preložené. Hlavičky v tabuľke detto. Čo sa týka zoradenia údajov, je tam funkcia sort (, ale nepoužil som ju ešte), prípadne si vieš dorobiť vlastnú funkciu, filter podľa svojich potrieb. Čo sa týka lokalizácie, sú tam nejaké funkcie - format_currenty. A v čom je to lepšie? Mne sa to páči hlavne preto, že mi to veľmi jasne oddeľuje časť aplikačnej logiky od presentera. Jednoducho ma to núti oddeľovať čo má byť na stránke(šablóne) a čo je vnútornou vecou aplikácie, jej spracovania dát. A je to aj otázka zvyku, proste som si zvykol, že v šablónach píšem príkazy, filtre, funkcie twig a som obmedzených ich množstvom. Takže najprv rozmýšľam ako to urobiť v controlleri, aby som do šablóny dostal presne to čo potrebujem (predpripravím si údaje do finálneho tvaru) a len čo naozaj neviem urobiť inak, si napíšem nejaké rozšírenie pre twig. 3.1.2021
  • Andreaw Fean : Já sice preferuju Latte, přijde mi vymazlenější, ale Twig je taková průmyslová klasika. Rozhodně má své místo. 4.1.2021

Pro plný přístup na Devel.cz se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.