0

我是 MVC 的初学者并试图解决这个问题。更多的是一个业余爱好者,但我正在努力学习!

我正在尝试创建一个包含多个区域的管理区域。商店、博客、社交等

我正在使用的目录布局是:

Controller [folder]
-Admin [folder]
--area name, ie Shop/Blog/Social [folder]
--- Index.php (controller for that area)

我正在将此路由用于商店:

Route::set('admin-shop', 'admin/shop(/<action>)')
    ->defaults(array(
        'directory' => 'admin',
    'controller' => 'shop_index',
    'action'     => 'index',        
)); 

加载 Controller/Admin/Shop/Index.php:类 Controller_Admin_Shop_Index 扩展 Controller {}。这一切都很好,太棒了!

我最终要做的是创建一个管理区域:/admin/ 将在导航到其他部分时加载它们。

这就是我被卡住的地方,不知道该去哪里。

我希望能够查看 url.com/admin/ 并且其中会有不同区域的标签。这将加载 url.com/admin/shop/ 或 url.com/admin/social/

我是否需要为每个目录创建一条全部路径?

我失败的尝试:

Route::set('admin', 'admin/<directory>')
    ->defaults(array(
        'directory' => 'admin',
    'controller' => 'index',
    'action'     => 'index',        
)); 

还是我需要为所有可能的区域创建路线而不是放置?

应用程序流将加载 admin/index,然后从该控制器我希望能够通过内部请求加载/显示其他部分。我对这一切都错了吗?我正在尝试划分每个区域,这样如果我将来需要更改社交,我就不必触及任何其他管理区域或我正在更改的部分之外的最少数量的文件。

很抱歉发了这么长的帖子,感谢您提供的任何帮助!

4

1 回答 1

0
Route::set('admin/backend/shop', 'admin/backend/shop(/<controller>(/<action>(/<overflow>)))',
    array('action' => '(force)', 'overflow' => '.*?')
    )->defaults(array(
        'directory' => 'admin_backend_shop',
        'controller' => 'index',
        'action'     => 'index',
    ));

Route::set('admin', 'admin(/<controller>(/<param_action>(/<overflow>)))',
    array('param_action' => '(update|view)', 'overflow' => '.*?'))
    ->defaults(array(
        'directory' => 'admin',
        'controller' => 'index',
        'action'     => 'index',
    ));

结束工作了!

于 2013-08-02T20:14:43.327 回答