Как программно изменить значение настраиваемого поля? - PullRequest
0 голосов
/ 30 октября 2019

Мне нужно изменить значение настраиваемого поля компонента содержимого. И я попытался сделать это, присвоив значение в $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 не сохраняется

Спасибо за ваши предложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...