public function create_route()
 {
     $route_string = $this->containing_post_type . "/:name/" . $this->contained_post_type;
     \Routes::map($route_string, function ($params) {
         $posts = get_posts(array('name' => $params['name'], 'post_type' => $this->containing_post_type));
         if ($posts) {
             $wp_post = $posts[0];
             $query = array('post_type' => $this->contained_post_type, 'connected_type' => $this->p2p_connection_type, 'connected_items' => $wp_post->ID);
         }
         $params += array('archive_title' => $this->get_archive_title_string($wp_post, $this->contained_post_type), 'containing_post_type' => $this->containing_post_type, 'contained_post_type' => $this->contained_post_type, 'p2p_connection_type' => $this->p2p_connection_type);
         \Routes::load($this->template, $params, $query, 200);
     });
     $paginated_route_string = $this->containing_post_type . "/:name/" . $this->contained_post_type . "/page/:pg";
     \Routes::map($paginated_route_string, function ($params) {
         $posts = get_posts(array('name' => $params['name'], 'post_type' => $this->containing_post_type));
         if ($posts) {
             $wp_post = $posts[0];
             $query = array('post_type' => $this->contained_post_type, 'connected_type' => $this->p2p_connection_type, 'connected_items' => $wp_post->ID, 'paged' => $params['pg']);
             $params += array('archive_title' => $this->get_archive_title_string($wp_post, $this->contained_post_type), 'containing_post_type' => $this->containing_post_type, 'contained_post_type' => $this->contained_post_type, 'p2p_connection_type' => $this->p2p_connection_type);
         }
         \Routes::load($this->template, $params, $query, 200);
     });
 }
Пример #2
0
 /**
  * Add route.
  *
  * @param string  $route
  * @param callable $callback
  * @param array   $args
  * @deprecated since 0.20.0
  */
 public static function add_route($route, $callback, $args = array())
 {
     Routes::map($route, $callback, $args);
 }
Пример #3
0
 /**
  * Add route.
  *
  * @param string  $route
  * @param callable $callback
  * @param array   $args
  * @deprecated since 0.20.0 and will be removed in 1.1
  */
 public static function add_route($route, $callback, $args = array())
 {
     Helper::warn('Timber::add_route (and accompanying methods for load_view, etc. Have been deprecated and will soon be removed. Please update your theme with Route::map. You can read more in the 1.0 Upgrade Guide: https://github.com/timber/timber/wiki/1.0-Upgrade-Guide');
     \Routes::map($route, $callback, $args);
 }
Пример #4
0
 function testRouteWithClassCallback()
 {
     Routes::map('classroute', array('TestRoutes', 'testCallback'));
     $this->go_to(home_url('classroute'));
     $this->matchRoutes();
     global $matches;
     $this->assertEquals(1, count($matches));
 }
Пример #5
0
<?php

Routes::map(':controller/:action/:id');
Пример #6
0
 function testVerySimpleRoutePreceedingSlash()
 {
     $_SERVER['REQUEST_METHOD'] = 'GET';
     global $matches;
     $matches = array();
     $phpunit = $this;
     Routes::map('/gobbles', function () use($phpunit) {
         global $matches;
         $matches = array();
         $matches[] = true;
     });
     $this->go_to(home_url('gobbles'));
     $this->matchRoutes();
     $this->assertEquals(1, count($matches));
 }