Neue Seite im Kundenbereich

Guten Tag,

ich möchte in den Kundenbereich eine neue Seite hinzuprogrammieren. Sie soll in der Navigation (Sofortdownloads, etc…) angezeigt werden. Wie kann in diese Navigation ein Link/eine Seite hinzugefügt werden und wie füge ich eine “Seite” als solche hinzu (man bedenke URL, etc…)?

~ byDunkman

Plugin schreiben und auf einen neuen Controller registrieren. Dann kannst du entsprechend den Content in einer eigenen tpl zusammenstellen und in die Shopseite integrieren sobald der Controller aufgerufen wird. (Bsp. http://deinShop.de/DeinController.

Das mit der Navigation ist eine gute Frage, hattest du hier schon mal geschaut, ob etwas Ähnliches im Forum schon mal besprochen wurde? Ich gehe mal stark davon aus, dass du dich da auch irgendwie einklinken kannst, nur wo genau kann ich aus dem Stehgreif auch nicht sagen.

Hallo, ja. Ich habe den Link nun hinzugefügt.

Wenn ich jetzt allerdings das View meines neuen Controllers schreibe, funktioniert folgender Abschnitt nicht:

{extends file="parent:frontend/account/sidebar.tpl"}

Jegliche Anpassungen des “index”-Views funktionieren. Alle anderen HTML-Elemente werden angezeigt. Die Account-Sidebar allerdings nicht.
Wie kann ich den den neuen Controller grafisch “in das Kundenprofil einbetten”? Wie lade ich die Kundenkonto-Sidebar rein, sodass sie angezeigt wird?

~ byDunkman

Hast du die Datei vielleicht nicht im richtigen Verzeichnis abgelegt, bzw. beim falschen tpl angesetzt? Das würde erklären weshalb es keine Auswirkungen zeigt.

Wieso in falschen Verzeichnis? Ich importiere doch die Template-Datei von Shopware.

Das Template wird ja - wie schon gesagt - auch benutzt. Ich habe Debugging-Tests mit „h1“-Elementen gemacht. Nur wird etwaige Template-Datei nicht importiert. Andere Dateien können importiert werden.

Es wäre wesentlich leichter wenn du deine Orderstruktur, deine Subscriber und Controller posten würdest :slight_smile:

Basiert dein Plugin auf dem neuen Plugin System?

Wie importierst du denn die Template-Datei?

Lg

 

 

1 „Gefällt mir“

Okay.

Das hier ist die Ornder-Struktur: http://prntscr.com/h265ru

Auftragsprogrammierung.php

Bootstrap.php:

class Shopware_Plugins_Frontend_IndividualProgramming_Bootstrap
    extends Shopware_Components_Plugin_Bootstrap {

    public function getInfo()
    {
        return [
            'version' => 1.0,
            'author' => 'xy',
            'label' => 'IndividualProgramming'
        ];
    }

    public function install()
    {
        $this->subscribeEvent(
            'Enlight_Controller_Action_PreDispatch_Frontend_Account',
            'onActionPreDispatchFrontendAccount'
        );

        $this->registerController('Frontend', 'Auftragsprogrammierung');
        return true;
    }

    public function onActionPreDispatchFrontendAccount(Enlight_Event_EventArgs $args)
    {
        /** @var \Enlight_Controller_Action $controller */
        $controller = $args->getSubject();
        $view = $controller->View();

        if ($view->hasTemplate()) {
            $view->addTemplateDir($this->Path() . 'Views/');
            $view->extendsTemplate('frontend/IndividualProgramming/menuitem.tpl');
        }
    }


}

Resultat: http://prntscr.com/h26821

Eine Antwort wäre super!

~ byDunkman

So, die Sitebar habe ich jetzt implementiert. Die Frage ist jetzt nur, wie ich den rechten Inhalt der Seite beschreibe: https://image.prntscr.com/image/CBrYwsMoT3SpL0CRERQN9Q.png

Das Wort “test” rechts ist nämlich nicht richtig formatiert. Ich denke mal, dass klar es, was “richtig” formatiert bedeutet? (Siehe Kundenkonto)

Ich habe immer noch keine Antwort gefunden.

Gibt es keine Person, die eine Antwort auf meine Frage kennt? Auch kein Shopware-Entwickler?

Hallo byDunkman,

ich verstehe deine Frage nicht wirklich. Jedes Seite im “Mein Konto”-Bereich hat doch eine rechte Seite. Schau doch einfach im SourceCode im Browser, wie der rechte Teil aufgebaut ist. Das ist doch alles nur HTML.  Wink

Wenn das wirklich das Problem ist, gibt es im Internet tausend HTML + Less Guides. 

Viele Grüße

Hallo,

nein leider ist das bei mir so nicht möglich. Wenn ich nämlich den Source-Code des „frontend_index_content“ einfach innerhalb des ’

’ kopiere und einfüge, dann passiert das hier: http://prntscr.com/hzjqik

~ byDunkman

Das sind alles css Probleme. Schau dir mal die html container der anderen Module an und untersuche deren css.

viele Grüße 

Hallo,

„Das sind alles css Probleme“
-> Das denke ich eig. nicht, da das Kundenkonto genau so aufgebaut ist… :confused:

„der anderen Module“
-> Welcher anderen Module?

Aber dennoch vielen vielen Dank für die Antwort.

~ byDunkman

Wenn ich dich richtig verstanden habe: inhaltlich ist doch alles ok - die Optik ist lediglich falsch. Anscheinend hat dein rechter context 100% Breite und fällt daher unter die sidebar. Also schau dir dein HTML zb mit den Chrome Entwicklertools an.

Mit “anderen Modulen” meinte ich alle anderen Elemente in der account sidebar - also zb Bestellungen, Adressen, Merkzettel etc

Viele Grüße