Помощь Категория с таким именем уже существует!

Тема в разделе "DLE", создана пользователем Rabben, 15 окт 2009.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. Rabben

    Rabben

    Регистр.:
    26 мар 2009
    Сообщения:
    159
    Симпатии:
    10
    Ситуация:
    Имеется основная категория. В ней подкатегории: тест(test).
    Есть еще одна основная категория. В ней надо сделать такую же подкатегорию: тест(test). Задать ему то же альтернативное имя не получается.. пишет что такая категория (в данном случае подкатегория)уже существует, хоть и в другой категории.
    Можно ли как нить решить данную проблему?.. Не путем изменения альтернативного имени!..
    P.S. Такая тема уже была, но ее закрыли.
     
  2. Jerry

    Jerry тот самый Учиха

    Регистр.:
    16 апр 2006
    Сообщения:
    1.226
    Симпатии:
    490
    Нужно посмотреть какие ограничения стоят в БД на поле альтернативного имени + убрать проверку.
     
  3. Rabben

    Rabben

    Регистр.:
    26 мар 2009
    Сообщения:
    159
    Симпатии:
    10
    `alt_name` varchar(50) NOT NULL DEFAULT '',
    Что тут нужно изменить?
     
  4. Demon425

    Demon425

    Регистр.:
    9 июл 2008
    Сообщения:
    461
    Симпатии:
    116
    И не будет работать !
    Если Вы посмотри те на ссылку на категорию без ЧПУ, то заметите вот что:
    Код:
    http://website.com/index.php?do=cat&category=CAT_NAME
    Лично я не представляю, как можно обращаясь по одной и той же ссылке получать разные странички (за исключением авторизации/рефферала/IP)
     
  5. Rabben

    Rabben

    Регистр.:
    26 мар 2009
    Сообщения:
    159
    Симпатии:
    10
    У кого есть идеи?
     
  6. Jerry

    Jerry тот самый Учиха

    Регистр.:
    16 апр 2006
    Сообщения:
    1.226
    Симпатии:
    490
    Никак. Только переписыванием категорий.
     
  7. Rabben

    Rabben

    Регистр.:
    26 мар 2009
    Сообщения:
    159
    Симпатии:
    10
  8. Christmasnet

    Christmasnet

    Регистр.:
    20 окт 2008
    Сообщения:
    151
    Симпатии:
    54
    Нужно копать файл catigories.php

    PHP:
    $alt_cat_name totranslitstripslashes$_POST['alt_cat_name'] ) );
        
        if( ! 
    $cat_name ) {
            
    msg"error"$lang['cat_error'], $lang['cat_ername'], "javascript:history.go(-1)" );
        }
        if( ! 
    $alt_cat_name ) {
            
    msg"error"$lang['cat_error'], $lang['cat_erurl'], "javascript:history.go(-1)" );
        }
    Тут где-то зарыта проверка
     
  9. Demon425

    Demon425

    Регистр.:
    9 июл 2008
    Сообщения:
    461
    Симпатии:
    116
    Бред ... этот кусок кода вообще не при чём.

    Вот тот кусок:
    Код:
    while ( $row = $db->get_row( $sql_result ) )
    		if( $row['alt_name'] == $alt_cat_name ) {
    			msg( "error", $lang['cat_error'], $lang['cat_eradd'], "?mod=categories" );
    		}
    В этом цикле проганяются все альтернативные названия, если есть совпадения - вылетает еррор.

    Просто удалить - не выход ... ибо будут дубли.

    К тому же в добавок:
    Код:
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]
    RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]
    Нужно смотреть в других движках как реализовано ...
     
Статус темы:
Закрыта.