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

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

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

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

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

    mspetc Посетитель

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

    Attached Files:

  2. uskino

    PRO Users

    Joined:
    Oct 20, 2015
    Messages:
    762
    Best Answers:
    1
    Ratings:
    +174 / 23 / -0
    Перестроение публикаций сделай)
     
  3. TopicStarter Overlay
    mspetc

    mspetc Посетитель

    Joined:
    Mar 8, 2016
    Messages:
    81
    Best Answers:
    0
    Ratings:
    +2 / 0 / -0
    Делал, не помогло.
     
  4. uskino

    PRO Users

    Joined:
    Oct 20, 2015
    Messages:
    762
    Best Answers:
    1
    Ratings:
    +174 / 23 / -0
    Тогда с бд манипуляции нужны. Пиши кодерам ) icooler шарит в этих штуках
     
  5. Frosty

    Забанен

    Joined:
    Mar 31, 2017
    Messages:
    939
    Best Answers:
    1
    Ratings:
    +188 / 18 / -0
    Он занят, у него др ))) а вообще надо смотреть что в базе, скорее всего пустые стоят и все, найди новость и посмотри сам даже
     
  6. TopicStarter Overlay
    mspetc

    mspetc Посетитель

    Joined:
    Mar 8, 2016
    Messages:
    81
    Best Answers:
    0
    Ratings:
    +2 / 0 / -0
    оо....поздравляю его, если будет время пусть заглянет). Да смотрел, все норм в базе, без пробелов. ща скрин сделаю.

    222.png
     
  7. jpgKhan

    jpgKhan Зелёный

    Joined:
    Feb 10, 2018
    Messages:
    10
    Best Answers:
    0
    Ratings:
    +3 / 0 / -0
    mspetc удалить все файлы в /egnine/cache/system кроме .htaccess
     
  8. byroot

    Забанен

    Joined:
    Oct 10, 2015
    Messages:
    12,295
    Best Answers:
    54
    Ratings:
    +5,206 / 74 / -0
    это чисткой кеша в админке так же чистится. отдельно файлы повторно не нужно там удалять.

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

    Забанен

    Joined:
    Jul 17, 2015
    Messages:
    6,989
    Best Answers:
    6
    Ratings:
    +1,997 / 141 / -0
    Как вариант,все вернуть на место (как было до этого) и удалить по нормальному,если ты удаляешь категорию например там 5к новостей они переносятся одним кликом
     
  10. TopicStarter Overlay
    mspetc

    mspetc Посетитель

    Joined:
    Mar 8, 2016
    Messages:
    81
    Best Answers:
    0
    Ratings:
    +2 / 0 / -0
    можно как то массово убрать упоминание в новостях?
     
  11. jpgKhan

    jpgKhan Зелёный

    Joined:
    Feb 10, 2018
    Messages:
    10
    Best Answers:
    0
    Ratings:
    +3 / 0 / -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 Посетитель

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

    jpgKhan Зелёный

    Joined:
    Feb 10, 2018
    Messages:
    10
    Best Answers:
    0
    Ratings:
    +3 / 0 / -0
    mspetc после выполнения файла - удалите его. Не нужно его держать там. И одним запросом не сделаешь.
     
Яндекс.Метрика