Domanda

Sto cercando di effettuare un reindirizzamento da uno dei miei moduli a admin> Gestisci cliente> Modifica.

Mage::app()->getResponse()->setRedirect(Mage::helper("adminhtml")->getUrl("adminhtml/customer/edit/", array("id"=>$customer_id)));
.

L'URL chiamato sembra essere buono, con un tasto URL.Ma questo URL conduce a una risposta di 302 e reindirizza automaticamente al cruscotto.

In effetti sembra che l'URL generato sia diverso dall'URL reale: i tasti non sono gli stessi per entrambi, il che spiega perché sono reindirizzato, immagino.

Se disabilita i tasti in URL dall'amministratore, il reindirizzamento è OK.

Puoi aiutarmi con questo problema? Grazie mille.

È stato utile?

Soluzione

Dai un'occhiata a Come possoGenera un collegamento amministratore da un controller frontend?

Risposta breve: non è possibile, ma se si crea un controller amministratore che fungerà come un proxy per ottenere il tasto URL, quindi eseguire il reindirizzamento (dal momento che è possibile disabilitare la convalida dell'URL di amministrazione utilizzando $_publicActions). nel tuo osservatore

  Mage::app()->getResponse()->setRedirect(Mage::helper("adminhtml")->getUrl("adminhtml/redirecttocustomer/edit/", array("id"=>$customer_id)));
.

Vedi Mage_Adminhtml_Controller_Action

protected function _validateSecretKey()
{
    if (is_array($this->_publicActions) && in_array($this->getRequest()->getActionName(), $this->_publicActions)) {
        return true;
    }

    if (!($secretKey = $this->getRequest()->getParam(Mage_Adminhtml_Model_Url::SECRET_KEY_PARAM_NAME, null))
        || $secretKey != Mage::getSingleton('adminhtml/url')->getSecretKey()) {
        return false;
    }
    return true;
}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top