2017-06-26 3 views
0

J'ai regardé this question et this question qui avaient tous deux des problèmes similaires, mais les réponses sélectionnées ne fonctionnaient pas pour moi. J'ai suivi this tutorial pour créer mon propre module Dupral 8 personnalisé. De ce que je peux dire, j'ai la bonne structure de fichier et le bon contenu dans mes fichiers, mais je reçois une erreur de page introuvable. J'ai essayé d'employer des slahes principaux sur le _controller dans le dossier de photoshelter.routing.yml et dans les déclarations d'espace de noms dans le dossier de PhotoController.php, mais cela n'a rien changé. Je n'ai plus d'idées pour essayer. Est-ce que quelqu'un a du mal à tirer des suggestions d'erreurs ponctuelles dans ces fichiers?Module Drupal 8 non trouvé

PhotoController.php

namespace Drupal\photoshelter\Controller; 
use Drupal\Core\Controller\ControllerBase; 

class PhotoController extends ControllerBase { 
    public function content() { 
    return array(
     '#type' => 'markup', 
     '#markup' => $this->t('Hello, World!'), 
    ); 
    } 
} 

photoshelter.info.yml

name: PhotoShelter API 
description: Integrate the PhotoShelter API with your Drupal site. 
package: Custom 
type: module 
core: 8.x 
configure: photoshelter.settings 
php: 5.6 

photoshelter.routing.yml

photoshelter.content: 
    path: '/photoshelter' 
    defaults: 
    _controller: '\Drupal\photoshelter\Controller\PhotoController::content' 
    _title: 'PhotoShelter API' 
    requirements: 
    _permission: 'access content' 

Structure du fichier

photoshelter 
    -src 
    -Controller 
     PhotoController.php 
    info/routing.yml files 
+0

Ce code semble très bien. Avez-vous effacé le cache après avoir activé votre module? Voyez-vous des erreurs dans les journaux lorsque vous cliquez sur le chemin ou lorsque vous effacez le cache? –

Répondre

0

Je copier vos fichiers dans un nouveau Drupal 8 installer et il fonctionne.

Assurez-vous que le fichier .routing se trouve au premier niveau de votre dossier de module.

Veillez à effacer le cache après.