Newer
Older
Angie Byron
committed
<?php
/**
* @file
* Contains \Drupal\entity_test\Routing\RouteSubscriber.
*/
namespace Drupal\entity_test\Routing;
use Symfony\Component\Routing\Route;
/**
* Subscriber for Entity Test routes.
*/
Dries Buytaert
committed
class EntityTestRoutes {
Angie Byron
committed
/**
Dries Buytaert
committed
* Returns an array of route objects.
*
* @return \Symfony\Component\Routing\Route[]
* An array of route objects.
Angie Byron
committed
*/
Dries Buytaert
committed
public function routes() {
Angie Byron
committed
$types = entity_test_entity_types();
$types[] = 'entity_test_string_id';
Dries Buytaert
committed
$types[] = 'entity_test_no_id';
Angie Byron
committed
Dries Buytaert
committed
$routes = array();
Angie Byron
committed
foreach ($types as $entity_type) {
Angie Byron
committed
$routes["entity.$entity_type.add_form"] = new Route(
Angie Byron
committed
"$entity_type/add",
array('_content' => '\Drupal\entity_test\Controller\EntityTestController::testAdd', 'entity_type' => $entity_type),
array('_permission' => 'administer entity_test content')
);
Angie Byron
committed
$routes["entity.$entity_type.edit_form"] = new Route(
"$entity_type/manage/{" . $entity_type . '}',
array('_content' => '\Drupal\entity_test\Controller\EntityTestController::testEdit', '_entity_type' => $entity_type),
Angie Byron
committed
array('_permission' => 'administer entity_test content'),
array('parameters' => array(
$entity_type => array('type' => 'entity:' . $entity_type),
Angie Byron
committed
))
);
catch
committed
Angie Byron
committed
$routes["entity.$entity_type.admin_form"] = new Route(
catch
committed
"$entity_type/structure/{bundle}",
array('_content' => '\Drupal\entity_test\Controller\EntityTestController::testAdmin'),
array('_permission' => 'administer entity_test content')
);
Angie Byron
committed
}
Dries Buytaert
committed
return $routes;