223 Nachrichten unter 71 Themen von 67 Mitgliedern
[SilverStripe Roadmap][Changelog]

Registrieren von Produkten im Log In Bereich (Nicht CMS)

Seite: 1 891 mal gelesen
  • Ente_I
    Ente_I Community Member
    17 Beiträge

    Registrieren von Produkten im Log In Bereich (Nicht CMS)

    Moin Moin zusammen,

    ich bräuchte mal gedankliche Hilfestellung. Versuche gerade ein erweitertes Log In mit verschiedenen Features zu basteln. Neu angelegtes SS 2.4.3. Dabei soll u.a. die Möglichkeit gegeben werden, dass Daten in Form eines User Defined Form hinterlegt werden können. D.h. Member können z.B. eigene Produkte hinterlegen mit Beschreibung, Bildern und Dokumenten. Weiterhin, und das ist mir wichtig, sollen diese Eingaben so abgelegt werden, dass diese vom Ersteller auch editiert werden können. Also Beschreibung, neue Dokumente und Anschrift.

    Da das Rad ja nicht neu erfunden werden muss, war ich auf der Suche nach anpassbaren Modulen. Sehr schön finde ich das Tutorial von ssbits.com Link: http://www.ssbits.com/tutorials/2010/dataobjects-as-pages-part-2-using-model-admin-and-url-segments-to-create-a-product-catalogue/

    Wunderschöne DataObjects Möglichkeit, aber ohne User Defined Form. Nachteil für mich ist, dass diese Eingaben über das CMS laufen. Ich möchte auf keinen Fall, dass registrierte Nutzer Zugriff auf das CMS bekommen und sich gleich überfordert fühlen.

    Habt ihr einen Ansatz für mich, wie ich in einem geschützten Bereich solch ein Produktregister realisieren könnte? Mir fehlt da etwas die Logik.

    Für eure Hilfestellung besten Dank

    Gruß

    Klaus
  • Izeroy
    Community Member
    211 Beiträge

    Re: Registrieren von Produkten im Log In Bereich (Nicht CMS)

    Hallo Klaus,
    also über das userDefinedForm Modul ist dies nicht möglich. Dieses Modul ist dazu da für normale Nutzer einfache Kontaktformulare zu erstellen. Das was du gerne hättest ist etwas umfangreicher und dadurch nicht darüber möglich.

    Im Buch ist eine ähnliche Möglichkeit wie du sie wünschst sehr gut beschrieben. Solltest du das Buch nicht besitzen würde ich dir raten erstmal das Tutorial unter http://doc.silverstripe.org/tutorial:3-forms anzuschauen, dort erfährst du schon mal wie du Formulare in Silverstripe erstellst. Weiterhin solltest du dir dann noch das Tutorial http://doc.silverstripe.org/tutorial:5-dataobject-relationship-management anschauen um mit verschiedenen Relationen von Seiten und DataObjects klarzukommen.

    Als letzter Schritt solltest du dir dann noch diesen Beitrag durchlesen http://doc.silverstripe.org/security um mit der Sicherheitsproblematik in deinem Fall klarzukommen. Sollten danach weitere Fragen bestehen, werde ich versuchen diese zu beantworten.

    Greetz
    Ben

    Weitere Fragen?! Meld dich einfach! MSN: benjamin.buessenschuett@hotmail.de ICQ: 354 848 193 Webseite: www.silverstripe-hilfe.de

  • Ente_I
    Ente_I Community Member
    17 Beiträge

    Re: Registrieren von Produkten im Log In Bereich (Nicht CMS)

    Hi Ben,
    danke für dein Feedback. Ich werde mir die Szenarien mal genau ansehen. Das Buch habe ich. Gelten die Möglichkeiten auch für die Version 2.4.x? Leider war damals keine CD dabei. Ich hab die Rechnung von dem Buch noch, kann man irgendwie an eine Kopie der CD kommen?

    Erste Erfolge stelle ich dann zur diskussion frei.

    Vorab danke für die Links.

    Grüße Klaus
  • Ente_I
    Ente_I Community Member
    17 Beiträge

    Re: Registrieren von Produkten im Log In Bereich (Nicht CMS)

    Hi,
    ich fang mal ganz hinten an. Bin beim Multi Form Modul angekommen.
    Habe jetzt als Übung genau den Anweisungen die 6.4.3 bis 6.4.7 durchgemacht.
    Aber ich habe folgende Fehlermeldungen bei SS 2.3.4 und 2.4.2

    Beim Aufrufen der im CMS erstellten "Registration" bekomme ich

    Fatal error: Access level to RegistrationMultiForm::$start_step must be public (as in class MultiForm) in /var/www/vhosts/meinewebseite.com/httpdocs/mysite/code/RegistrationMultiForm.php on line 3

    Bei dev/build

    Fatal error: Access level to RegistrationDetailsStep::$next_steps must be public (as in class MultiFormStep) in /var/www/vhosts/meinewebseite.com/httpdocs/mysite/code/RegistrationDetailsStep.php on line 17


    Habt ihr ne Hilfe für mich?

    Danke

    Klaus
  • Izeroy
    Community Member
    211 Beiträge

    Re: Registrieren von Produkten im Log In Bereich (Nicht CMS)

    Hallo Klaus,
    bitte gebe uns mal deinen Code von diesem Beispiel.

    Damit können wir eventuell den Fehler finden.

    Greetz
    Ben

    Weitere Fragen?! Meld dich einfach! MSN: benjamin.buessenschuett@hotmail.de ICQ: 354 848 193 Webseite: www.silverstripe-hilfe.de

  • Ente_I
    Ente_I Community Member
    17 Beiträge

    Re: Registrieren von Produkten im Log In Bereich (Nicht CMS)

    Hi Ben,
    mach ich. Danke für die Hilfe. Ich den Code mit der deutschen und englischen Buch Version abgeglichen. Ich find nix???

    RegistrationDetailsStep.php
    <?php
    class RegistrationDetailsStep extends MultiFormStep {
       protected static $next_steps = 'RegistrationReferenceStep';
       function getFields() {
          $fields = singleton('Developer')->getFrontendFields();
          return $fields;
    }

    function getValidator() {
       return new Member_Validator(
          'FirstName',
          'Surname',
          'Email',
          'Password'
       );
    }
    }
    ?>


    RegistrationMultiForm.php
    <?php
    class RegistrationMultiForm extends MultiForm {
       protected static $start_step = 'RegistrationDetailsStep';

    }

    ?>


    RegistrationReferenceStep.php
    <?php

    class RegistrationReferenceStep extends MultiFormStep {
       protected static $is_final_step = true;
       function getFields () {
    $fields = singleton('Reference') ->getFrontendFields();
    return $fields;
    }
    }

    ?>


    RegistrationPage.php
    <?php

    class RegistrationPage extends SiteTree {
    }
    class RegistrationPage_Controller extends Page_Controller {
       function Form() {
          return new RegistrationMultiForm($this, 'Form');

    }
    }

    ?>


    Zuvor MultiForm installiert (ohne Fehlermeldung) v.03
    dann die 4 php Dateien erstellt.
    dev/build?flush=1

    Ab da kommen die Fehlermeldung

    Fatal error: Access level to RegistrationDetailsStep::$next_steps must be public (as in class MultiFormStep) in /var/www/vhosts/meinewebseite.com/httpdocs/mysite/code/RegistrationDetailsStep.php on line 17

    Im CMS Registration erstellt und veröffentlicht. Beim anklicken:

    Access level to RegistrationMultiForm::$start_step must be public (as in class MultiForm) in /var/www/vhosts/meinewebseite.com/httpdocs/mysite/code/RegistrationMultiForm.php on line 3

    Kann es zu Problemen durch andere Module kommen?
    Es muss aber an den 4 Dateien liegen beziehungsweise an dem Verhalten zu MultiForm da ohne diese Dateien keine Fehlermeldung auftritt.

    Danke

    Gruß

    Klaus
  • Izeroy
    Community Member
    211 Beiträge

    Re: Registrieren von Produkten im Log In Bereich (Nicht CMS)

    Hallo Klaus,
    so jetzt hab ich Zeit gefunden mir das anzuschauen ;)

    also ich würde einfach mal dies versuchen:


    ...
    class RegistrationDetailsStep extends MultiFormStep {

    protected public static $next_steps = 'RegistrationReferenceStep';
    ...


    und


    class RegistrationMultiForm extends MultiForm {

    protected public static $start_step = 'RegistrationDetailsStep';



    }


    Greetz
    Ben

    Weitere Fragen?! Meld dich einfach! MSN: benjamin.buessenschuett@hotmail.de ICQ: 354 848 193 Webseite: www.silverstripe-hilfe.de

  • Ente_I
    Ente_I Community Member
    17 Beiträge

    Re: Registrieren von Produkten im Log In Bereich (Nicht CMS)

    Hey Ben,
    danke für deine Zeit.
    Das passt so. Stand ja eigentlich schon in der Fehlermeldung drin. Aber drauf gekommen bin ich nicht.
    Vielen Dank. Fresse mich mal weiter duch das Buch.
    Hab nur paar Probleme mit dem Genericviews Modul. Die Ausgabe ist voll im Arsch. Liegt vielleicht an der sehr alten Version.
    Ich wünsch allen schöne Feiertage

    Klaus

Zur Zeit online: Zur Zeit ist leider niemand online.

Wir begrüßen unsere neuen Mitglieder: saerdna