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

stepan39

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

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

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

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

dm-krv

  • Завсегдатай
  • 1028
  • 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

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

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

ProtectYourSite

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

dm-krv

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

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

stepan39

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

stepan39

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

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

dm-krv

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

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

stepan39

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

voland

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

stepan39

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

ChaosHead

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

stepan39

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

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

PDF в теле материала сайта

Автор VIK4

Ответов: 3
Просмотров: 148
Последний ответ 13.01.2022, 12:46:00
от VIK4
Запрет на запись в таблице БД

Автор VIK4

Ответов: 24
Просмотров: 595
Последний ответ 24.11.2021, 21:33:43
от VIK4
Где добавить содержимое в панели печати материала

Автор vetkrs

Ответов: 6
Просмотров: 425
Последний ответ 13.11.2021, 12:55:47
от gartes
Подтянуть картинки из поля "полного материала" в поле "вступительного"

Автор max_max

Ответов: 9
Просмотров: 544
Последний ответ 01.10.2021, 12:58:04
от ShopES
После обновления Joomla до версии 3.9.23 проблема сохранения материала (Решено)

Автор yarek

Ответов: 6
Просмотров: 603
Последний ответ 23.01.2021, 20:42:45
от wishlight