Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как убрать подкатегорию из url

Как убрать подкатегорию из url


     08.01.2013    Все вопросы » Общие вопросы по PHP    3967

вопрос
Еще раз здравствуйте, как убрать подкатегорию из url новости?

Знаю, что в function. Написал так:

function get_url($id) {
    
     global $cat_info;
    
     if( ! $id ) return;
    
     $parent_id = $cat_info[$id]['parentid'];
    
     $url = $cat_info[$id]['alt_name'];
    
     while ( $parent_id ) {

                $pid = $parent_id;
          
          $url = $cat_info[$parent_id]['alt_name'] . "/" . $url;
          
          $parent_id = $cat_info[$parent_id]['parentid'];
          
          if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
    
     }
    
        $url = $cat_info[$pid]['alt_name'];

     return $url;
}


Но так перестали работать страницы категорий, т.е. на них нельзя перейти сервер просто не отвечает, как будто бы это не ссылка. и к тому же, если новость в категории, а не подкатегории, то у нее вообще нет категории. СРОЧНО нужна помощь! Это должно работать только на урл 2 вида, очень очень нужно!

Ответа пока нет


7 комментариев

Ayk
Юзер

Ayk - 8 января 2013 23:15 -

Сделал вод так, заработало!!!

function get_url($id) {
    
    global $cat_info;
    
    if( ! $id ) return;
    
    $parent_id = $cat_info[$id]['parentid'];
    
    $url = $cat_info[$id]['alt_name'];
    
    while ( $parent_id ) {
        
        $url = $cat_info[$parent_id]['alt_name'];
        
        $parent_id = $cat_info[$parent_id]['parentid'];
        
        if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
    
    }
    
    return $url;
}

Ayk
Юзер

Ayk - 8 января 2013 23:17 -

Но теперь не открывает подкатегории, а только категории, значит снова что-то неправильно

nowheremany
Эксперт

nowheremany - 9 января 2013 00:20 -

Зачем вот стандартные функции корёжить? нельзя просто вместо
get_url($id)

вставить
$cat_info[$id]['alt_name']

Благодарность принимаю тут Связь

Ayk
Юзер

Ayk - 9 января 2013 08:50 -

function $cat_info[$id]['alt_name'] {
    
    global $cat_info;
    
    if( ! $id ) return;
    
    $parent_id = $cat_info[$id]['parentid'];
    
    $url = $cat_info[$id]['alt_name'];
    
    while ( $parent_id ) {
        
        $url = $cat_info[$parent_id]['alt_name'] . "/" . $url;
        
        $parent_id = $cat_info[$parent_id]['parentid'];
        
        if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
    
    }
    
    return $url;
}


сделал так, так не работает

Ayk
Юзер

Ayk - 9 января 2013 00:23 -

то есть вместо первой строки?

dj-avtosh
шашлычник

dj-avtosh - 9 января 2013 18:37 -

Есть массив кэшевый $cat_info, подставляете id категории и получаете альтернативное имя, в чем проблема?

skype: elhan.isaev

Ayk
Юзер

Ayk - 10 января 2013 00:35 -

не до конца понял, если честно в PHP нуб. напишите пример кодом плиз

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх