Estou familiarizado com o uso de vários métodos para gerar uma URL segura com base no contexto, ou seja:
$this->getUrl('my-page', array('_forced_secure' => $this->getRequest()->isSecure()));
Isso funciona muito bem para criar links que direcionam para uma página segura enquanto você estiver no modo seguro (ou apenas direcionam para a página não segura se não estiver usando o modo seguro).
O problema que estou vendo é que o Magento trata apenas algumas páginas especiais como precisando ser seguro (conta de cliente, pagamento, etc). O que eu preferiria é que o Magento sempre use um link seguro se o usuário estiver atualmente no modo seguro ou use o link não seguro se o usuário estiver no modo não seguro.
Pelo que sei, minhas únicas opções reais são:
- Modifique todas as instâncias
$this->getUrl()
para serem semelhantes ao snippet acima. - Defina não seguro
base_url
para usar HTTPS, forçando a segurança de todas as páginas.
Existe um método melhor que não envolva a necessidade de alterar todas as chamadas $this->getUrl()
ou forçar todas as páginas para HTTPS, independentemente do contexto do usuário?
- editar -
Estou ciente de que posso modificar o /app/code/core/Mage/Core/Model/Url.php->setRouteParams()
método, mas espero que exista uma maneira mais limpa.