es bastante dificil explicar mi pregunta. Espero que seas capaz de entenderlo.
Para mi proyecto, tengo un diseño maestro que contiene el encabezado y el rendimiento del contenido.
maestro.blade.php
@include('partials.header') <div class="container-fluid main-con"> @yield('content') @include('partials.footer') </div>ahora en la ruta pública principal estoy volviendo a un método.
Web.php
Route::get('/', [ 'uses' => 'ProductContoller@getIndex', 'as' => 'product.mainCats' ]);ProductController.php
class ProductContoller extends Controller { public function getIndex(){ $ad_cats = Mainaddtype::orderBy('title')->get(); return view( 'shop.main-categories-page', ['mediacats' => $ad_cats]); } }Ahora mi consulta es, 'página de categorías principales' está rindiendo en la sección de contenido del maestro. pero también quiero los mismos datos de Mainadtype en el encabezado. Entonces quiero devolver la vista del encabezado en la misma función. Por favor ayuda si lo entiendes.
lo que estoy intentando ahora es,
public function getIndex(){ $ad_cats = Mainaddtype::orderBy('title')->get(); return view( 'shop.main-categories-page', ['mediacats' => $ad_cats]); return view( 'partials.header', ['mediacats' => $ad_cats]); }Pero sé que no podemos regresar de esta manera. Gracias por adelantado.
También puede acceder a la variable en el encabezado. Solo verifique si la variable existe para que no obtenga errores cuando cargue otras vistas.
@if(!empty($mediacats)) // do awesome stuffs with $mediacats @endifDe esta manera, sus datos estarán disponibles cuando esté en la página de índice.
Si desea que los datos estén disponibles en todas las vistas, puede usar laravel view composer . De documentos oficiales:
Los compositores de vistas son devoluciones de llamada o métodos de clase que se llaman cuando se representa una vista. Si tiene datos que desea vincular a una vista cada vez que se representa esa vista, un compositor de vistas puede ayudarlo a organizar esa lógica en una sola ubicación
Espero eso ayude.
la función termina cuando obtiene la primera declaración de devolución y tampoco se pueden devolver dos vistas en laravel, lo único posible que puede hacer es incluir la vista en la plantilla de diseño. ejemplo agregando una vista de categoría en la plantilla.
@if(showStore) @include('store.category') @endif