# http / https im Template header.tpl herausfinden

**URL:** <https://forum.shopware.com/t/http-https-im-template-header-tpl-herausfinden/3052>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [10. Juni 2011 um 09:16 UTC](https://forum.shopware.com/t/http-https-im-template-header-tpl-herausfinden/3052 "2011-06-10T09:16:08Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [10. Juni 2011 um 09:16 UTC](https://forum.shopware.com/t/http-https-im-template-header-tpl-herausfinden/3052/1 "2011-06-10T09:16:08Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [10. Juni 2011 um 10:48 UTC](https://forum.shopware.com/t/http-https-im-template-header-tpl-herausfinden/3052/2 "2011-06-10T10:48:50Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![avenger](https://avatars.discourse-cdn.com/v4/letter/a/9de0a6/32.png) [@avenger](https://forum.shopware.com/u/avenger)\
**Post date:** [10. Juni 2011 um 11:38 UTC](https://forum.shopware.com/t/http-https-im-template-header-tpl-herausfinden/3052/3 "2011-06-10T11:38:04Z")

</div>

[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}

---

<div class="post-metadata">

**Author:** ![tschersich](https://avatars.discourse-cdn.com/v4/letter/t/a9adbd/32.png) [@tschersich](https://forum.shopware.com/u/tschersich)\
**Post date:** [10. Juni 2011 um 12:31 UTC](https://forum.shopware.com/t/http-https-im-template-header-tpl-herausfinden/3052/4 "2011-06-10T12:31:43Z")

</div>

[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.

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [10. Juni 2011 um 13:03 UTC](https://forum.shopware.com/t/http-https-im-template-header-tpl-herausfinden/3052/5 "2011-06-10T13:03:19Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![tschersich](https://avatars.discourse-cdn.com/v4/letter/t/a9adbd/32.png) [@tschersich](https://forum.shopware.com/u/tschersich)\
**Post date:** [10. Juni 2011 um 14:53 UTC](https://forum.shopware.com/t/http-https-im-template-header-tpl-herausfinden/3052/6 "2011-06-10T14:53:38Z")

</div>

[quote=“ottscho”]Ich danke euch Beiden. Ich habe es nun mit Avenger Lösung gemacht. Das funktioniert 🙂 Mache ich den Link so ://www.domain.de kommt dann beim Aufruf dies raus: [http://www.domain.de///www.domain.de](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. 😉

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [10. Juni 2011 um 15:10 UTC](https://forum.shopware.com/t/http-https-im-template-header-tpl-herausfinden/3052/7 "2011-06-10T15:10:38Z")

</div>

Okay 🙂 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 🙂
