Мне нужно изменить значение настраиваемого поля компонента содержимого. И я попытался сделать это, присвоив значение в $data['com_fields']['custom_field_name']
this в событии onContentBeforeSave
, но, хотя значение изменилось в $data
, изменение не сохранилось.
Это код плагина I 'm пытаюсь
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
class plgContentPluginName extends JPlugin
{
public function onContentBeforeSave($context, &$article, $isNew, $data)
{
if ($context === 'com_content.article') {
$date1 = strtotime($data['com_fields']['date1']);
$date2 = strtotime($data['com_fields']['date2']);
if ($date1 < $date2 && !empty($date2)) {
$data['com_fields']['alert'] = ['alert']; // here I try to modify the value of the alert field
}
}
return true;
}
}
В этом случае тип поля для изменения - флажки, но я пробовал другие типы полей, такие как текст, и при назначении нового значения оно не сохраняется
Этот же вопрос, с более подробной информацией я сделал это в joomlastackexchange
Обновление
Вопрос получил ответ на joomlastackexchange . Хотя все еще остается вопрос о причине, по которой изменение значения настраиваемого поля в $ data не сохраняется
Спасибо за ваши предложения.