Pergunta

Quero mostrar o sucesso e a notificação de erro com Mage::getSingleton('core/session')->addSuccess() e ->addError() se o administrador está em uma determinada Seção de Configuração.

O motivo:Eu fiz uma extensão, que tem um seção separada no Sistema / Configuração, e eu quero dar um feedback se ele está configurado corretamente ou não, mas somente quando o administrador é nessa seção.

Eu tentei criar um padrão.notificações de bloco, o que funcionou, mas a notificação foi uma "notificação global", e não uma pequena caixa de notificação, que foi localizado no topo da configurações de campos de minha extensões de settingfields.Também:Eu quero adicionar estas notificações apenas se o administrador é nesta secção específica da página de Configuração.

Obrigado!

Foi útil?

Solução

A área de mensagem que você está se referindo a

enter image description here

é preenchida a partir de Mage_Adminhtml_System_ConfigController::saveAction.

Antes da mensagem é definido, de um evento ("admin_system_config_changed_section_{$section}) é acionado.

código ref.:

Mage::dispatchEvent("admin_system_config_changed_section_{$section}",
                array('website' => $website, 'store' => $store)
            );
            $session->addSuccess(Mage::helper('adminhtml')->__('The configuration has been saved.'));

Você só precisa descobrir o que está na seção ($section = $this->getRequest()->getParam('section');) e mais provável para ser capaz de atingir um evento específico para a sua seção de verão.

Há também uma solução alternativa:Usar uma Dica de campo na área de administração.

Coloque uma PITADA de grupo em seu system.xml arquivo de configuração.Um exemplo:

<hint>
   <frontend_model>dyncatprod/adminhtml_system_config_fieldset_hint</frontend_model>
     <sort_order>0</sort_order>
     <show_in_default>1</show_in_default>
     <show_in_website>1</show_in_website>
     <show_in_store>1</show_in_store>
</hint>

certifique-se de que ele tem a mais baixa ordem de classificação.

Você precisará definir o bloco de classe, abaixo está um exemplo, mostrando o caminho, como por a exemplo de xml.

enter image description here

Ele deve conter um método de renderização

/**
     * Render fieldset html
     *
     * @param  Varien_Data_Form_Element_Abstract $element
     *
     * @return string
     */
    public function render(Varien_Data_Form_Element_Abstract $element)
    {
        return $this->toHtml();
    }

Em seguida, você pode, claro, de saída, tudo o que você precisa, e executar qualquer que seja a lógica que você precisa, através de seu bloco adminhtml_system_config_fieldset_hint

Um exemplo, para a saída de algumas informações sobre o instalado extensão:

enter image description here

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top