Controller - ein einfaches Rechenbeispiel

Moin @hoppler‍ !

Ich habe mir gerade das Plugin einmal angesehen.
Danke dir für die Zusendung.

Also, den 500 Fehler bekommst du aus einem unscheinbaren Grund:
In deiner index.tpl verlinkst du deinen Frontend Controller komplett kleingeschrieben, also so:

{url controller='meincontroller' action='add'}

Das hat zur Folge, dass er auch die Url so kleingeschrieben aufruft:
meinShop.de/meincontroller/add

Warum ist das nun ein Problem?
Falls du dich erinnerst, habe ich dir gesagt, dass du deine Template Dateien  index.tpl  und  add.tpl  in dem Ordner  mein_controller  ablegen sollst.
Die Begründung war, weil Shopware aus MeinController, also aus der Camel-Case Schreibweise, die Worte auftrennt und sie per Snake-Case verbindet.
Somit würde aus MeinController => mein_controller werden.
Da du aber alles klein geschrieben hast, kann er die Worte nicht unterscheiden und erwartet dann die o.g. Template Dateien in dem Ordner Views/frontend/meincontroller.

Die Lösung: Den Aufruf deines Controllers in deinem Template auch per CamelCase geschehen lassen. :slight_smile:

Darüber hinaus:

  1. Lass deine indexAction einfach komplett leer - das funktioniert auch. Das Template musst du da nicht händisch laden

  2.  In deiner add.tpl hast nur einen Block, der appenden soll. Das funktioniert nicht.
    Warum?
    Wenn du an einem Block ein „append“ oder „prepend“ anhängst, implizierst du Smarty ja, dass es einen „Original“-Block gibt, an den du dich hängen willst.
    Nur woher kommt dieser originale Block?
    In deiner ersten Zeile fehlt also ein „extends“, so wie du das schon in der index.tpl gemacht hast.
    Also:

    {extends file=„parent:frontend/index/index.tpl“}

    {block name=„frontend_index_content“ append}

        Rechenbeispiel
    
    
    Ergebnis: {$result} 
    

    {/block}

Hilft dir das weiter?

Gruß,
Patrick  Shopware