Автор Тема: При отключении чекбокса "вкл" в админке, пропадают категории  (Прочитано 12325 раз)

Оффлайн magnel

  • Пользователь
  • **
  • Сообщений: 38
    • Просмотр профиля
Итак, проблема следующая: когда выключаем категории через "вкл" чекбокс на странице категорий в админке http://mysite.ru/admin.php?dpt=catalog&sub=categories

- то выключенные категории(и их подкатегории) исчезают. Знаю что в бд они помечаются как enabled=0, но ребят, мне надо чтобы включенные категории(и их подкатегории) отображались в админке. Форум копал через поиск и вручную, ответа на решение проблемы не нашел. Перерыл весь код, но так и не въехал где собака зарыта.
 Кто поможет ???

Lego SP 6.1

Оффлайн figvam

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
cfg/category_functions.php стр.106, заменить на:
        if ($sub_categories = All_Categories($row['categoryID'], $level + 1,$enabled)) foreach($sub_categories as $sub_categorie) $categories[] = $sub_categorie;
или добавить "$enabled" в условие.
« Последнее редактирование: Февраля 14, 2016, 08:30:36 pm от figvam »

Оффлайн magnel

  • Пользователь
  • **
  • Сообщений: 38
    • Просмотр профиля
Не не не, ситуация в том, что когда выключаешь через чекбокс "вкл" категорию в разделе http://mysite.ru/admin.php?dpt=catalog&sub=categories, то она пропадает.
Нужно чтобы в отображались все категории, включенные и ВЫКЛЮЧЕННЫЕ в админке.

Приведенный код: if ($sub_categories = All_Categories($row['categoryID'], $level + 1,$enabled)) foreach($sub_categories as $sub_categorie) $categories[] = $sub_categorie;

Не решает проблему

//processCategories
function All_Categories($parent, $level, $enabled = 1) {
    $sql = 'SELECT categoryID, name, products_count, products_count_admin, parent, picture, hurl,enabled FROM ' . CATEGORIES_TABLE . ' WHERE categoryID>0 and parent=' . $parent;
    if ($enabled)
    {
      $sql.= ' and enabled=1';
      if (isset($_SESSION["cust_id"])) $sql.= ' and hidden!=2';
      else $sql.= ' and hidden!=1';
    }
    $sql.= ' ORDER BY ' . CONF_SORT_CATEGORY . " " . CONF_SORT_CATEGORY_BY;
    $q = db_query($sql); $categories=array();
    while ($row = db_assoc_q($q)) {
        if ($row['hurl'] != "" && CONF_CHPU) {
            $row['hurl'] = $row['hurl'];
        } else {
            $row['hurl'] = "index.php?categoryID=" . $row['categoryID'];
        }
        $row['level'] = $level;
        $categories[] = $row;
        // оригинал кода
        /*
        if ($sub_categories = All_Categories($row['categoryID'], $level + 1)) foreach($sub_categories as $sub_categorie) $categories[] = $sub_categorie;*/
        // код с форума
        if ($sub_categories = All_Categories($row['categoryID'], $level + 1,$enabled)) foreach($sub_categories as $sub_categorie) $categories[] = $sub_categorie;
    }
    unset($sub_categories, $sql, $q, $row);
    return $categories;
}

Оффлайн figvam

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
Странненько.. На тесте у меня две чуть различные 6.1, и отображает все корректно.
Попробуйте закомментировать: /*$sql.= ' and enabled=1';*/

Оффлайн magnel

  • Пользователь
  • **
  • Сообщений: 38
    • Просмотр профиля
Не работает (((

Оффлайн figvam

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
Проверил. поставил 6.1(21.08.13). Если главные категории отключать чекбоксом, все отображает корректно. Если отключать субкатегории, то они пропадает(не отображается). Повторил замену:
        // оригинал кода
        /*
        if ($sub_categories = All_Categories($row['categoryID'], $level + 1)) foreach($sub_categories as $sub_categorie) $categories[] = $sub_categorie;*/
        // код с форума
        if ($sub_categories = All_Categories($row['categoryID'], $level + 1,$enabled)) foreach($sub_categories as $sub_categorie) $categories[] = $sub_categorie;
Субкатегории со снятыми галочками(отключенные) стали отображаться.
« Последнее редактирование: Января 15, 2017, 07:03:17 pm от figvam »