Перенаправление на другую вьюшку

  • 2 Ответов
  • 216 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

spirit1086

  • Осваиваюсь на форуме
  • ***
  • 120
  • 1
Здравствуйте, есть две вьюшки компонента eventform и event.
eventform привязана к пункту меню:
алиас - add-event 
линк пункта - index.php?option=com_mycomponent&view=eventform
В браузере когда набираю www.site.ru/add-event вьюшка открывается правильно т.е. форму вижу добавления event'а.
Если же набираю www.site.ru/add-event/34. В моем случае 34 это id записи. Т.е. я хочу заполнить форму при update'е записи, то Joomla перенаправляет меня в вьюшку event т.е. там выводится детальная информация о событии.
Такое чувство ка будто Joomla думает что я набрал  www.site.ru/event/34
Если же набираю www.site.ru/add-event?id=34 , то открывается форма для update'а записи с  данными, то что мне и нужно.
Подскажите в какую сторону копать может с роутером что не так хотя вроде норм все
Код


function ComponentBuildRoute( &$query )
{

    $segments = array();
 
      if ( isset($query['view']) )
      {
            $segments[] = $query['view'];
           unset( $query['view'] );
      }

      if ( isset( $query['id'] ) )
      {
        $segments[] =$query['id'];
        unset( $query['id'] );
      }
       
     
   return $segments;
}



function ComponentParseRoute( $segments )
{
    $vars = array();
      $vars['view']=array_shift( $segments );
   
    $vars['id']=array_shift( $segments );
    return $vars;   
}






*

Aleks.Denezh

  • Практически профи
  • *******
  • 2785
  • 376
Re: Перенаправление на другую вьюшку
« Ответ #1 : 09.12.2015, 18:23:46 »
print_r( $segments ) пробовали делать?
но скорее всего у вас в $segments  только id
попробуйте так в ComponentParseRoute:
Код: php
	$menu = JMenu::getInstance( 'site' )->getActive();
$view = isset( $menu->query['view'] )? $menu->query['view'] : '';

if ( $view === 'eventform' && $count == 1 ) {
$vars['view'] = 'event'; //тут вид который вам нужно открыть при редактировании!
$vars['id'] = $segments[0];
return $vars;
}

Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

spirit1086

  • Осваиваюсь на форуме
  • ***
  • 120
  • 1
Re: Перенаправление на другую вьюшку
« Ответ #2 : 10.12.2015, 09:40:24 »
Вы были правы спасибо, только я теперь почему-то не могу получить параметр компонента из этого пункта меню, если через ?id=56  то получаю если /56 то нет