Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Проблема с роутами
http://forum.kohanaframework.su/viewtopic.php?f=31&t=712
Страница 1 из 1

Автор:  xunicorn [ 01 авг 2013, 12:43 ]
Заголовок сообщения:  Проблема с роутами

Здравствуйте. У меня роуты, показвают не то, что надо. Можете разъяснить нюансы?

Роуты:
Код:

Route
::set('account_mng''account(/<action>)',
        array(
            
'action' => 'index|forgot|changepass|login|logout|registration',
        ))
        ->
defaults(array(
            
'directory'  => 'authorization',
            
'controller' => 'account',
            
'action'     => 'index'
        
));  

Route::set('user''user/<action>'
        array(
            
'action' => 'watchlist'
        
))
        ->
defaults(array(
            
'directory'  => 'authorization',
            
'controller' => 'user',
            
'action'     => 'watchlist'
        
));

Route::set('ajax''ajax/ajax')
        ->
defaults(array(
            
'controller' => 'ajax'
            
'action'     => 'ajax'
        
));

Route::set('default''(<controller>(/<action>(/<id>)))',
        array(            
            
'action' => 'index|upload',
        ))
    ->
defaults(array(
            
'controller' => 'domain',
            
'action'     => 'index',
    ));
 


а также блок кода
Код:

<ul class="dropdown-menu">
        <li>
          <a href="<?php echo Route::get('account_mng')->uri(); ?>">
            Account
          </a>
        </li>
        <li>
          <a href="<?php echo Route::get('account_mng')->uri(array('action' => 'logout')); ?>">
            Logout
          </a>
        </li>        
      </ul>    


Так вот: ссылки у меня имеют структу mysite/user/account и mysite/user/account/logout вместо mysite/account, mysite/account/logout

Почему мне выдает такие ссылки, разъясните пожалуйста

Автор:  WinterSilence [ 01 авг 2013, 13:58 ]
Заголовок сообщения:  Re: Проблема с роутами

'action' => 'index|forgot|changepass|login|logout|registration',
заменить на
'action' => '(index|forgot|changepass|login|logout|registration)',

Используются регулярные выражения, теория:
http://ru.wikibooks.org/wiki/%D0%A0%D0% ... 0%B8%D1%8F

Вообще не особо понятно зачем столько роутов когда можно все к 1-2 свести...

Автор:  xunicorn [ 01 авг 2013, 19:42 ]
Заголовок сообщения:  Re: Проблема с роутами

WinterSilence писал(а):
'action' => 'index|forgot|changepass|login|logout|registration',
заменить на
'action' => '(index|forgot|changepass|login|logout|registration)',


У меня работали и по моей схеме, но сделал по вашей - ничего не изменилось

WinterSilence писал(а):
Вообще не особо понятно зачем столько роутов когда можно все к 1-2 свести...


Каждый роут отвечает за определенный функционал. И для того, чтобы ориентироваться в них проще было.

Автор:  WinterSilence [ 01 авг 2013, 20:21 ]
Заголовок сообщения:  Re: Проблема с роутами

все надо разжевывать :cry:
Код:
Route::set('account_mng', 'account/<action>',
        array(
            'action' => '(index|forgot|changepass|login|logout|registration)',
        ))
        ->defaults(array(
            'directory'  => 'authorization',
            'controller' => 'account',
            'action'     => 'index'
        )); 

Автор:  xunicorn [ 02 авг 2013, 12:52 ]
Заголовок сообщения:  Re: Проблема с роутами

xunicorn писал(а):
WinterSilence писал(а):
'action' => 'index|forgot|changepass|login|logout|registration',
заменить на
'action' => '(index|forgot|changepass|login|logout|registration)',


У меня работали и по моей схеме, но сделал по вашей - ничего не изменилось

WinterSilence писал(а):
Вообще не особо понятно зачем столько роутов когда можно все к 1-2 свести...


Каждый роут отвечает за определенный функционал. И для того, чтобы ориентироваться в них проще было.


Если почитать здесь - то я написал, что этот вариант проработал, но никаких изменений не произошло.

Автор:  WinterSilence [ 02 авг 2013, 15:16 ]
Заголовок сообщения:  Re: Проблема с роутами

Route::set('account_mng', 'account/<action>',

Автор:  xunicorn [ 02 авг 2013, 18:38 ]
Заголовок сообщения:  Re: Проблема с роутами

решил!!! Ура!:) Проблема была в том, что пусть в ссылке был относительно текущего места страницы, а не относительно корня сайта.

В общем - ошибка была по недосмотру :oops:

Автор:  Sergey [ 07 авг 2013, 02:20 ]
Заголовок сообщения:  Re: Проблема с роутами

WinterSilence писал(а):
Вообще не особо понятно зачем столько роутов когда можно все к 1-2 свести...


К одному

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/