Skip to content

Conversation

@Megafry
Copy link

@Megafry Megafry commented Oct 27, 2025

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant