PYROCMS自定义模块路由不起作用

时间:2014-07-23 10:05:47

标签: php codeigniter routing pyrocms

这是我的路由代码。

 $route['news(/:num)?'] = 'news/index$1';
 $route['events(/:num)'] = 'news/events$1';

这是我的控制器代码。

<?php

if (!defined('BASEPATH'))
     exit('No direct script access allowed');

class News extends Public_Controller
{
   public function __construct()
   {
      parent::__construct();

      parent::__construct();
      $this->lang->load('news');
      $this->load->helper('url');
  }


  public function index()
  {
        $data = 'index call';
       // Build the page
       $this->template->title($this->module_details['name'])
            ->build('index', $data);
  }

  public function events()
  {
      $data = 'events call';
      // Build the page
      $this->template->title($this->module_details['name'])
            ->build('index', $data);
  }
}

http://example.com/news此网址正在运行。

http://example.com/events这个网址并不是真的。

1 个答案:

答案 0 :(得分:1)

我在相同的问题之前堆积并找到了解决方案。

解决方案是修改application/config/routes.php文件。

由于模块路由仅在其运行时才起作用。你必须路由一直运行的文件,该文件是系统routes.php所以第一段路由应该是模块路由文件中的模块名。

适用于/news/722/hello-world/网址:

$route['news(/:num)?'] = 'news/index$1'; // This will work

$route['events(/:num)'] = 'news/events$1'; // This wont work

如果您想更改路由events,则必须修改application/config/routes.php

我的讨论PyroCMS论坛:

https://forum.pyrocms.com/discussion/25301/navigation-link-to-module-with-custom-routing