Dmitry
нет дб
Это я понял, просто Игорь предлагает в файл :)
Dmitry
Log:add() https://jpath.ru/docs/runtime/errors-handling-and-logging/klass-log
Igor
Да ладно, в файл логи писать? :)
А почему нет. Там и разбитие же сделали.
Igor
Эмм?
Ну плагин недавно же разбирали.
Igor
который логи делит на фалы по времени.
Dmitry
Не в курсе, пропустил
Igor
Не в курсе, пропустил
https://github.com/joomla/joomla-cms/blob/staging/plugins/system/logrotation/logrotation.php
Dmitry
Точно, обсуждали. Нашел https://hika.su/blog/novyj-plagin-rotatsii-logov-v-joomla
Vladimir
Точно, обсуждали. Нашел https://hika.su/blog/novyj-plagin-rotatsii-logov-v-joomla
я ещё под это поведение менял радикал
Ilia
Так ну в общем лучше бы я этого не видел. Но вопрос был по форме., так что отвечу по ней.
Игорь спрошу еще. Присылаешь отсыл на плагин и место обработки плагина в FormModel. У меня никак не клеится понимание... Я вроде в getModel хочу добавить к форме поля из доп.файла. Поля добавляются (render выводит их). Но данные не пойму как приклеить к полям (данные из тойже таблицы). В этом вопросе надо позаниматься данными или я все вообще не правильно понимаю и надо посмотреть работу через инициацию плагина?
Ilia
protected function preprocessForm(\JForm $form, $data, $group = 'content') { $form->loadFile( 'roomfields' ); parent::preprocessForm( $form, $data, $group ); }
Дмитрий
Вы не знаете как в пыхе выглядят массивы фвйлов?
Дмитрий
И единичный файл
Дмитрий
Там разные форматы
Дмитрий
В цикл да, но нужно сначала написать преобразование массива
Ilia
$form->load()
Спасибо все вышло. Правда не знаю с точки зрения профи "чисто" это или нет
Дмитрий
Покажи код, если можно
Дмитрий
Там в объект формы можно докидывать xml
Дмитрий
Он дополняет
Ilia
добавил protected function preprocessForm(\JForm $form, $data, $group = 'content') { $form->loadFile( 'roomfields' ); parent::preprocessForm( $form, $data, $group ); }
Дмитрий
Если это модель
Ilia
данные не приклеивает в getModel
Ilia
getForm
getForm я ошибся
Дмитрий
Работает все там
Дмитрий
У меня везде такое именно там
Дмитрий
Потому что это надо туда
Дмитрий
В не в этот метод
Дмитрий
Дмитрий
Вот в файле в методе верно
Ilia
у меня поле было в форме например count ( в базе и таблице есть), захотел вынести его в отдельный файл и при подключении этого файла как на скрине выше, данные не присваиваются полям из файла. Поправил на то что написал - данные зашли
Dmitry
Надо бинд вызвать данных
+ https://api.joomla.org/cms-3/classes/Joomla.CMS.Form.Form.html#method_bind
Igor
Надо бинд вызвать данных
Не надо!, если делать в правильном месте. в preprocessForm
Igor
Изменять форму надо именно в нем. Он идет до обработки плагинами и bind данных.
Дмитрий
Не надо!, если делать в правильном месте. в preprocessForm
Нет, ты можешь получать форму ещё без загрузок данных
Igor
Нет, ты можешь получать форму ещё без загрузок данных
Серьезно. для измиения формы существует preprocessForm
Дмитрий
Да хорошо
Дмитрий
Считай так
Igor
Да хорошо
В противном случае ни bind не обработки плагинами.
Igor
getForm, а точнее loadForm возвращает уже обработанную форму с данными.
Igor
https://github.com/joomla/joomla-cms/blob/staging/libraries/src/MVC/Model/FormModel.php#L240-L242 // Allow for additional modification of the form, and events to be triggered. // We pass the data because plugins may require it.
Дмитрий
Igor
это идеологически тула пихать неверно
Это канон, Если надо добавить или изменить From то ты используешь preprocessForm. Тогда в плагины и в бинд даты придет уже изминеная форма. А если тебе надо в зависимости от данных поставить полю filter или readonly это делаеться в getForm
Igor
Собственно в preprocessForm форма и обрабатывается плагинами. А данные формы обрабатываются в preprocessData
Igor
Как-то так. Это в описании методов и комментариях есть. // Allow for additional modification of the form, and events to be triggered.
Дмитрий
туда добавлять это идеологически неверно
Дмитрий
хотя вызово будет меньше
Дмитрий
там именно то что запускается плагинами, а то что ты добавляешь эьо не плагины
Igor
Ты конечно можешь изобретать свою идеаалогию, а я буду просто читать методы =)
Дмитрий
Дмитрий
а не то что ты прислал
Дмитрий
где в описании метода сказано?
Дмитрий
понимаешь, это не описание метода?
Igor
понимаешь, это не описание метода?
В методе у тебя написано. Метод позволяющий произвольным класса (включая твою модель) обрабатывать форму
Igor
Причем Предварительно
Дмитрий
Причем Предварительно
ладно, ты в прицнипе прав, что там лучше
Дмитрий
просто понимаешь
Дмитрий
еще один метод переоперпделять
Дмитрий
это пипец
Igor
еще один метод переоперпделять
Не переопределять а расширять
Дмитрий
Не переопределять а расширять
ну да, но аргументы фиксированы
Дмитрий
поэтому не совсем круто
Дмитрий
если у родителя изменятся, то везде переопреелять
Igor
ну да, но аргументы фиксированы
$form->loadFile( 'roomfields' ); parent::preprocessForm( $form, $data, $group );
Igor
если у родителя изменятся, то везде переопреелять
у родителя они и через век не изменяться.
Igor
Если говорить о том как вообще правильно, то это уже loadForm именно переопределять
Igor
Вот там уже точно боль будет.