Технический сбой

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

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


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

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

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


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

hobokumo
Юзер

hobokumo - -

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

morefilms
Юзер

morefilms - -

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

lutskboy
Эксперт

lutskboy - -

удаляем в админке нужное доп поле
открываем 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 - -

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

Proff
Юзер

Proff - -

Вот как раз скидывал человеку скрипт. 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 - -

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

Proff
Юзер

Proff - -

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

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

наверх