安全でないURL(http)を介して表示されるMagentoのフォームがありますが、安全なURL(https)に送信する必要があります。
現在次のコードを使用しているURLを表示します。
Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)
URL_TYPE_WEBを別のものに変更する必要があると思います。誰か他の人が何か知っていますか?
これを試しましたか?
Mage::getUrl('',array('_secure'=>true))
これで安全な基本URLが得られると思います。
Mage::getUrl('customer/account/login',array('_secure'=>true))
ログインページに移動します。言い換えると、
Mage::getUrl('module/controller/action',array('_secure'=>true))
適切なコンボを「モジュール/コントローラー/アクション」に置き換えるだけで、必要なページに移動できます。
編集-誤字を修正
http://blog.geekslikeshinythings.com/2014/12/magento-force-secure-urls-https-on-all.html
これはMageno 1.9.1で動作し、app/etc/config.xmlファイルを使用します
<?xml version="1.0"?>
<config>
<frontend>
<secure_url>
<all>/</all>
</secure_url>
</frontend>
</config>
ユーザーがhttpsを使用している場合、これによりすべてのURLが強制的にhttpsに書き換えられる(作成される)必要があります。
使用する:
Mage::getStoreConfig(Mage_Core_Model_Store::XML_PATH_SECURE_BASE_URL);
admin内で設定されたmagento内の構成値を読み取る。
これは私に働いた
echo Mage::getUrl('customer/account/loginPost',array('_secure'=>true));
例えば:
httpでブラウジングする場合
echo Mage::getUrl('customer/account/loginPost',array('_secure'=>true));
// http://dominio.com/customer/account/loginPost
httpsで閲覧する場合
echo Mage::getUrl('customer/account/loginPost',array('_secure'=>true));
// https://dominio.com/customer/account/loginPost
これは、コードで行うことも、xmlから行うこともできます。
たとえば、チェックアウトページにhttpsを設定する場合は、カスタムconfig.xmlに次のコードを追加する必要があります。
<code>
<secure_url>
<checkout_onepage>/checkout/onepage</checkout_onepage>
<checkout_multishipping>/checkout/multishipping</checkout_multishipping>
</secure_url>
</code>
Magentoにはチェックアウト用のhttpsのデフォルト機能があるため、顧客ページなどの他のページでも同じことができます。
<code>
<secure_url>
<customer>/customer/</customer>
</secure_url>
</code>
それがあなたのお役に立てば幸いです。
これは私のために働いてみました。
Mage :: getUrl( ''、array( '_ secure' => true))
このコードを追加すると、最終的には次のようになります
IWD.ProductVideoView.urlGetVideo = "<?php echo Mage::getUrl('iwd_productvideo/player/getvideo/',array('_secure'=>true)); ?>?isAjax=true";