InstantCMS 2.X
вернуть на доработку
#1
5 июля 2020 в 18:38
Как вернуть пост на доработку, если после проверки поля в onContentContentAfterAddApprove есть ошибка?
#2
5 июля 2020 в 19:23
Так наверное:Как вернуть пост на доработку, если после проверки поля в onContentContentAfterAddApprove есть ошибка?
if (есть ошибка){$item['is_approved'] = 0;}
#3
6 июля 2020 в 00:23
Компьютера нет под рукой, но кажется, ещё нужно обязательно вернуть $item.
Сегодня в 06:38
#4
6 июля 2020 в 08:20
Думал об этом… но он в черновики отправляет… а как бы сделать что бы отправил на доработку..
Так наверное:
if (есть ошибка){$item['is_approved'] = 0;}
типа когда не правильно заполнено поле!
#5
6 июля 2020 в 08:20
еще и подсветить его!
#6
6 июля 2020 в 11:18
Вот кстати меня посетила мысль… неплохо бы сделать на уровне движка какую-то штуку для проверки поля… там есть выбор Урл, только латинские буквы и цифры, в которые неплохо бы добавить например подчерк… Ну вот нужен подчерк мне и все…
Или же мне например нужен урл определенного сайта… я пишу проверку на принадлежность его…
Да много всяких там фишечек можно проверять…
По вопросу… я сейчас сделал, в принципе то что надо… если поле не правильное отправляю его редактировать форму… но вот фигня в том что это же надо проверить и при редактировании… получается писать один и тот же код 2 раза...
Думаю эту фигню в класс добавить и подцепить файл класса что бы в 2 местах не писать одно и тоже...
А может все-таки есть какое-то более правильное решение??
Или же мне например нужен урл определенного сайта… я пишу проверку на принадлежность его…
Да много всяких там фишечек можно проверять…
По вопросу… я сейчас сделал, в принципе то что надо… если поле не правильное отправляю его редактировать форму… но вот фигня в том что это же надо проверить и при редактировании… получается писать один и тот же код 2 раза...
Думаю эту фигню в класс добавить и подцепить файл класса что бы в 2 местах не писать одно и тоже...
А может все-таки есть какое-то более правильное решение??
#7
6 июля 2020 в 13:09
Попробуйте така как бы сделать что бы отправил на доработку..
$item['reason'] = 'Написать причину'; $item['page_url'] = href_to_abs($ctype['name'], 'edit', $item['id']); $this->controller_moderation->reworkModeratorTask($ctype['name'], $item, $this->getUniqueKey(array($ctype['name'], 'moderation', $item['id'])));
#8
6 июля 2020 в 13:10
Evanescence, спасибо! Сейчас проверим в действии.
#9
6 июля 2020 в 13:31
НЕ, не клеится что-то… у меня редактирование запрещено...
даже если я ставлю 'is_approved' => '0' он просто редактирует уже созданную страницу...
а надо что бы он ее не создавал
сна посмотрю что за reworkModeratorTask такой
даже если я ставлю 'is_approved' => '0' он просто редактирует уже созданную страницу...
а надо что бы он ее не создавал
сна посмотрю что за reworkModeratorTask такой
#10
6 июля 2020 в 13:35
так это отправка на доработку после создания записи… не не прокатит… это те же яйца только вид с — лева. тут надо что-то другое
#11
6 июля 2020 в 13:37
нашел хук content_validate… что-то мне подсказывает что тут можно намутить то что мне надо
#12
6 июля 2020 в 13:49
Хук onContentContentAfterAddApprove сработает после добавления, вам нужен хук content_before_add
Список хуков можете посмотреть в файле \system\controllers\content\actions\item_add.php наберите в поиске слово hook prntscr.com/tco1k4
Список хуков можете посмотреть в файле \system\controllers\content\actions\item_add.php наберите в поиске слово hook prntscr.com/tco1k4
#13
6 июля 2020 в 13:51
Хотя да, если проверка валидации, тогда этот подойдетнашел хук content_validate… что-то мне подсказывает что тут можно намутить то что мне надо
#14
6 июля 2020 в 13:54
Ага😊 сейчас буду тут мухлевать!
#15
7 июля 2020 в 17:40
Начал мухлевать… на форуме не нашел ничего дельного...
при валидации идет возврат 2 массивов по всей видимости в одном данные а во втором ошибки
попробовал
возвращает форму с пометкой поля красным, а вот данные куда-то теряются.
Где я ошибаюсь?
при валидации идет возврат 2 массивов по всей видимости в одном данные а во втором ошибки
public function run($data) { $errors['моёполе'] = 'Необходимо ввести правильный формат'; return $item; }
Где я ошибаюсь?