# Controller - ein einfaches Rechenbeispiel

**URL:** <https://forum.shopware.com/t/controller-ein-einfaches-rechenbeispiel/47875>\
**Category:** Shopware Academy\
**Tags:** shopware-das-handbuc\
**Created:** [28. August 2017 um 09:57 UTC](https://forum.shopware.com/t/controller-ein-einfaches-rechenbeispiel/47875 "2017-08-28T09:57:18Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![hoppler](https://avatars.discourse-cdn.com/v4/letter/h/b487fb/32.png) [@hoppler](https://forum.shopware.com/u/hoppler)\
**Post date:** [29. August 2017 um 10:42 UTC](https://forum.shopware.com/t/controller-ein-einfaches-rechenbeispiel/47875/8 "2017-08-29T10:42:20Z")

</div>

Hallo Patrick,

nachfolgendes ist etwas verwirrend:

> Zusammenfassend: Die Templates&nbsp;für deine indexAction / addAction müssen hier liegen: \ **MeinController** \Views\frontend\mein\_controller\ und dort dann jeweils&nbsp; **index.tpl** &nbsp;und&nbsp; **add.tpl.**

Soll \*_\MeinController\*_ das Pluginverzeichnis sein?

Was habe ich nun anders gemacht?

Ich habe die Ordnerstrucktur geändert:

**/Mein\_Plugin/Bootstrap.php**

**/Mein\_Plugin/Controllers/Frontend/MeinController.php**

**/Mein\_Plugin/Views/frontend/mein\_controller/index.tpl**

**/Mein\_Plugin/Views/frontend/mein\_controller/add.tpl**

&nbsp;

Hier noch einmal der Controller:

```
View()->addTemplateDir(dirname( __FILE__ ) . "/../../Views/");
        }

		 public function indexAction()
        {
		 $this->View()->loadTemplate("frontend/mein_controller/index.tpl");	
		}
		
		public function addAction(Enlight_Controller_ActionEventArgs $args)
		{
			$request = $this->Request();
			$view = $this->View();
			$myNumber = (int)$request->getParam('myNumber', 0);
			$result = $myNumber + 10;
			$view->assign('result', $result);
		}
}

```

**Lasse ich die indexAction weg, geht gar nichts mehr - es wird nur die Startseite angezeigt.**

index.tpl:

```
{extends file="frontend/index/index.tpl"}
{block name="frontend_index_content"}

    {s name='SitemapHeader'} Rechenbeispiel{/s}

Bitte geben Sie eine Zahl ein

	 
	 
        
		Rechnen
        
    

{/block}

```

und meine add.tpl:

```
{block name="frontend_index_content" append}

Ergebnis: {$result} 

{/block}

```

&nbsp;

Wenn ich mir nun den Aufruf des Controllers anschaue, dann habe ich jetzt einen Fehler:

GET [http://localhost/sh530/meincontroller](http://localhost/sh530/meincontroller) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; [HTTP/1.0 500 Internal Server Error 2949ms]

Es wird mir zwar das Rechenbeispiel angezeigt und ich kann auch ein Ergebnis anfordern, doch wenn ich das Ergebnis holen will, dann kommt:

> Invalides Formular-Token!
> 
> Die Aktion konnte aufgrund eines invaliden Formular-Tokens nicht durchgeführt werden.  
> Ein neues Token wurde bereits generiert.
> 
> Bitte gehen Sie in Ihrem Browser eine Seite zurück und starten die Aktion erneut.
> 
> [Zurück zur vorherigen Seite](http://localhost/sh530/meincontroller)

Die Adresse im Browser:

[http://localhost/sh530/meincontroller/add](http://localhost/sh530/meincontroller/add)

Der Fehler in der Konsole wird auch noch angezeigt.

&nbsp;

Was mich auch wundert:

Der Controller wird mit GET aufgerufen, doch die Daten (die Zahl) werden mit POST übermittelt - liegt da eventuell der Fehler?

&nbsp;

Es tut mir Leid, dass ich anfange zu nerven - ich möchte doch nur das es funktioniert und ich endlich darauf aufbauen kann.

&nbsp;

---

_[View the full topic](https://forum.shopware.com/t/controller-ein-einfaches-rechenbeispiel/47875)._
