Zend framework 2 erreur: impossible de modèle de rendu
Je suis en train de travailler sur ce tutoriel. J'ai suivi toutes les étapes pour créer la structure de répertoire, de contrôleurs, de module.php et module.config.php mais quand j'ai ouvert http://zf2-tutorial/album
j'obtiens l'erreur suivante:
Fatal error: Uncaught exception 'Zend\View\Exception\RuntimeException' with message 'Zend\View\Renderer\PhpRenderer::render: Unable to render template "album/album/index"; resolver could not resolve to a file' in /var/www/zf2-tutorial/vendor/zendframework/zendframework/library/Zend/View/Renderer/PhpRenderer.php:461
J'ai créé un fichier nommé index.phtml
à l'intérieur de répertoire du module en vue/album/album répertoire.
module.config.php
:
return array(
'controllers' => array(
'invokables' => array(
'Album\Controller\Album' => 'Album\Controller\AlbumController',
),
'view_manager' => array(
'template_map' => array(
'layout/layout' => __DIR__ . '/../view/layout/layout.phtml',
'album/album/index' => __DIR__ . '/../view/album/album/index.phtml',
'error/404' => __DIR__ . '/../view/error/404.phtml',
'error/index' => __DIR__ . '/../view/error/index.phtml',
),
'template_path_stack' => array(
'album' => __DIR__ . '/../view',
)
)
),
'router' => array(
'routes' => array(
'album' => array(
'type' => 'segment',
'options' => array(
'route' => '/album[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Album\Controller\Album',
'action' => 'index',
),
),
),
),
),
);
Quel est le problème?
- J'ai eu ce problème simplement en raison d'un des gros doigts faute de frappe. Mon
module.config.php
eu cette'tempalte_path_stack' => array(
.template
a été mal orthographié, et la cause de cette erreur. - Veuillez vérifier votre module.config.php pour la vue-gestionnaire de rendu est correct ou pas. vérifiez aussi votre Contrôleur et l'action passée a le même nom. si vous avez changé le nom de l'action, alors cochez la case nom de fichier (.phtml) également.
Vous devez vous connecter pour publier un commentaire.
La PhpRenderer objet est de se plaindre car il ne trouve pas le point de vue phtml fichier.
Le fichier
module/Album/view/album/album/index.phtml
existent? Si non, alors c'est probablement la cause.__DIR__
serait incorrect).vérifier si vous avez fourni les paramètres corrects ou de nidification pour votre view_manager dans le module.config.php fichier
J'ai connu le même problème. J'ai changé les dessous de la ligne de fichier module.config.php,
Existant dans le document,
à
Ajoutez simplement le dossier src de nom en face d'afficher le dossier.
Comme cela, vous devez ajouter 'src' nom du dossier avant que tous les chemins de vue.
Vous devez retourner un
view
objet dansIndexController
commeau lieu de directement de retour
J'ai vérifié l'état de vos codes avec l'Album module. Tout est très bien. Vous pouvez avoir un problème avec le fichier htaccess. Veuillez vérifier.
Votre view_manager est au mauvais endroit. Il devrait être sur "contrôleurs" et "routeur", et non à l'intérieur de "contrôleurs". Regarder module.config.php dans le module d'Application et de voir la différence.
En dehors de cela, vous devez ajouter 2 choses dans module.config.php
dans les routes de la matrice de mettre ci-dessous le code
et traducteur tableau avec dossier de langue
Il n'y a pas de "maison" plus en route Album\config\module.config.php
donc
il est nécessaire de remplacer "H/home' à '/album " dans ..\module\Album\view\layout\mise en page.phtml
Vous assurer que vous utilisez une barre oblique et pas de barre oblique inverse, lorsque dans le template_map tableau qui est à l'intérieur de la view_manager de la module.config.php
Dans mon cas, le problème était dans le nom du fichier de vue. Je l'ai appelé il
index.php
au lieu deindex.phtml
.Eu le même problème, je n'ai pas créer de vide afficher les fichiers
module/Album/view/album/album/index.phtml
module/Album/view/album/album/ajouter.phtml
module/Album/view/album/album/modifier.phtml
module/Album/view/album/album/supprimer.phtml
vérifier votre application.config.php nom du module si il est 'Album' pas 'album'
changement