Magento Lösung: getSubmitUrl() Warnung Chrome Console nach Aktivierung SSL – Ausrufezeichen in Url Zeile

Hier ein kleiner Beitrag zu einem Thema was öfters bei der Aktivierung von SSL auftritt. Das Thema mixed Content Fehler was teilweise nur von Chrome erkannt wird.

Der Fehler tritt auf wenn der Magento Shop mit einem SSL Zertifikat versehen wurde. Der Einbau verlief alles soweit korrekt. Auf fast allen Seiten wird ein grünes Schloss angezeigt, aber auf einigen wenigen ein Ausrufezeichen. Dann ist es mit großer Sicherheit ein mixed-Content Problem.

Fehlerhafte Url mit mixed Content finden

Magento SSL Mixed Content Fehler ChromeUm das Problem näher zu untersuchen bietet es sich an den Browser Chrome zu verwenden. Dort auf die Seite gehen wo das Problem auftritt.

 

Mixed Content Fehler im Magento Frontend Code finden

Als nächstes Rechtsklick und „Untersuchen“ klicken. Im sich öffnenden Fenster auf den Tab Console. Dort erscheint eine genaue Fehlermeldung welche urls mit http statt https geladen werden. In Magento sind es üblicherweise falsch eingebundene Bilder oder die AddToCart url deren Formular auf http statt die SSL Variante zeigt.

SSL mixed Content Magento Fehler mit Chrome untersuchen

Auf obigem Screenshot ist dummerweise kein Fehler zu sehen, da ich den Screenshot erst gemacht habe, nachdem dieser bereits behoben war… Wenn man jedoch die falsche url dort angezeigt bekommt, einfach danach im Quelltext im Frontend suchen.

Es findet sich dann z.B. so ein Code

Mixed Content SSL Fehler

Die Ursache ist wie auf dem Screenshot markiert eine Url die auf http statt SSL Variante zeigt.

Code im Template von Magento finden

Um das zu beheben muss das Template nun angepasst werden. In diesem Fall ist ist es das Kategorielevel was Probleme macht. Somit das list.phtml Template. Wer dies nicht sofort findet einfach den Debug Modus aktiviere, sodass der Pfad zu den Templates angezeigt wird.

In diesem Beispiel befindet sich der Code hier:

\app\design\frontend\EIGENE_TEMPLATE\EIGENE_TEMPLATE\template\catalog\product\list.phtml

Nun ist es noch wichtig zu prüfen ob es der Bereich „grid view“ oder „list view“ ist.

In diesem Beispiel war nur List View aktiv im Shop. Somit im Code diese Stelle suchen

<form action=“<?php echo $this->getAddToCartUrl($_product) ?>“ method=“post“ id=“product_addtocart_form_<?php echo $_product->getId()?>“<?php if($_product->getOptions()): ?> enctype=“multipart/form-data“<?php endif; ?>>

SSL Mixed Content Fehler beheben

Nun kann dort die url auf verschiedene Weise in SSL geändert werden.

<?php echo $this->getAddToCartUrl($_product) ?>

Hier eine Variante die schlicht brutal die http Variante mit https ersetzt, sobald der Shop SSL aktiv hat. Diese Prüfung ist eingebaut, sodass auf einem Testsystem (was meist kein SSL hat) es zu keinen Probleme kommt.

Hier die Generierung der Url

<?php
$addToCartUrl = $this->getSubmitUrl($_product);
if (Mage::app()->getStore()->isAdminUrlSecure()) {
$addToCartUrl = str_replace(„http“, „https“, $addToCartUrl);
}
?>

Hier die Form Action

<form action=“<?php echo $addToCartUrl ?>“ method=“post“ id=“product_addtocart_form_<?php echo $_product->getId()?>“<?php if($_product->getOptions()): ?> enctype=“multipart/form-data“<?php endif; ?>

 

Im Anschluss sollte die Adresszeile wie folgt aussehen

ssl-magento-mixed-content-behob

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert