TYPO3 установить вид шаблона для действия контроллера - PullRequest
0 голосов
/ 11 сентября 2018

Я хочу использовать шаблон представления действия списка для своего действия listByYear.Я попытался setTemplatePathAndFilename без успеха.Он все еще не может найти шаблон.

Извините, запрошенное представление не было найдено.

Техническая причина: шаблон не найден.Не удалось разрешить представление для действия "listByYear" в классе "XXX \ YYY \ Controller \ EventController".

/**
  * action listByYear
  * @param \XXX\YYY\Domain\Model\Event $event
  *
  * @return void
  */
  public function listByYearAction(\XXX\YYY\Domain\Model\Event $event)
  {
    $date = $event->getStart();
    $events = $this->eventRepository->findByYear($date->format('Y'));
    $this->view->setTemplatePathAndFilename(
      'typo3conf/ext/' .
      $this->request->getControllerExtensionKey() .
      '/Resources/Private/Templates/Event/List.html'
    );
    debug('typo3conf/ext/' .
    $this->request->getControllerExtensionKey() .
    '/Resources/Private/Templates/Event/List.html');

    $this->view->assign('events', $events);

  }

Как настроить использование списка для шаблона?

1 Ответ

0 голосов
/ 11 сентября 2018

Очень короткий ответ, вы не можете.Представление уже будет инициализировано, и ему будет предложено разрешить шаблон задолго до того, как сработает ваше действие, даже задолго до того, как вы сможете повлиять на имя файла шаблона, который он будет искать.

Файл шаблона, который по соглашению будетбыть решенным всегда должно существовать .Это то, что позволяет вашему контроллеру визуализировать действие.Тогда вы можете, но я бы не советовал вам переопределять файл шаблона, задав имя шаблона (действие).

Общая рекомендация: используйте логику именования шаблонов по умолчанию.Если вам нужно повторно использовать шаблоны, рассмотрите возможность рефакторинга частей шаблона, которые вам нужно использовать повторно, поместив их в частичные шаблоны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...