2010-11-23 7 views
27

Ich habe ein Formular in Magento, das über die unsichere URL (http) angezeigt wird, aber ich muss es an die sichere URL (https) senden.Wie erhalten Sie die Store Secure URL in Magento?

Ich zeige die URL ich zur Zeit den folgenden Code verwenden:

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) 

Ich nehme ich sonst die URL_TYPE_WEB etwas ändern müssen. Weiß jemand, was das für etwas anderes ist?

Antwort

44

Haben Sie das versucht?

Mage::getUrl('',array('_secure'=>true)) 

Ich denke, dass Sie die sichere Basis-URL erhalten, glaube ich.

Mage::getUrl('customer/account/login',array('_secure'=>true)) 

Wird Sie auf die Anmeldeseite bringen. Mit anderen Worten,

Mage::getUrl('module/controller/action',array('_secure'=>true)) 

Werden Sie zu einer beliebigen Seite erhalten Sie wollen, nur für die entsprechende Combo ‚-Modul/controller/action‘ ersetzen.

Bearbeiten - Feste Typos

+0

Das funktionierte prima . Vielen Dank. –

+6

Neben '_secure' gibt es auch' _forced_secure'. Eine vollständige Referenz finden Sie [hier] (http://www.magentocommerce.com/wiki/5_-_modules_and_development/reference/geturl_function_parameters) – clockworkgeek

+0

großartige Arbeit in Multisite – jruzafa

6

Verwendung:

Mage::getStoreConfig(Mage_Core_Model_Store::XML_PATH_SECURE_BASE_URL); 

die der Konfigurationswert innerhalb magento zu lesen, die in Server-Betreiber eingestellt wurde.

1

Sie können dies in Code und auch aus XML tun.

Zum Beispiel, wenn Sie https für die Check-Out-Seite einstellen wollen, dann müssen Sie den Code unten in Ihrem benutzerdefinierten config.xml hinzu:

<code> 
     <secure_url> 
       <checkout_onepage>/checkout/onepage</checkout_onepage> 
       <checkout_multishipping>/checkout/multishipping</checkout_multishipping> 
     </secure_url> 
</code> 

Magento ein Standard-Feature für den Check für https hat aus so können Sie dasselbe für andere Seiten wie für die Kundenseite tun:

Ich hoffe, dass es Ihnen helfen wird.

3

das funktionierte mir

echo Mage::getUrl('customer/account/loginPost',array('_secure'=>true)); 

Zum Beispiel:

, wenn Sie mit http Surfen dann

echo Mage::getUrl('customer/account/loginPost',array('_secure'=>true)); 
// http://dominio.com/customer/account/loginPost 

, wenn Sie mit https dann

Surfen
11

http://blog.geekslikeshinythings.com/2014/12/magento-force-secure-urls-https-on-all.html

das funktioniert in Mageno 1.9.1 benutzen, um Ihre app/etc/config.xml Datei

<?xml version="1.0"?> 
<config> 
    <frontend> 
    <secure_url> 
     <all>/</all> 
    </secure_url> 
    </frontend> 
</config> 

Wenn Benutzer https verwendet, sollte dies alle URLs zwingen neu zu schreiben (erstellt als) zu https.

+0

Dies scheint für mich für Mage :: getUrl(), aber nicht für Mage :: getBaseUrl() zu funktionieren - Seltsam, nicht wahr? – Gerfried

+0

Danke! Das hat mein Problem behoben. – user1105491

0

Versucht dies ist seine Arbeit für mich.

Mage :: getUrl ('', array ('_ sichere' => true))

Nachdem dieser Code hinzugefügt endlich sein Aussehen wie unten

IWD.ProductVideoView.urlGetVideo = "<?php echo Mage::getUrl('iwd_productvideo/player/getvideo/',array('_secure'=>true)); ?>?isAjax=true"; 
Verwandte Themen