# This action only admits post requests

**URL:** https://forum.shopware.com/t/this-action-only-admits-post-requests/52680
**Category:** Programmierung
**Created:** [1. Mai 2018 um 19:22 UTC](https://forum.shopware.com/t/this-action-only-admits-post-requests/52680 "2018-05-01T19:22:03Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![hkdruck](https://avatars.discourse-cdn.com/v4/letter/h/d9b06d/32.png) [@hkdruck](https://forum.shopware.com/u/hkdruck)
#### Post date: [1. Mai 2018 um 19:22 UTC](https://forum.shopware.com/t/this-action-only-admits-post-requests/52680/1 "2018-05-01T19:22:03Z")

</div>

Hallo,

wir haben ein Plugin im Einsatz welches leider nicht mehr vom Entwickler supported wird. Seit dem Update auf 5.4 im Testsystem erhalten wir diesen Fehler:

„This action only admits post requests“

dies liegt scheinbar an folgender Funktion des Plugins, welche einen GET Aufruf erzeugt um einen Artikel dem Warenkorb hinzuzufügen:

```
public static function getCartAddUrl($product_id, $qty = 1, $ajax = 0){
        $url = SHOPWARE_RELATIVE_URL;
        if($product = Shopware()->Models()->find('Shopware\Models\Article\Article', $product_id)){
            if($qty <= 0)$qty = 1;
            $url .= 'checkout/addArticle/sAdd/'.$product->getMainDetail()->getNumber().'/sQuantity/'.$qty;
        }
        return $url;
    }

```

Lässt sich dies vielleicht relativ einfach umbauen? Ich bin da leider nicht so tief drin in diesem Thema, aber Shopware verbietet dies ja nun seit Version 5.4 mittels GET.

Vielen Dank im Vorraus

---

<div class="post-metadata">

### Author: ![ahmadsaad](https://avatars.discourse-cdn.com/v4/letter/a/65b543/32.png) [@ahmadsaad](https://forum.shopware.com/u/ahmadsaad)
#### Post date: [2. Mai 2018 um 17:13 UTC](https://forum.shopware.com/t/this-action-only-admits-post-requests/52680/2 "2018-05-02T17:13:06Z")

</div>

Hallo @hkdruck‍,

ich weiß nicht wo und wer benutzen sie diese url.

aber das Fehler ist klar , anderen SIe die Request Method zu POST.

VG,

&nbsp;

Tel.: +49 755&nbsp;- 183 990 00 | Web:&nbsp;[http://enbit.de/](http://enbit.de/)

---

<div class="post-metadata">

### Author: ![hkdruck](https://avatars.discourse-cdn.com/v4/letter/h/d9b06d/32.png) [@hkdruck](https://forum.shopware.com/u/hkdruck)
#### Post date: [2. Mai 2018 um 18:30 UTC](https://forum.shopware.com/t/this-action-only-admits-post-requests/52680/3 "2018-05-02T18:30:39Z")

</div>

@ahmadsaad‍: diese funktion wird extern benutzt und spielt somit dann ein Produkt in den Warenkorb. Das hier nun eine POST Methode genutzt werden sollte ist mir klar, aber wie lässt sich dies realisieren?

---

<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: [2. Mai 2018 um 18:31 UTC](https://forum.shopware.com/t/this-action-only-admits-post-requests/52680/4 "2018-05-02T18:31:53Z")

</div>

Hallo,

so wie es beispielsweise Shopware beim Legen des Artikels in den Warenkorb macht.

Grüße

Sebastian

---

<div class="post-metadata">

### Author: ![ahmadsaad](https://avatars.discourse-cdn.com/v4/letter/a/65b543/32.png) [@ahmadsaad](https://forum.shopware.com/u/ahmadsaad)
#### Post date: [2. Mai 2018 um 18:34 UTC](https://forum.shopware.com/t/this-action-only-admits-post-requests/52680/5 "2018-05-02T18:34:43Z")

</div>

@hkdruck‍,&nbsp; kannst du das Code , das benutzen&nbsp;getCartAddUrl funktione posten.

wie schicken Sie jetzt die GET Request??

&nbsp;

Tel.: +49 755&nbsp;- 183 990 00 | Web:&nbsp;[http://enbit.de/](http://enbit.de/)

---

<div class="post-metadata">

### Author: ![hkdruck](https://avatars.discourse-cdn.com/v4/letter/h/d9b06d/32.png) [@hkdruck](https://forum.shopware.com/u/hkdruck)
#### Post date: [2. Mai 2018 um 18:51 UTC](https://forum.shopware.com/t/this-action-only-admits-post-requests/52680/6 "2018-05-02T18:51:51Z")

</div>

```
$eventArgs = new \Enlight_Event_EventArgs();
$eventArgs->set('id', 'SW10008');
$eventArgs->set('quantity', '1');
Shopware()->Container()->set('front', new FrontControllerMock());
$basket = new Basket(Shopware()->Container());
$result = $basket->addArticle($eventArgs);

```

geht das hier in die richtige Richtung?

---

<div class="post-metadata">

### Author: ![hkdruck](https://avatars.discourse-cdn.com/v4/letter/h/d9b06d/32.png) [@hkdruck](https://forum.shopware.com/u/hkdruck)
#### Post date: [2. Mai 2018 um 18:56 UTC](https://forum.shopware.com/t/this-action-only-admits-post-requests/52680/7 "2018-05-02T18:56:52Z")

</div>

&nbsp;

> [@ahmadsaad schrieb:](https://forum.shopware.com/profile/24684/ahmadsaad "ahmadsaad")
> 
> @hkdruck‍,&nbsp; kannst du das Code , das benutzen&nbsp;getCartAddUrl funktione posten.
> 
> wie schicken Sie jetzt die GET Request??
> 
> &nbsp;
> 
> Tel.: +49 755&nbsp;- 183 990 00 | Web:&nbsp;[http://enbit.de/](http://enbit.de/)

```
function bay(){
        $id = JRequest::getVar('id');
        $model = JModelLegacy::getInstance('create_product', 'ExpresseditorModel');
        $product_id = $model->buy($id);
        if ($product_id){
            $this->setRedirect(EngineHelper::getCartAddUrl($product_id));
        }
    }

```

hier wird auch nur weitergeleitet

---

<div class="post-metadata">

### Author: ![ahmadsaad](https://avatars.discourse-cdn.com/v4/letter/a/65b543/32.png) [@ahmadsaad](https://forum.shopware.com/u/ahmadsaad)
#### Post date: [2. Mai 2018 um 19:17 UTC](https://forum.shopware.com/t/this-action-only-admits-post-requests/52680/8 "2018-05-02T19:17:02Z")

</div>

Hallo ,

ob du möchstest , nur hinzfügen ein Artikel von Backend.

du kannst diese einfach machen wie so:

```
$basket = Shopware()->Modules()->Basket();
$basket->sAddArticle($ordernumber, $quantity);

```

dann redirect zu wo du möchstest.

VG,

&nbsp;

Tel.: +49 755&nbsp;- 183 990 00 | Web:&nbsp;[http://enbit.de/](http://enbit.de/)

---

<div class="post-metadata">

### Author: ![hkdruck](https://avatars.discourse-cdn.com/v4/letter/h/d9b06d/32.png) [@hkdruck](https://forum.shopware.com/u/hkdruck)
#### Post date: [3. Mai 2018 um 12:02 UTC](https://forum.shopware.com/t/this-action-only-admits-post-requests/52680/9 "2018-05-03T12:02:50Z")

</div>

Hallo,

das scheint nicht zu funktionieren. Ich befinde mich in dem Fall in einem externen Editor, welcher dann das editierte Produkt an den Warenkorb zurückspielen möchte. Das wurde scheinbar immer bisher mittels GET gemacht. Gibt es noch eine andere Möglichkeit? die Übertragung mittels POST durch php an dieser stelle wird Probleme mit CSRF geben, oder?&nbsp;

---

<div class="post-metadata">

### Author: ![ahmadsaad](https://avatars.discourse-cdn.com/v4/letter/a/65b543/32.png) [@ahmadsaad](https://forum.shopware.com/u/ahmadsaad)
#### Post date: [3. Mai 2018 um 14:25 UTC](https://forum.shopware.com/t/this-action-only-admits-post-requests/52680/10 "2018-05-03T14:25:44Z")

</div>

Hallo,

ja, es wirde ein Problem mit CSRF geben.

Entschuldigung aber mit diese Info kann ich dir nicht mehr helfen, vielleicht jemand andere kann.

oder ob gibt ein demo oder ein Url , im kann sehe was ist das Logic mit Ihre Code und wie es funktionert, dann kann ich mehr Hilfe geben.

VG,

&nbsp;

Tel.: +49 755&nbsp;- 183 990 00 | Web:&nbsp;[http://enbit.de/](http://enbit.de/)
