расположение шаблона php в symfony 4

Пожалуйста, помогите, Symfony 4 не может найти шаблон php.

Ошибка Шаблон "::test/index.html.php" не существует.

Контроллер:

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;

class TestController extends Controller
{

    public function number()
    {
        $number = mt_rand(0, 100);

        // return new Response(
        //     '<html><body>Lucky number: '.$number.'</body></html>'
        // );
        return $this->render("test/number.html.php",
            array('number' => $number));
    }

    function index() {
        return $this->render("test/index.html.php");
    }
}

Каталоги:

  • templates/
    • test/
      • index.html.php
      • номер.html.php

Спасибо


person Superbiji    schedule 06.02.2018    source источник
comment
Вы используете twig в качестве шаблонизатора?   -  person Amit Merchant    schedule 06.02.2018
comment
нет, я использую шаблон PHP, включил его в конфигурации   -  person Superbiji    schedule 06.02.2018
comment
Возможный дубликат, посмотрите на этот пост: ссылка   -  person Alexandre Brba    schedule 06.02.2018
comment
в symfony 4 нет папки app/, а есть папка templates/ для шаблонов   -  person Superbiji    schedule 06.02.2018
comment
Тоже не работает, попробовал ссылку и поменял: return $this->render("App:Test:index.html.php");   -  person Superbiji    schedule 06.02.2018
comment
@Superbiji, можешь показать namespaces своего контроллера?   -  person Imanali Mamadiev    schedule 07.02.2018
comment
это приложение\контроллер   -  person Superbiji    schedule 08.02.2018


Ответы (3)


Ярлыки с нотацией bundle:directory:filename больше не используются в Symfony 4. Вместо этого используйте реальный путь относительно каталога шаблонов или для пакетов используйте синтаксис с префиксом @. Для получения дополнительной информации: http://symfony.com/doc/current/templating.html#template-naming-and-locations

Если ваша ошибка возникает из-за стороннего пакета, то этот пакет не готов к работе с Symfony 4. Затем вы можете разветвить пакет и изменить нотацию шаблона в контроллерах.

person Frank B    schedule 06.02.2018

Вы должны выполнить установку пакета с композитором для PHP Engine. Попробуйте почистить кеш. Проверьте разрешения (755 или 777) каталога «Шаблоны».

http://symfony.com/doc/master/templating/PHP.html

person Ramazan APAYDIN    schedule 06.02.2018

Место для шаблонов php: src\Resources\Views

person Denis    schedule 20.09.2019