http / https im Template header.tpl herausfinden

Hey, da bei uns die CSS Dateien von einer Subdomain geladen werden, habe ich in der header.tpl die URL zur CSS definiert. Nun habe ich das Problem, dass ich bis jetzt nur http oder https definieren kann. Ich würde das aber gerne zur Laufzeit wechseln, so dass immer das Korrekte verwendet wird. In der sArticles.php wird dies für die URL der Artikelbilder überpüft mit folgenden Code: if (preg\_match("/443/",$\_SERVER['SERVER\_PORT'])){ $this-\>sSYSTEM-\>sPathArticleImg = "https://domaine/".$this-\>sSYSTEM-\>sCONFIG["sARTICLEIMAGES"]."/"; }else { $this-\>sSYSTEM-\>sPathArticleImg = "http://domaine/".$this-\>sSYSTEM-\>sCONFIG["sARTICLEIMAGES"]."/"; } In welchem Controller muss ich die Abfrage stecken und als Smarty Variable ausgeben, dass ich im Template header.tpl immer z.B. die Variabel {Server\_Port} habe? [code] if (preg\_match("/443/",_SERVER[‘SERVER_PORT’])){ $view->Serverport = “https”; }else { $view->Serverport = “http”; } [/code] Oder soll ich einfach im Template PHP verwenden? Habt ihr einen Vorschlag? Danke

Wenn ich die Abfrage in den Index Controller mache, so habe ich die benötigte Variable auf der Startseite. Aber Sobald ich auf eine Kategorie klicke, ist diese wieder weg. Jetzt will ich ja nicht jeden Controller ändern. Gibt es noch etwas übergreifendes ? Ich bitte um Info. Danke

[quote=“ottscho”]Wenn ich die Abfrage in den Index Controller mache, so habe ich die benötigte Variable auf der Startseite. Aber Sobald ich auf eine Kategorie klicke, ist diese wieder weg. Jetzt will ich ja nicht jeden Controller ändern. Gibt es noch etwas übergreifendes ? Ich bitte um Info. Danke[/quote] {$smarty.server.SERVER_PORT}

[quote=“ottscho”]Hey, da bei uns die CSS Dateien von einer Subdomain geladen werden, habe ich in der header.tpl die URL zur CSS definiert. Nun habe ich das Problem, dass ich bis jetzt nur http oder https definieren kann. Ich würde das aber gerne zur Laufzeit wechseln, so dass immer das Korrekte verwendet wird. In der sArticles.php wird dies für die URL der Artikelbilder überpüft mit folgenden Code: if (preg\_match("/443/",$\_SERVER['SERVER\_PORT'])){ $this-\>sSYSTEM-\>sPathArticleImg = "https://domaine/".$this-\>sSYSTEM-\>sCONFIG["sARTICLEIMAGES"]."/"; }else { $this-\>sSYSTEM-\>sPathArticleImg = "http://domaine/".$this-\>sSYSTEM-\>sCONFIG["sARTICLEIMAGES"]."/"; } Habt ihr einen Vorschlag? [/quote] Lass das http oder https komplett weg und versuche mal: $this-\>sSYSTEM-\>sPathArticleImg = "://domaine...... Im Normalfall sucht sich der Browser dann das zum Aufruf der Seite verwendete Protokoll selbst raus und ergänzt es, ähnlich einer relativen URL, bei der auch keine Domain angegeben werden muss.

Ich danke euch Beiden. Ich habe es nun mit Avenger Lösung gemacht. Das funktioniert :slight_smile: Mache ich den Link so ://www.domain.de kommt dann beim Aufruf dies raus: http://www.domain.de///www.domain.de

[quote=“ottscho”]Ich danke euch Beiden. Ich habe es nun mit Avenger Lösung gemacht. Das funktioniert :slight_smile: Mache ich den Link so ://www.domain.de kommt dann beim Aufruf dies raus: http://www.domain.de///www.domain.de[/quote] In statischen CSS-Dateien funktioniert’s definitiv mit dieser Methode und ist ganz nett, wenn man CSS auf eine Subdomain auslagert, die man im Checkout-Prozess noch per https:// ansprechen möchte. War einen Versuch wert. :wink:

Okay :slight_smile: Es wurde nun so gelöst: {block name="frontend\_index\_header\_css\_screen"} {if $smarty.server.SERVER\_PORT == "443"}<link type="text/css" media="screen, projection" rel="stylesheet" href="https://static.domain.de/style.css">{else}<link type="text/css" media="screen, projection" rel="stylesheet" href="http://static.domain.de/style.css">{/if} {/block} Bzgl. Geschwindigkeit kann ich nur jedem empfehlen die Seiten-Elemente von verschiedenen Subdomains zu laden. Bei DF mit Shared Hosting spürbar schneller… Aber da hast du ja schon darüber berichtet :slight_smile: