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

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

Вопрос? Как удалить пустоту в категории dle?

Discussion in 'Вопросы- ответы' started by mspetc, Mar 6, 2018.

06.03.18 в 21:05
07.03.18 в 13:47
12
890
0
  1. TopicStarter Overlay
    mspetc

    mspetc Посетитель

    Messages:
    81
    Likes Received:
    2
    Best Answers:
    0
    Все привет!
    Вопрос в следующем. В версии dle 11 были удалены категории через phpMyAdmin. Так как через админ панель требовал переноса в другую категорию. Теперь в категориях появилась пустота. Она исчезает если новость пере сохранить через админ панель, но каждую тыкать не реально, новостей больше 1к.
    Как это можно убрать со всех новостей?
    Спасибо!
     

    Attached Files:

  2. uskino

    uskino PRO Users

    Messages:
    762
    Likes Received:
    105
    Best Answers:
    1
    Перестроение публикаций сделай)
     
  3. TopicStarter Overlay
    mspetc

    mspetc Посетитель

    Messages:
    81
    Likes Received:
    2
    Best Answers:
    0
    Делал, не помогло.
     
  4. uskino

    uskino PRO Users

    Messages:
    762
    Likes Received:
    105
    Best Answers:
    1
    Тогда с бд манипуляции нужны. Пиши кодерам ) icooler шарит в этих штуках
     
  5. Frosty

    Frosty Забанен

    Messages:
    935
    Likes Received:
    137
    Best Answers:
    1
    Он занят, у него др ))) а вообще надо смотреть что в базе, скорее всего пустые стоят и все, найди новость и посмотри сам даже
     
  6. TopicStarter Overlay
    mspetc

    mspetc Посетитель

    Messages:
    81
    Likes Received:
    2
    Best Answers:
    0
    оо....поздравляю его, если будет время пусть заглянет). Да смотрел, все норм в базе, без пробелов. ща скрин сделаю.

    222.png
     
  7. jpgKhan

    jpgKhan Зелёный

    Messages:
    10
    Likes Received:
    3
    Best Answers:
    0
    mspetc удалить все файлы в /egnine/cache/system кроме .htaccess
     
  8. Ботяра

    Ботяра Забанен

    Messages:
    0
    Likes Received:
    0
    Best Answers:
    54
    это чисткой кеша в админке так же чистится. отдельно файлы повторно не нужно там удалять.

    удалив новости через пхпмайдмин надо так же удалять упоминание этих категорий во всех новостях, т.к. на скрине видно как перечислены категории, и если айди новости нет в базе категорий - отображается пустота.
     
  9. Romantv

    Romantv Забанен

    Messages:
    6,946
    Likes Received:
    1,815
    Best Answers:
    6
    Как вариант,все вернуть на место (как было до этого) и удалить по нормальному,если ты удаляешь категорию например там 5к новостей они переносятся одним кликом
     
  10. TopicStarter Overlay
    mspetc

    mspetc Посетитель

    Messages:
    81
    Likes Received:
    2
    Best Answers:
    0
    можно как то массово убрать упоминание в новостях?
     
  11. jpgKhan

    jpgKhan Зелёный

    Messages:
    10
    Likes Received:
    3
    Best Answers:
    0
    mspetc в корне сайта создаем php файл и в него код вставляем.
    PHP:
    <?php
    @error_reporting(E_ALL E_WARNING E_NOTICE);
    @
    ini_set('display_errors'true);
    @
    ini_set('html_errors'false);
    @
    ini_set('error_reporting'E_ALL E_WARNING E_NOTICE);

    define('DATALIFEENGINE'true);
    define('ROOT_DIR''.');
    define('ENGINE_DIR'ROOT_DIR '/engine');

    include 
    ENGINE_DIR '/data/config.php';
    require_once 
    ENGINE_DIR '/classes/mysql.php';
    require_once 
    ENGINE_DIR '/data/dbconfig.php';

    $id_category 999;

    $sql $db->query("SELECT id, category FROM " PREFIX "_post WHERE category REGEXP '[[:<:]](" $id_category ")[[:>:]]'");
    while (
    $row $db->get_row($sql)) {
        
    $category_array explode(","$row['category']);
        
    $i FALSE;
        
    $category "";
        if ((
    $i array_search($id_category$category_array)) !== false) {
            unset(
    $category_array[$i]);
            
    $category implode(","$category_array);
            
    $db->query("UPDATE " PREFIX "_post SET category='{$category}' WHERE id='{$row['id']}'");
        }
    }
    Меняем 999 на id удаленной категории.
    Выполняем, радуемся.

    Автор кода - я.
     
    • Нравится Нравится x 1
  12. TopicStarter Overlay
    mspetc

    mspetc Посетитель

    Messages:
    81
    Likes Received:
    2
    Best Answers:
    0
    jpgKhan как то напрягает, что в корне сайта останется файл. Может можно сделать какой нибудь запрос в Бд? Хотя не известно где храниться эта пустота....
     
  13. jpgKhan

    jpgKhan Зелёный

    Messages:
    10
    Likes Received:
    3
    Best Answers:
    0
    mspetc после выполнения файла - удалите его. Не нужно его держать там. И одним запросом не сделаешь.