# CLI: Erstellen eine absoluten URL zu einem Controller/Action

**URL:** https://forum.shopware.com/t/cli-erstellen-eine-absoluten-url-zu-einem-controller-action/38978
**Category:** Programmierung
**Created:** [11. August 2016 um 10:42 UTC](https://forum.shopware.com/t/cli-erstellen-eine-absoluten-url-zu-einem-controller-action/38978 "2016-08-11T10:42:19Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Synonymous](https://avatars.discourse-cdn.com/v4/letter/s/57b2e6/32.png) [@Synonymous](https://forum.shopware.com/u/Synonymous)
#### Post date: [11. August 2016 um 10:42 UTC](https://forum.shopware.com/t/cli-erstellen-eine-absoluten-url-zu-einem-controller-action/38978/1 "2016-08-11T10:42:19Z")

</div>

Hi,

Ich brauche für ein **Plugin** über das **CLI** die Möglichkeit, eine **absolute Shop URL anhand der Angabe von Controller & Action** zu erhalten.  
Dazu gehe ich wie folgt vor.

```
$url = Shopware()->Front()->Router()->assemble(array('controller' => 'search', 'action' => 'index'));

```

Das führt zu folgendem Ergebnis:  
**[http://localhost/search](http://localhost/search)**

Der Pfad („search“) wird korrekt gebildet aber weder Protokoll noch Host stimmen. Korrekt wäre:

**[https://www.shop.com/search](https://www.shop.com/search)**

Soweit ich mich erinnern kann, liegt das daran, dass das **CLI den Shop-Context nicht kennt**. D.h. es kennt auch die Konfiguration für Host etc. nicht. Und es gibt eine Methode, mit der man im CLI den Shop-Context setzen kann, aber mir will es absolut nicht einfallen und finden konnte ich dazu auch nicht.

Hat jemand einen Tipp für mich?  
LG

---

<div class="post-metadata">

### Author: ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)
#### Post date: [11. August 2016 um 12:27 UTC](https://forum.shopware.com/t/cli-erstellen-eine-absoluten-url-zu-einem-controller-action/38978/2 "2016-08-11T12:27:53Z")

</div>

Hi Synonymous,

schau mal hier:&nbsp;[https://forum.shopware.com/discussion/39417/resource-shop-not-found-failure-in-console-plugin](https://forum.shopware.com/discussion/39417/resource-shop-not-found-failure-in-console-plugin)&nbsp; ![Wink](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/b3785da0cbf2c8566cb535dcf55b2730b5224899.png "Wink")

Viele Grüße aus Schöppingen

![cool](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "cool")&nbsp;Michael Telgmann

---

<div class="post-metadata">

### Author: ![Synonymous](https://avatars.discourse-cdn.com/v4/letter/s/57b2e6/32.png) [@Synonymous](https://forum.shopware.com/u/Synonymous)
#### Post date: [11. August 2016 um 12:40 UTC](https://forum.shopware.com/t/cli-erstellen-eine-absoluten-url-zu-einem-controller-action/38978/3 "2016-08-11T12:40:58Z")

</div>

HI Michael,

Danke für die Antwort. Das hatte ich gesucht. Jedoch löst es mein Problem mit dem Erzeugen der URL noch nicht.  
Genaugenommen sind es zwei Probleme:

1. **Bootstrap() ist bereits als deprecated gekennzeichet** - gibt es hier eine Alternative?
2. Die URL die ich mit der assemble() Methode des Routers erzeuge **zeigt nach wie vor auf localhost** und ignoriert meine Shop Instanz

Hier der entsprechende Ausschnitt:

```
$repository = Shopware()->Models()->getRepository('Shopware\Models\Shop\Shop');
$shop = $repository->getActiveById(1);
$shop->registerResources(Shopware()->Bootstrap());

// Get URL for search
$url = Shopware()->Front()->Router()->assemble(array('controller' => 'search', 'action' => 'index'));

// Returns http://locahlhost/search?sSearch=searchterm 
// instead of https://www.shop.com/search?sSearch=searchterm
return 'Search';

```

Hast Du vielleicht noch einen Tipp für mich?

Danke & LG

&nbsp;

---

<div class="post-metadata">

### Author: ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)
#### Post date: [11. August 2016 um 13:02 UTC](https://forum.shopware.com/t/cli-erstellen-eine-absoluten-url-zu-einem-controller-action/38978/4 "2016-08-11T13:02:34Z")

</div>

Hi Synonymous,

ab Shopware 5.2 braucht die Methode registerResources() keine Parameter mehr. Im oben genannten Thread wurde noch 5.1.x verwendet.&nbsp;

Versuche mal folgendes:

```
$repository = Shopware()->Container()->get('models')->getRepository('Shopware\Models\Shop\Shop');
$shop = $repository->getActiveById(1);
$shop->registerResources();
$context = Context::createFromShop($shop, Shopware()->Container()->get('config'));
Shopware()->Container()->get('router')->setContext($context);

```

Viele Grüße aus Schöppingen

![cool](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "cool")&nbsp;Michael Telgmann
