Ankündigung

Einklappen
Keine Ankündigung bisher.

[ZF2 + Doctrine 2] Selbes Fieldet zwei Mal verwenden

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [ZF2 + Doctrine 2] Selbes Fieldet zwei Mal verwenden

    Hallo zusammen,

    hoffe ich bin in diesem Bereich richtig - Ansonsten bitte verschieben.
    Folgendes Problem:

    Ich arbeite gerade mit dem Zend Framework 2 in Verbindung mit Doctrine 2.
    Ich möchte ein Formular erstellen, das zwei Mal dasselbe Fieldset enthält.

    Hintergrund: Ich erstelle ein Formular zum Erstellen von Kontakten.
    Ein Kontakt kann aber zwei Adressen enthalten - Habe die Adressen daher in eine seperate Entity und damit in eine seperate Form ausgelagert.
    Nun muss ich aber logischerweise im Kontaktformular zwei Mal das Fieldset einer Adresse haben.
    Die Fieldset's müssten doch auch voneinander getrennt sein, korrekt?!

    Habe da noch keinen richtigen Ansatz für um ehrlich zu sein.
    Poste mal kurze Codestücke die wohl weiter helfen könnten:


    AddressFieldset.php
    PHP-Code:
    class AddressFieldset extends Fieldset
    {
        protected 
    $objectManager;
        public function 
    __construct(ObjectManager $objectManager)
        {
            
    $this->objectManager $objectManager;
            
    parent::__construct('address');

            
    $this
                
    ->setHydrator(new DoctrineObject($this->objectManager'Contact\Entity\Address'))
                ->
    setObject(new Address())
                ->
    setOptions(array(
                    
    "label" => "Adresse"
                
    ))
            ; 

    ContactFieldset.php (Importieren des AddressFieldset)
    PHP-Code:
            $businessAddressFieldset = new AddressFieldset($objectManager);
            
    $this->add($businessAddressFieldset); 

    ContactForm.php
    PHP-Code:
    $this->add($contactFieldset); 

    und die Ausgabe add.phtml
    PHP-Code:
    $form $this->form;
    $form->prepare();
    $contact $form->get('contact');

    // Funktioniert nicht, da das Fieldset in AddressFieldset.php "address" genannt wurde
    $address $contact->get('businessAddress');

    // Würde funktionieren
    $address $contact->get('address'); 

    Hoffe es ist ungefähr klar geworden was ich möchte.

    EDIT: Gegoogelt habe ich. Nichts hilfreiches gefunden bzw. nur unbeantwortete Fragen in anderen Foren. Freu mich aber logischerweise auch zu Links zu anderen Foren etc.

Lädt...
X