• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Хак Фикс для подкатегорий с одинаковым URL [DLE 9.x - 10.x]

Gameer

Постоялец
Регистрация
25 Апр 2014
Сообщения
187
Реакции
118
corcat.jpg
Данный хак решает проблему для категорий у которых должен быть с одинаковым URL но сами они находятся как подкатегории в основных категориях.

Для тех кто не понимает, объясняю примером. К примеру есть две категории основные :
  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" );
}
Указывать ссылки только по полным путям /film/boevik и /serial/boevik. Если же перейти просто на /boevik то выдаст первую категорию которая ближе в массиве.

Автор жи есть : Gameer
 
Установил на дле 12.1 Всё отлично пока не решил отредактировать подкатегорию - при сохранении выдаёт ошибку что такая категория существует, как исправить?
 
Назад
Сверху