• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

Route with name "activityTaskTemplate" not found

LionVI

New member
Hallo zusammen,

ich habe einen neuen Menueeintrag in der module.config hinzugefügt, den Controller etc. erstellt und auch die Einträge in der Autoload_classmap.php hinzugefügt

Code:
  'ActivityTaskTemplate'         => array(
                        'label'      => 'Tasks',
                        'route'      => 'activityTaskTemplate',
                        'controller' => 'Order/Controller/ActivityTaskTemplate',
                        'action'     => 'index'
                    ),
trotzdem bekomme ich die im Betreff genannte Fehlermeldung :-(

Was hab ich übersehen?

Ich danke euch
 

Kaiuwe

Super-Moderator
ich habe einen neuen Menueeintrag in der module.config hinzugefügt
Und ebenfalls die Route angelegt?

auch die Einträge in der Autoload_classmap.php hinzugefügt
Wo?

PHP:
  'ActivityTaskTemplate'         => array(
                        'label'      => 'Tasks',
                        'route'      => 'activityTaskTemplate',
                        'controller' => 'Order/Controller/ActivityTaskTemplate',
                        'action'     => 'index'
                    ),
Die Angaben zu "controller" und "action" kannst du weglassen, wenn du Routen verwendest.
 

LionVI

New member
als Teil eines Arrays in der autoload_classmap.php

'Order\Controller\ActivityTaskTemplateController' => __DIR__ . '/src/Order/Controller/ActivityTaskTemplateController.php',

die Route hab ich angelegt:

einen Controller, eine View eine Entity
 
Zuletzt bearbeitet:

LionVI

New member
wo muss die Konfiguration stehen?

du meinst die application.config.php ?
 
Zuletzt bearbeitet:

LionVI

New member
ok, in der Modulkonfig fehlte noch der Eintrag

jetzt hab ich ein Berechtigungsproblem

wo werden die Rechte verwaltet?
 

Kaiuwe

Super-Moderator
wo werden die Rechte verwaltet?
Bitte halte dir immer vor Augen: Wir kennen deine Anwendung nicht und da es um ein Framework handelt und kein (Standard-)CMS, kann dies auf unterschiedliche Wege realisiert werden.

Was verwendest du denn? „Zend\Permissions\Acl“, „Zend\Permissions\Rbac“ oder gar etwas anderes? Hast du dazu ebenfalls etwas in den Konfigurationsdateien?
 

LionVI

New member
es wird Zend\Permissions\Acl verwendet,
dass es sich um ein Framwork handelt und ich die Anwendung nicht erstellt habe, ist wohl das Problem.
Ich muss mich durchkämpfen.
 

LionVI

New member
der springede punkt liegt wohl hier:
Code:
 /** @var Acl $acl */
        $resourceExists = $acl->hasResource($controllerName);
        if ($resourceExists) {
            if ($acl->isAllowed($userRole, $controllerName, $privilege)) {
                return;
            }
        }
die Function hasResource liefert hier schon ein false zurück

Code:
   public function hasResource($resource)
     {
         if ($resource instanceof Resource\ResourceInterface) {
             $resourceId = $resource->getResourceId();
         } else {
             $resourceId = (string) $resource;
         }
             

         return isset($this->resources[$resourceId]);
     }
warum bekomme ich hier ein false zurück?
ich habe doch einen funktionierenden Controller kopiert und umbenannt.

wo muss ich ansetzten?
 
Zuletzt bearbeitet:

Kaiuwe

Super-Moderator
ich habe doch einen funktionierenden Controller kopiert und umbenannt.
Nur weil du einen Kontroller kopiert hast, heißt dies noch lange nicht, dass es dafür eine Erlaubnis gibt diesen aufzurufen. Die „Zugriffskontrollliste“ sollte natürlich auch den neuen Kontroller kennen –*in deinem Falle entsprecht der Kontrollername einer Ressource.
Suche daher mal nach „addResource“ in deinem Projekt.
 

LionVI

New member
ja, ich habs auch gefunden in der
/module.acl.roles.php stehen die Berechtigungen

und schon laufe ich auf den nächsten Fehler:

Doctrine\Common\Persistence\Mapping\MappingException


Class 'Order\Entity\ActivityTaskTemplate' does not exist

die Klasse existiert aber und die Caches habe ich auch alle 3 geleert :-(
 

Kaiuwe

Super-Moderator
Class 'Order\Entity\ActivityTaskTemplate' does not exist
Die Klasse wird durch das „Autoloading“ nicht gefunden. Eventuell musst du nochmals in die Datei „autoload_classmap.php“ schauen und vergleichen, ob auch die „Entity“-Klassen dort eingetragen werden müssen.
 

PaRin

New member
Ich hatte kürzlich mit dem gleichen Problem zu kämpfen und habe die Lösung hier gefunden. Da ich mich nun endlich hier registriert habe, möchte ich noch nachträglich Danke sagen :)
 
Oben