Laravel 4 - incluant une vue "partielle" dans une vue (sans utiliser le modèle Blade)
Dans Laravel 3, j'ai utilisé pour ce faire.
<?php render('partials.header'); ?>
Cela a été fait dans "PHP" points de vue, sans l'aide de Laravel la Lame de modèles.
Ce qui est l'équivalent de ce dans la version 4?
J'ai essayé
<?php @include('partials.header'); ?>
Cela ne fonctionne pas.
Si je ne
@include('partials.header')
- Je enregistrer mon fichier ".blade.php"
Comment puis-je inclure une "sous-vue" sans l'aide de la lame de modèle?
source d'informationauteur ericbae | 2013-06-21
Vous devez vous connecter pour publier un commentaire.
Il y a différentes façons d'inclure une vue dans une vue dans Laravel 4. Votre choix dépendra de l'une quelconque des résultats décrits ci-dessous...
Pour La Flexibilité
Vous pouvez compiler (render) les vues partielles dans le Contrôleur approprié, et de transmettre ces vues à l'écran Principal à l'aide de la
$data['']
tableau.Cela peut devenir fastidieux que le nombre de vues augmente, mais bon, au moins, il y a beaucoup de flexibilité 🙂
Voir le code ci-dessous pour un exemple:
Contrôleur
Vue
Vous pouvez inclure les partiels ci-dessus comme suit (à n'importe quelle position dans votre code de Vue):
Vos vues partielles va maintenant être ajouté à votre Vue principale.
Pour Des Raisons De Simplicité
Il y a effectivement un moyen beaucoup plus facile que d'utiliser la méthode ci-dessus: il suffit de les inclure dans le code html de la vue...
Vue
Assurez-vous que la structure de dossier pour les partiels est [views/partials/header.php] afin de fournir le bon fichier-chemin de l'View::make() la fonction de Laravel.
AVERTISSEMENT
Si vous essayez de passer la
$data['page_title']
dans un contrôleur, le vues imbriquées l'habitude de recevoir les données.Pour transmettre des données à ces vues imbriquées, vous devez faire comme ceci:
NOTE
La question clairement: "Sans l'aide de la Lame de modèle", j'ai donc fait en sorte de donner une solution qui n'inclut pas de Lame de template de code.
Bonne chance 🙂
Vous pouvez imbriquer vos partiels, en vue d'essayer cette
Alors accéder à l'affichage imbriqué fichier à partir de votre modèle
{{ $anyname }}
de cette façon, vous n'avez pas à inclure les fichiers dans votre point de vue et cela devrait fonctionner .fichier php.Je ne suis pas sûr de savoir comment beaucoup de gens ont été en utilisant Laravel 4 dans ce post, depuis ce post, mais si vous êtes à la recherche pour inclure les partiels ou séparer vos types d'affichage, vous pouvez le faire avec @inclut
par exemple, si vous voulez une partiels dossier pour votre header, footer, sidebar, etc
créer un répertoire pour les partiels sous
Puis créer un partiel
Puis dans votre modèle master fichier, ajoutez la ligne
C'est tout ce qu'il faut.
** Bonus, vous pouvez également transmettre des données à une partie ou l'inclure imbriquée partiels à l'intérieur d'une partielle
Je sais que c'est un peu une réponse tardive, mais j'ai trouvé depuis que je n'ai pas vu cette solution parmi les autres réponses, il a été ok.
Si vous souhaitez inclure votre en-tête et pied de page sur chaque page, je voudrais ajouter dans les filtres avant et après. Il suffit d'aller à filters.php dans votre dossier app
Lorsque le faisant de cette façon, vous n'avez pas besoin d'ajouter quoi que ce soit dans la vue des fichiers à inclure.
Vous pouvez utiliser la Vue du nid fonction
Utiliser le troisième paramètre à transmettre des données au modèle
sur votre views/default/header.blade.php
Je suis encore assez nouveau pour Laravel, mais je pense que le dessous est assez idéal ...
Voir Laravel Vue Compositeurs .. http://laravel.com/docs/responses#view-composers
/views/page.php
À partir d'une vue, juste l'écho de l'autre point de vue: