Представляем хак DLE добавление подкатегорий с одинаковым URL, хак решает проблему с добавлением категорий с одинаковым URL, когда система не дает это сделать. Фикс для подкатегорий с одинаковым URL [DLE 9.x - 10.x] решает проблему для категорий, если вы хотите сделать одинаковый URL но сами они находятся, как подкатегории в основных категориях.
Чтобы понять суть проблемы, объясняю на примере. К примеру есть две категории основные :
Фильмы
Сериалы
У категории "Фильмы" добавлена подкатегория "Боевик", который имеет url - boevik. и на сайте урл адрес будет такой /film/boevik. Теперь нам надо создать какую же категорию только для основной категории "Сериалы", т.е. serial/boevik, но при попытке это сделать система DataLife Engine выдает ошибку "Что данная категория уже есть". Но не совсем не так, ведь для сериалов ее нет, она есть только для фильмов.
Хак DLE добавление подкатегорий с одинаковым URL решит эту проблему.
Открываем /engine/modules/functions.php находим там код :
function get_ID($cat_info, $category) {
foreach ( $cat_info as $cats ) {
if( $cats['alt_name'] == $category ) return $cats['id'];
}
return false;
}
Меняем на :
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 находим и удаляем код :
$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 то выдаст первую категорию которая ближе в массиве.
Фикс для подкатегорий с одинаковым URL [DLE 9.x - 10.x]
Автор: Gameer (igameer ru)
CMS: DLE 9.x - 10.x и на актуальной версии дле 10.6
Скачать хаки для dle, как хак дле добавление подкатегорий с одинаковым URL по следующей ссылке
Комментарии 2