Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I did get somewhere,</p> <p>I managed to set up this abstract controller, I placed it in my default controller folder</p> <pre><code>&lt;?php namespace Namespace\DefaultBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\StreamedResponse; class AbstractController extends Controller { /** * Returns a rendered view. * * @param string $view The view name * @param array $parameters An array of parameters to pass to the view * * @return string The rendered view */ public function renderView($view, array $parameters = array()) { $parameters = array_merge_recursive($parameters, $this-&gt;getDefaultSettings()); return parent::renderView($view, $parameters); } /** * Renders a view. * * @param string $view The view name * @param array $parameters An array of parameters to pass to the view * @param Response $response A response instance * * @return Response A Response instance */ public function render($view, array $parameters = array(), Response $response = null) { $parameters = array_merge_recursive($parameters, $this-&gt;getDefaultSettings()); return parent::render($view, $parameters, $response); } /** * Streams a view. * * @param string $view The view name * @param array $parameters An array of parameters to pass to the view * @param StreamedResponse $response A response instance * * @return StreamedResponse A StreamedResponse instance */ public function stream($view, array $parameters = array(), StreamedResponse $response = null) { $parameters = array_merge_recursive($parameters, $this-&gt;getDefaultSettings()); return parent::stream($view, $parameters, $response); } public function getDefaultSettings() { $settings = array(); if ($this-&gt;getUser()) { # Just exports to an array $settings['user'] = $this-&gt;getUser()-&gt;export(); } $settings['locales'] = array( array( 'label' =&gt; 'English', 'code' =&gt; 'en-us' ), array( 'label' =&gt; 'Swedish', 'code' =&gt; 'sv-se' ) ); return array( "settings" =&gt; $settings ); } } </code></pre> <p>Then I added this AbstractController to my actual controller:</p> <pre><code>&lt;?php namespace Namespace\DefaultBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Component\HttpFoundation\Response; class DefaultController extends AbstractController { /** * @Route("/", name="home") */ public function indexAction() { return new Response($this-&gt;renderView("NamespaceDefaultBundle:Default:index.html.twig")); } } </code></pre> <p>However this does not work when I do @Template() in my docblock. As it is not using the parent class. So it needs some more work, but it does what I wanted.</p> <p>Then in the layout.html.twig I got the following:</p> <pre><code>&lt;script type="text/javascript"&gt; var settings = {{ settings | json_encode() | raw }}; &lt;/script&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload