Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Kohana роутинг и kohana-multilang
Форумы портала PHP.SU » » CMS и фреймворки » Kohana роутинг и kohana-multilang

Страниц (1): [1]
 

1. ADIOS - 12 Января, 2014 - 07:28:28 - перейти к сообщению
Все привет!

Появилась необходимость сделать сайт мультиязычным на гитхабе нашел не плохой модуль
kohana-multilang, и все бы как хорошо, но проблема с роутингом.. Не могу его никак настроить..

Код роутинга
PHP:
скопировать код в буфер обмена
  1.  
  2.         $languages = array();
  3.         $lang_param = '<lang>(/<uri>(/<action>(/<id>)))';
  4.        
  5.         $config = Kohana::$config->load('multilang');
  6.        
  7.        
  8.         // Need a regex for all the available languages
  9.         foreach($config->languages as $lang => $settings)
  10.         {
  11.                 // If we hide the default language, we make lang parameter optional
  12.                 if($config->hide_default && $config->default == $lang)
  13.                 {
  14.                         $lang_param = '(<lang>(/<uri>(/<action>(/<id>))))';
  15.                 }
  16.                 else
  17.                 {
  18.                         $languages[] = $lang;
  19.                 }
  20.         }
  21.  
  22. /**
  23.  * Set the routes. Each route must have a minimum of a name, a URI and a set of
  24.  * defaults for the URI.
  25.  */
  26. Route::set('default', $lang_param, array(
  27.         'lang'  =>  implode('|', $languages),
  28.         'uri' => '.*'
  29. ))
  30. ->defaults(array(
  31.     'controller'        => 'page',  
  32.         'lang'                  => $config->default,  
  33. ));
  34.  


Файл конфигурации есть здесь

Вообщем если скрывать язык по умолчанию (http://site.ru/) то главная страница работает меняем язык так http://site[dot]ru/en/ получаем Error 404

Помогите плиз почти неделю мучаюсь с роутом
2. ADIOS - 13 Января, 2014 - 06:18:43 - перейти к сообщению
в месте с фреймворком в архиве файл example.htaccess
переименовал в .htaccess

переключение языков заработало... как ни странно..

содержимое .htaccess

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. # Turn on URL rewriting
  3. RewriteEngine On
  4.  
  5.  
  6. # Installation directory
  7. RewriteBase /
  8.  
  9.  
  10. # Protect hidden files from being viewed
  11. <Files .*>
  12.         Order Deny,Allow
  13.         Deny From All
  14. </Files>
  15.  
  16.  
  17. # Protect application and system files from being viewed
  18. RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L]
  19.  
  20.  
  21. # Allow any files or directories that exist to be displayed directly
  22. RewriteCond %{REQUEST_FILENAME} !-f
  23. RewriteCond
  24.  
  25. %{REQUEST_FILENAME} !-d
  26.  
  27.  
  28. # Rewrite all other URLs to index.php/URL
  29. RewriteRule .* index.php/$0 [PT]
  30.  
  31.  
3. T1grOK - 13 Января, 2014 - 09:17:44 - перейти к сообщению
ADIOS пишет:
переключение языков заработало... как ни странно..

Нисколько не странно. ЧПУ и работает за счет инструкций в .htaccess.

 

Powered by ExBB FM 1.0 RC1