Laravel, la variable de salida del trabajo con la Vista::compartir, pero no con la Vista::compositor

StackOverflow https://stackoverflow.com//questions/21007892

  •  21-12-2019
  •  | 
  •  

Pregunta

Necesito el mismo menú en todos mis puntos de vista.

Por lo tanto, obtener datos que necesito para la salida en el menú en un constructor definido en mi BaseController.

A obtuvo los datos que he primer lugar, trató de utilizar la Vista::compositor, pero no sé por qué yo no recibe ningún tipo de error, se parece a la Vista::el compositor no se ejecuta en todos los...

Si yo uso Vista::compartir su trabajo

//BaseController.php

//function called in the constructor
public function init()
{
    $envs = $this->game->environments()->get();

    View::share('test', $envs);

    View::composer('layouts.base', function($view)
    {
        $view->with('envs', $envs);
    });
}

//base.ramita

//nothing output here, no error
{% for env in envs %}
         {{ env.name }}
{% endfor %}

//its work
{% for env in test %}
         {{ env.name }}
{% endfor %}

Soy nuevo en laravel así que tal vez me pierda de algo ?

¿Fue útil?

Solución

Creo que la razón de que esto no funciona es porque de donde poner la Vista Compositor en su código.Ver Compositores en Laravel son esencialmente las devoluciones de llamada que se ejecuta tan pronto como la vista se representa.Donde es esto init() función definida?Mi conjetura es que se crea la vista antes de su punto de vista compositor se define lo que significa que la vista compositor de devolución de llamada no se ejecuta nunca.

Trate de mover la vista completa compositor cuadra de la init() función y anexar a la parte inferior de su routes.php archivo y ver si funciona.Eso no es un mal lugar para colocar la vista de los compositores si usted no tiene demasiados, si usted no puede crear una nueva clase para almacenar y agregar que la ruta de acceso a su autoload camino.

Lea más acerca de la vista de los compositores aquí

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top