# Domain-URL in einer js-Datei

**URL:** https://forum.shopware.com/t/domain-url-in-einer-js-datei/43475
**Category:** Programmierung
**Created:** [7. Februar 2017 um 08:17 UTC](https://forum.shopware.com/t/domain-url-in-einer-js-datei/43475 "2017-02-07T08:17:29Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Schumiel](https://avatars.discourse-cdn.com/v4/letter/s/4491bb/32.png) [@Schumiel](https://forum.shopware.com/u/Schumiel)
#### Post date: [7. Februar 2017 um 08:17 UTC](https://forum.shopware.com/t/domain-url-in-einer-js-datei/43475/1 "2017-02-07T08:17:29Z")

</div>

Hallo,

&nbsp;

ich möchte gern den Domainnamen in js-Dateien nutzen, die ich einbinden möchte.

```
$( document ).ready(function() {
	$(".sb_hotline").click(function(){
		console.log("11");
		window.location.href = "{$smarty.server.HTTP_HOST}/kontakt";
	});
});

```

&nbsp;

Heraus kommt dann das:

```
%7B$smarty.server.HTTP_HOST%7D/kontakt

```

&nbsp;

Wo ist mein Fehler?

---

<div class="post-metadata">

### Author: ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)
#### Post date: [7. Februar 2017 um 08:18 UTC](https://forum.shopware.com/t/domain-url-in-einer-js-datei/43475/2 "2017-02-07T08:18:47Z")

</div>

> [@Schumiel schrieb:](https://forum.shopware.com/profile/25131/Schumiel "Schumiel")
> 
> Hallo,
> 
> &nbsp;
> 
> ich möchte gern den Domainnamen in js-Dateien nutzen, die ich einbinden möchte.
> 
> $( document ).ready(function() {  
> $(„.sb\_hotline“).click(function(){  
> console.log(„11“);  
> window.location.href = „{$smarty.server.HTTP\_HOST}/kontakt“;  
> });  
> });
> 
> &nbsp;
> 
> Heraus kommt dann das:
> 
> %7B$smarty.server.HTTP\_HOST%7D/kontakt
> 
> &nbsp;
> 
> Wo ist mein Fehler?

Hallo,

der Fehler wird wohl daran liegen, dass man überhaupt kein Smarty in JavaScript - Dateien verwenden kann.

Man könnte aber beispielsweise ein div in einem Shopware Block erstellen, bei dem man ein data-Attribut mit der URL setzt und dann in der JavaScript-Datei das data - Attribut wieder auslesen.

Beste Grüße

Sebastian

---

<div class="post-metadata">

### Author: ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)
#### Post date: [7. Februar 2017 um 08:24 UTC](https://forum.shopware.com/t/domain-url-in-einer-js-datei/43475/3 "2017-02-07T08:24:27Z")

</div>

Moin, Geht das nicht mit location.hostname + ‘/kontakt’, also purem JS ?

---

<div class="post-metadata">

### Author: ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)
#### Post date: [7. Februar 2017 um 22:18 UTC](https://forum.shopware.com/t/domain-url-in-einer-js-datei/43475/4 "2017-02-07T22:18:21Z")

</div>

window.controller.register.replace(‘register’, ‘kontakt’);

Simple und einfach 😃

---

<div class="post-metadata">

### Author: ![daMardl](https://avatars.discourse-cdn.com/v4/letter/d/58956e/32.png) [@daMardl](https://forum.shopware.com/u/daMardl)
#### Post date: [20. Januar 2018 um 22:46 UTC](https://forum.shopware.com/t/domain-url-in-einer-js-datei/43475/5 "2018-01-20T22:46:02Z")

</div>

> [@Shyim schrieb:](https://forum.shopware.com/profile/20792/Shyim "Shyim")
> 
> window.controller.register.replace(‚register‘, ‚kontakt‘);
> 
> Simple und einfach ![:D](https://dub1.discourse-cdn.com/flex013/resources/emoji/lol.png ":D")

Sehr einfacher Ansatz von Shyim&nbsp; ![Grin](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/grin.png "Grin")

Ich mache es immer auf die Art, dass ich mir einen eigenen DatenLayer für die Variablen mache. Diese kann ich dann überall verwenden (z.B. auch im Script).

Beispiel mit meinem Plugin „MyPlugin“:

eine index/header.tpl anlegen mit folgenden Inhalt

```
{extends file="parent:frontend/index/header.tpl"}

{block name="frontend_index_header_javascript_tracking"}
	{$smarty.block.parent}
	
        var myPluginDataLayer = {ldelim}
            'url': '{url controller="myPlugin" action="ajaxSaveTheWorld"}',
            'message': 'World is saved'
			{rdelim};
	
{/block}

```

Anschließend verwende ich die Daten in meinem JS-Script. Beispiel:

```
.....
    if (window['myPluginDataLayer'] === undefined) {
        return;
    }
    $.ajax({
        'url': myPluginDataLayer.url+ getBy,
        'success': function (result) {
            alert(myPluginDataLayer.message)
        },
        'error': function (e, error) {
            console.log('error', e, error);
        }
    });
......

```

Natürlich nur ein kleines Beispiel. Aber ich denke als ein Anhaltspunkt sollte es helfen. und Somit erstellt Shopware für mich auf jeden Fall die URL richtig.

Somit kann ich auch Einstellungen aus den Backend mit übergeben, aber das ist eine andere Geschichte 😉

Gruß  
daMardl
