0 Пользователей и 1 Гость просматривают эту тему.
  • 12 Ответов
  • 481 Просмотров
*

stepan39

  • Захожу иногда
  • 459
  • 26 / 0
Добрый день!
В какой-то момент обнаружил, что материалы в Joomla 3 можно сохранять пустыми. Т.е. валидацию проходит только название материала.
Ну ладно, мне нет резона создавать пустые статьи ...  ;D

Проблема возникла с юзерами - у некоторых есть права добавлять материалы, но запрещено редактирование. Иногда возникает ситуация, когда юзер заполняет название статьи и сохраняет её. Соответственно на фронте мы видим только заголовок.

Вопрос: каким образом можно запретить сохранение "пустых" материалов?

Заранее спасибо.
*

dm-krv

  • Завсегдатай
  • 1027
  • 28 / 0
Добрый день!
В какой-то момент обнаружил, что материалы в Joomla 3 можно сохранять пустыми. Т.е. валидацию проходит только название материала.
Ну ладно, мне нет резона создавать пустые статьи ...  ;D

Проблема возникла с юзерами - у некоторых есть права добавлять материалы, но запрещено редактирование. Иногда возникает ситуация, когда юзер заполняет название статьи и сохраняет её. Соответственно на фронте мы видим только заголовок.

Вопрос: каким образом можно запретить сохранение "пустых" материалов?

Заранее спасибо.

Элементарно, предварительно проверять поле редактора посредством JavaScript.
Код
if (document.querySelector("iframe").contentWindow.document.querySelector("body").innerText.replace("\n", "") == "")
{ alert("Сначала заполните материал!");
} else { function_save(); }
Утрированный пример.

Если задача для вас чересчур сложная, могу вам плагин написать для валидаци окна с редактором, пишите в личку.
« Последнее редактирование: 24.09.2019, 17:15:25 от dm-krv »
*

stepan39

  • Захожу иногда
  • 459
  • 26 / 0
Если задача для вас чересчур сложная, могу вам плагин написать для валидаци окна с редактором, пишите в личку.

Спасибо, подумаю. Странно, что в 3-й ветке убрали эту проверку, она логична - зачем создавать пустые материалы?
*

ProtectYourSite

  • Живу я здесь
  • 2120
  • 116 / 4
  • Безопасность вебсайтов
А если без редактора поставить и сохранить ?
*

dm-krv

  • Завсегдатай
  • 1027
  • 28 / 0
Спасибо, подумаю. Странно, что в 3-й ветке убрали эту проверку, она логична - зачем создавать пустые материалы?

Вероятно дело в том, что пустой материал на самом деле нихрена не пустой. Если редактор пуст, то TinyMCE обычно подставляет пустой тег <p> чтобы браузеру было куда вбивать текст, если пользователь захочет что-нибудь написать.
*

stepan39

  • Захожу иногда
  • 459
  • 26 / 0
А если без редактора поставить и сохранить ?
Не совсем понял... Что с редактором, что без редактора - проверки на заполнение поля нет. Если оставить пустым заголовок, то будет ругаться.
Ошибка
Некорректно заполнено поле:  Заголовок
*

stepan39

  • Захожу иногда
  • 459
  • 26 / 0
Вероятно дело в том, что пустой материал на самом деле нихрена не пустой.

С отключенным редактором сохраняет на ура! Данных никаких (визуально)  :o
*

dm-krv

  • Завсегдатай
  • 1027
  • 28 / 0
С отключенным редактором сохраняет на ура! Данных никаких (визуально)  :o

Прикрутите required к текстовому полю, возможно прокатит, так как если не ошибаюсь даже при включенном редакторе в скрытом виде оно все же присутствует. Если не прокатит, значит надо пилить свою валидацию.
*

stepan39

  • Захожу иногда
  • 459
  • 26 / 0
Прикрутите required к текстовому полю,
Да, работает. Опять, к сожалению, получаются правки ядра. При новом обновлении все затрется.
Для админки (на фронте думаю также все получится) /administrator/components/com_content/models/forms/article.xml добавляем required="true" к articletext
*

voland

  • Легенда
  • 11016
  • 585 / 112
  • Эта строка съедает место на вашем мониторе
Да, работает. Опять, к сожалению, получаются правки ядра. При новом обновлении все затрется.
Так плагинчиком или переопределением
*

stepan39

  • Захожу иногда
  • 459
  • 26 / 0
Так плагинчиком или переопределением
Ага, подумаю. Временно вопрос решен.
*

ChaosHead

  • Гуру
  • 5230
  • 450 / 13
зачем создавать пустые материалы?
Затем, что материал может состоять из названия и заполненных кастомных полей. Потому и не нужна такая проверка. Кому надо - напишет плагин три строчки.
*

stepan39

  • Захожу иногда
  • 459
  • 26 / 0
Затем, что материал может состоять из названия и заполненных кастомных полей. Потому и не нужна такая проверка. Кому надо - напишет плагин три строчки.

Пожалуй Вы правы. У меня основу публикации юзера составляет загруженный им документ (pdf, Word, Excel и т.п.), а текстовое поле (которое часто оставляют пустым) служит для краткого описания публикации.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

После обновления Joomla до версии 3.9.23 проблема сохранения материала (Решено)

Автор yarek

Ответов: 6
Просмотров: 461
Последний ответ 23.01.2021, 20:42:45
от wishlight
Запрет изменения email после регистрации

Автор Mick_20

Ответов: 2
Просмотров: 241
Последний ответ 14.01.2021, 14:16:36
от Mick_20
Текст материала

Автор теремок

Ответов: 5
Просмотров: 280
Последний ответ 08.10.2020, 09:50:14
от draff
URL продукта VirtueMart с началом от страницы материала

Автор pvip

Ответов: 0
Просмотров: 480
Последний ответ 01.06.2020, 17:34:57
от pvip
Работа с меню - ошибка при выборе материала

Автор x1

Ответов: 0
Просмотров: 341
Последний ответ 27.12.2019, 15:37:43
от x1