Удалить данные migx поля
Подскажите как лучше реализовать удаление данных migx поля по заданной дате. Логика такая, что одно из полей migx — поле типа дата и оно сравнивается с текущей датой, как только дата удаления равна текущей, данные migx поля удаляются. Наверное тут нужен небольшой плагин и если да то на какое событие его лучше вешать?
Комментарии: 7
Опишите задачу, а не ваше решение, если хотите развернутый ответ. А так удалить значение TV можно просто его затерев
$resource->setTVValue('tvname', '');
$resource->save();
Нет, этот код затерет же все элементы MIGX, просто у меня есть migx-тв в котором находятся отзывы, одним из полей является поле с датой, например я выкладываю сразу 20 отзывов и заполняю дату их удаления, и они в запланированную дату удаляются из админки, соответственно и из фронтенда.
Если охота прям заморочиться, тогда
$tv = json_decode($resource->getTVValue('migxtvname'),1);
$tv['date'] = '';
$resource->setTVValue('migxtvname', json_encode($tv, JSON_UNESCAPED_UNICODE));
$resource->save();
Я написал на один элемент, вообще надо конечно в цикле, т.е. $tv это массив и по нему надо пройти в цикле и сравнивать даты и дальше по вашей логике, НО я бы просто сделал отдельный раздел с ресурсами и и использовал возможность автоматического снятия с публикации, на вкладке Настройки любого ресурса есть поле Дата отмены публикации.
Спасибо, буду пробовать, отдельный раздел просто будет неудобен, поэтому буду пробовать удалять из migx-массива
А чем именно он будет неудобен? Место в админке будет занимать)))
Тут дело не в этом, у меня главная страница состоит из секций, и например нужно выводить несколько блоков, наверное логичнее и правильнее их делать через доп.поля и migx, а ресурс для меня в первую очередь ассоциируется как страница сайта или это не так)?
Ресурс это, как верно подмечают переводчики, источник, а уж источником чего будет тот или иной документ решать вам. Если вам нужно одно поле, делайте одно поле, если нужен небольшой набор данных 2-4 поля, которые не требуют пагинации, фильтрации, сортировки используйте migx, а если всё сложнее используйте документ со всеми его полями. Это конечно только мое мнение.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.