cms icon indicating copy to clipboard operation
cms copied to clipboard

Added event to change meta fields of entries

Open Megafry opened this issue 4 months ago • 0 comments

Description

Added an event to change the meta fields

ex: to add postDate and expiryDate to the entries with the handle hero and text.

use yii\base\Event;
use craft\elements\Entry;
use craft\events\DefineEntryMetaFields;
use craft\helpers\Cp;

Event::on(
    Entry::class,
    Entry::EVENT_DEFINE_META_FIELDS,
    function (DefineEntryMetaFields $event) {


        if (in_array($event->entry->type->handle, ['hero','text'] )) {
            // Post Date
            $event->fields[] = Cp::dateTimeFieldHtml([
                'status' => $event->entry->getAttributeStatus('postDate'),
                'label' => Craft::t('app', 'Post Date'),
                'id' => 'postDate',
                'name' => 'postDate',
                'value' => $event->entry->postDate,
                'errors' => $event->entry->getErrors('postDate'),
                'disabled' => $event->static,
            ]);

            // Expiry Date
            $event->fields[] = Cp::dateTimeFieldHtml([
                'status' => $event->entry->getAttributeStatus('expiryDate'),
                'label' => Craft::t('app', 'Expiry Date'),
                'id' => 'expiryDate',
                'name' => 'expiryDate',
                'value' => $event->entry->expiryDate,
                'errors' => $event->entry->getErrors('expiryDate'),
                'disabled' => $event->static,
            ]);
        }
    }
);

Related issues

[5.x]: Backend - meta fields postDate and expiryDate not visible for entries without section.

Megafry avatar Oct 27 '25 21:10 Megafry