Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как очистить допполе определенного раздела?

Как очистить допполе определенного раздела?


     11.10.2018    допполе    Все вопросы » Общие вопросы    914

вопрос
Нужно очистить допполе для определенного раздела, скажем для Новинок. В настройках данного допполя в списке категорий удалил категорию Новинки. Теперь при редактировании через админку или при быстром редактировании любой новости из раздела Новинки, данное допполе у нее очищается. Думал, что утилита Перестроение публикаций имитирует редактирование каждой новости, но после перестроение допполе у новостей не очистилось. Как же все-таки очистить то допполе для остальных новостей раздела? dle 13

Ответа пока нет


7 комментариев

hobokumo
Юзер

hobokumo - 11 октября 2018 10:02 -

xfields.txt не попробовал?

morefilms
Юзер

morefilms - 11 октября 2018 10:20 -

hobokumo, а что там пробовать можно? ну и нужно не глобально для всего сайта очистить, а только для одного раздела

lutskboy
Эксперт

lutskboy - 11 октября 2018 12:26 -

удаляем в админке нужное доп поле
открываем engine\ajax\rebuild.php
ищем

$result = $db->query("SELECT p.id, p.short_story, p.full_story, p.xfields, p.title, p.allow_br, e.news_id FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) LIMIT ".$startfrom.", ".$count_per_step);

и меняем на

$result = $db->query("SELECT p.id, p.short_story, p.full_story, p.xfields, p.title, p.allow_br, e.news_id FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE category regexp '[[:<:]](1,2,3)[[:>:]]' LIMIT ".$startfrom.", ".$count_per_step);

где category regexp '[[:<:]](1,2,3)[[:>:]] ето те категории где нужно удалить доп поле
делаем перестроение публикаций
потом обратно добавляем доп поле и возвращем все как было раньше в engine\ajax\rebuild.php

morefilms
Юзер

morefilms - 17 октября 2018 11:34 -

lutskboy, попробовал так, но что-то после нажатия кнопки перестроения пишет ждите... и 0 так и висит, ничего не происходит

Proff
Юзер

Proff - 17 октября 2018 15:14 -

Вот как раз скидывал человеку скрипт. https://dle-faq.ru/faq/questmysql/25043-kak-mozhno-skopirovat-vse-dannye-odnogo-dopolnitelnogo-polya-v-drugoe.html
Только у него там
$xfields_array['label1'] = $xfields_array['label2'];

А у тебя будет
unset($xfields_array['tvoe_pole']);

И выборку по категориям сделать.

Только обрати внимание там в комментах я написал, в скрипте надо заменить кусок
str_replace('|','|',$value);

на
str_replace('|','&ЯЯЯ#124;',$value);

ЯЯЯ - удалить.
html сущность выводиться здесь не хочет.

UPD
закинул на сервис http://codepad.org/AS1iwddX

morefilms
Юзер

morefilms - 19 октября 2018 22:41 -

заменил (1,2,3) на свои (28,29)
заменил ['tvoe_pole'] на ['youtube']
запустил и ничего нигде не удалилось, что я не так делаю подскажите, пожалуйста?

Proff
Юзер

Proff - 3 ноября 2018 05:20 -

А просто WHERE category like '%29%' ?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх