Dismiss Notice
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Решение проблемы для подкатегорий с одинаковым url

Discussion in 'Хаки DLE' started by PunPun, Nov 20, 2015.

20.11.15 в 19:48
06.07.17 в 13:45
9
2,108
4
  1. TopicStarter Overlay
    PunPun

    PunPun VIP Кинотрафик v2

    Messages:
    7,433
    Likes Received:
    3,687
    Best Answers:
    32
    corcat.jpg
    Для своего проекта делаю категории на сайте. И тут из-за движка встала проблема у меня. Так как нельзя использовать одинаковые урлы даже если они будут в подкатегориях.

    Для тех кто не понимает, объясняю примером. К примеру есть две категории основные :
    1. Фильмы
    2. Сериалы.
    У категории Фильмы есть подкатегория Боевик, который имеет url - boevik. На сайте это видно как /film/boevik. Теперь хотим создать ту же категорию только для основной категории Сериалы. На что получим ошибку Что данная категория уже есть. Но это не так, для сериалов ее нет только для фильмов.

    Этот хак, решит эту проблему.

    Открываем /engine/modules/functions.php находим там код :
    PHP:
    function get_ID($cat_info$category) {
        foreach ( 
    $cat_info as $cats ) {
            if( 
    $cats['alt_name'] == $category ) return $cats['id'];
        }
        return 
    false;
    }
    Меняем на :
    PHP:
    function get_ID($cat_info$category) {
        
    $arr_cat = array();
        foreach ( 
    $cat_info as $cats ) {
            if( 
    $cats['alt_name'] == $category $arr_cat[] = $cats['id'];
        }
      
        if(
    count($arr_cat) > 1)
        {
            if(
    $_GET['category'])
            {
                
    $name_first_cat explode('/'$_GET['category']); $name_first_cat $name_first_cat[0];
                foreach(
    $arr_cat as $first_cat)
                {
                    if(
    $cat_info[$cat_info[$first_cat]['parentid']]['alt_name'] == $name_first_cat) return $first_cat;
                }
            }
        }
        else
            return 
    $arr_cat[0];
        return 
    false;
    }
    Далее открываем /engine/inc/categories.php находим и удаляем код :
    PHP:
    $row $db->super_query"SELECT alt_name FROM " PREFIX "_category WHERE alt_name ='{$alt_cat_name}'" );

    if( 
    $row['alt_name'] ) {
        
    msg"error"$lang['cat_error'], $lang['cat_eradd'], "?mod=categories" );
    }
    Далее ищем и удаляем :
    PHP:
    $row $db->super_query"SELECT id, alt_name FROM " PREFIX "_category WHERE alt_name = '$alt_cat_name'" );

    if( 
    $row['id'] and $row['id'] != $catid ) {
        
    msg"error"$lang['cat_error'], $lang['cat_eradd'], "javascript:history.go(-1)" );
    }
    Указывать ссылки только по полным путям /film/boevik и /serial/boevik. Если же перейти просто на /boevik то выдаст первую категорию которая ближе в массиве.

    Автор жи есть : Gameer
     
    Last edited: Jan 29, 2016
    • Нравится Нравится x 4
  2. Romantv

    Romantv Забанен

    Messages:
    6,946
    Likes Received:
    1,815
    Best Answers:
    6
    решение нашлось. на какой урл больше трафа придет,
    этот? url - boevik. или этот? /film/boevik под категории это все лишнее,они не нужны
     
  3. TopicStarter Overlay
    PunPun

    PunPun VIP Кинотрафик v2

    Messages:
    7,433
    Likes Received:
    3,687
    Best Answers:
    32
    Расскажите мне еще на ночь сказочек :3
     
    • Нравится Нравится x 2
  4. TopicStarter Overlay
    PunPun

    PunPun VIP Кинотрафик v2

    Messages:
    7,433
    Likes Received:
    3,687
    Best Answers:
    32
  5. Ost1n

    Ost1n Зелёный

    Messages:
    1
    Likes Received:
    0
    Best Answers:
    0
  6. MaHarder

    MaHarder Местный

    Messages:
    1,054
    Likes Received:
    326
    Best Answers:
    0
    добавь к себе на сайт, раз ссылаешь туда
     
  7. Lancelot

    Lancelot Зелёный

    Messages:
    8
    Likes Received:
    0
    Best Answers:
    0
    остался у кого-то обновлённый код?
    Сделал 2 категории /111/mods и /222/mods
    Контент отображает один и тот же в одной из категории. Причём он зависит от того, куда я в первый раз зайду.
    Тайтлы и т.д. разные, а контент дублируется из другой категории и наоборот.
     
  8. TopicStarter Overlay
    PunPun

    PunPun VIP Кинотрафик v2

    Messages:
    7,433
    Likes Received:
    3,687
    Best Answers:
    32
    Решение не рабочее, не ставьте его.
     
  9. Lancelot

    Lancelot Зелёный

    Messages:
    8
    Likes Received:
    0
    Best Answers:
    0
    Жаль. Спасибо за ответ.
     
  10. Frosty

    Frosty Забанен

    Messages:
    935
    Likes Received:
    137
    Best Answers:
    1
    А будет ли решение?
     
    Last edited: Dec 17, 2017