Pregunta

He creado un módulo hace unos minutos para tirar de la información de una fuente RSS y mostrarla en la bandeja de entrada de notificación de los paneles de administración y la barra de herramientas que está justo debajo del menú de administración.

Esto funciona perfectamente, pero desafortunadamente no carga mensajes nuevos cuando me actualizo.Tengo que esconder el caché de Magento y luego actualizarlo para cargar los nuevos mensajes.

Me gustaría deshabilitar el caché para el módulo / bloque de notificaciones, por lo que todos los mensajes nuevos se pueden cargar cada vez que se carga la página.

Cansado esta línea de código, pero no pareció funcionar:

<reference name="notification_toolbar">
<action method="setCacheLifetime"><s>0</s></action>
</reference>

No esperé que esto funcione, ya que no es el que genera la información, solo lo muestra.

Puede alguien por favor aconsejarme sobre cómo deshabilitar el caché de este módulo / bloque.

gracias.

¿Fue útil?

Solución

¡Lo descubrí solo!

Después de mirar a través de algunos códigos, me doy cuenta de que tiene un temporizador de frecuencia de actualización, así que miré en la sección del sistema del panel de administración y encontré un selector de frecuencia de actualización en Configuración => System => notificación .Desafortunadamente, el menor tiempo que tuvo es 1 hora .

Fui a través de las carpetas de mago y encontré lo siguiente que proporciona los tiempos.

mago / adminhtml / modelo / sistema / config / fuente / notificación / frecuencia.php

class Mage_Adminhtml_Model_System_Config_Source_Notification_Frequency
{
    public function toOptionArray()
    {
        return array(
            1   => Mage::helper('adminhtml')->__('1 Hour'),
            2   => Mage::helper('adminhtml')->__('2 Hours'),
            6   => Mage::helper('adminhtml')->__('6 Hours'),
            12  => Mage::helper('adminhtml')->__('12 Hours'),
            24  => Mage::helper('adminhtml')->__('24 Hours')
        );
    }
}

A continuación, agregué el código de seguimiento y corrió algunas pruebas, ¡que funcionó!

0 => Mage::helper('adminhtml')->__('0 Minute'),

No estoy seguro si lo hice correctamente, pero hace exactamente lo que lo necesito. Luego anular esto con mi módulo para completarlo.

espero que ayude a otros!

Otros consejos

¿Por qué quiere que esto se actualice, no se hinchará su bandeja de entrada?

Puede haber 2 opciones para usted, puede escribir un observador de eventos que elimina este caché.admin_notifications_lastcheck es la etiqueta de caché que pude encontrar sobre las notificaciones.

La otra opción es hacer que la vida útil del caché sea realmente corta escribiendo una reescritura de la función SETLASTUPDATE en el núcleo / adminnotificación / modelo / feed.php Puede dar a esta función un parámetro con una vida útil de caché.

No lo intenté y tengo prisa, pero ya que no hay respuestas, pensé que debería compartirlo.Puedo agregar más información mañana si lo necesitas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top