Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Как убрать подкатегорию из url

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


     08.01.2013    Общие вопросы по PHP    3636

вопрос
Еще раз здравствуйте, как убрать подкатегорию из 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
1

154 | 94

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
1

154 | 94

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

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

nowheremany
193

1731 | 1308

nowheremany - 9 января 2013 00:20 - Эксперт

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

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

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

Ayk
1

154 | 94

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
1

154 | 94

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

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

dj-avtosh
39

1490 | 395

dj-avtosh - 9 января 2013 18:37 - шашлычник

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

skype: elhan.isaev

Ayk
1

154 | 94

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

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

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

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