Встроенный код Capture Twig - PullRequest
0 голосов
/ 16 мая 2018

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

<!-- Template.twig -->
<div>
    <p>Text</p>
    <p>More text</p>
</div>
<script type="text/javascript">
  (function(){
    console.log('Some random javascript..')
  })();
</script>

Я хочу удалить встроенный js-код и вывести его в конце документа.Вот простая реализация того, что мне нужно:

<?php 
    class Document{
        private $inlineJS = array();

        public function addInlineJS($code){
            $this->inlineJS[] = $code;
        }

        public function getInlineJS(){
            return $this->inlineJS;
        }
    }

    $document = new Document();

    $twig->loadTemplate('template.twig');
    $output = $twig->render(['document' => $document]);

    // Here I want to use $document->getInlineJS() and get the js code which is the template.

Обычно в обычном HTML-файле я мог бы сделать что-то вроде этого:

$code = <<<END
    <script>
        console.log('My JS Code!!')
    </script>       
END;

$document->addInlineJS($code); 

Есть ли какой-нибудь эквивалент дляэто в ветке?

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