lcbrq/openmage-custom-messages

Render any message on any OpenMage route.

Maintainers

Package info

github.com/lcbrq/openmage-custom-messages

Type:magento-module

pkg:composer/lcbrq/openmage-custom-messages

Statistics

Installs: 48

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.1.0 2026-03-18 02:16 UTC

This package is not auto-updated.

Last update: 2026-03-18 02:30:40 UTC


README

Render any message on any OpenMage route.

Adding custom handles with rewrite

<models>
    <lcb_custom_messages>
        <rewrite>
            <system_config_handle>Vendor_Module_Rewrite_CustomMessages_Model_System_Config_Handle</system_config_handle>
        </rewrite>
    </lcb_custom_messages>
</models>
<?php
class Vendor_Module_Rewrite_CustomMessages_Model_System_Config_Handle extends LCB_CustomMessages_Model_System_Config_Handle
{
    /**
     * @return array
     */
    public function toOptionArray()
    {
        $options = parent::toOptionArray();

        $helper = Mage::helper('core');

        $custom = array();
        $custom['custom_handle'] = $helper->__('Custom Handle');

        foreach ($custom as $key => $option) {
            $custom[$key] = "$option ($key)";
        }

        $options = array_merge($options, $custom);

        asort($options);

        return $options;
    }
}

Extending message visibility rules

<config>
    <modules>
        <Vendor_Module>
            <version>1.0.0</version>
        </Vendor_Module>
    </modules>
    <global>
        <blocks>
            <lcb_custom_messages>
                <rewrite>
                    <adminhtml_notification_edit_form>Vendor_Module_Block_Adminhtml_Notification_Edit_Form</adminhtml_notification_edit_form>
                </rewrite>
            </lcb_custom_messages>
        </blocks>
    </global>
    <frontend>
        <events>
            <lcb_custom_messages_notifications_load_after>
                <observers>
                    <vendor_notifications_load_affer>
                        <class>vendor_module/observer</class>
                        <method>restrictNotifications</method>
                    </vendor_notifications_load_affer>
                </observers>
            </lcb_custom_messages_notifications_load_after>
        </events>
    </frontend>
</config>

Any new field with additional_data[name] would be automatically saved to the database.

Uninstall

DELETE FROM `core_resource` WHERE `code` = 'lcb_custom_messages_setup';
DELETE FROM `core_config_data` WHERE `path` LIKE 'lcb_custom_messages%';
DROP TABLE `lcb_custom_messages_notification`;