Помощь Как перестроить ссылку?

NOIP

Гуру форума
Регистрация
17 Фев 2008
Сообщения
327
Реакции
77
Доброго времени суток, есть стандартная ссылка index.php?option=com_mycom&view=object Joomla в ЧПУ использует такой вид /мойкомпонент/object/запись.html как миновать(удалить или изменить на свое любое другое) слово object из ссылки? object это название Вида в компоненте. Нужно что бы был такой вид /мойкомпонент/запись.html я так понимаю нужно копать router.php вот мое содержимое
PHP:
<?php
defined( '_JEXEC' ) or die; // No direct access

function MyCompBuildRoute( &$query )
{
    $segments = array();
    if ( isset( $query['view'] ) ) {
        $segments[] = $query['view'];
        unset( $query['view'] );
    }
    if ( isset( $query['task'] ) ) {
        $segments[] = $query['task'];
        unset( $query['task'] );
    }
    if ( isset( $query['id'] ) ) {
        $segments[] = $query['id'];
        unset( $query['id'] );
    }
    if ( isset( $query['limitstart'] ) ) {
        unset( $query['limitstart'] );
    }
    return $segments;
}

function MyCompParseRoute( $segments )
{
    $vars = array();
    $count = count( $segments );
    $menu = JMenu::getInstance( 'site' )->getActive();
    $view = isset( $menu->query['view'] )? $menu->query['view'] : '';

    if ( $count == 1 ) {
        $vars['view'] = $segments[0];
    }
    if ( $count == 2 ) {
        $vars['view'] = $segments[0];
        if ( strpos( $segments[1], ':' )!== false || is_numeric( $segments[1] ) ) {
            $vars['id'] = $segments[1];
        } else {
            $vars['task'] = $segments[1];
        }
    }
    if ( $count == 3 ) {
        $vars['view'] = $segments[0];
        $vars['task'] = $segments[1];
        $vars['id'] = $segments[2];
    }
    return $vars;
}
 
Последнее редактирование:
Так если будет включено перенаправление ЧПУ и файл .htaccess, то получается что все ссылки будут именоваться через меню, ну например у вас страница это компонент, ну допустим это форма RSForm, ну какой алиас туда вобьете, такой урл и будет.

Может быть Вы имеете ввиду родителя в меню, но или формирования записей в категории, то тогда надо убирать -id из урла, а лучший способ это создавать для этих записей меню и тогда ссылки будут нормальные, вот так может.

А как вы говорите, я впервые слышу
UPD: А Вы имеете ввиду какие-нибудь компоненты интернет-магазинов, вроде у них так. Ну тогда да. Извините, что-то не подумал.
 
Последнее редактирование:
штатными способами Джумлы перестраивать ссылки крайне геморно. Ибо придётся проделывать тоже самое каждый раз когда придёт обновление. Гораздо легче воспользоваться сторонним компонентом типа Artio JomSEF. Там в настройках можно задавать практически любой вид ссылки.
 
Назад
Сверху