What are the Slack Archives?

It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.

Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..

This I have done inside src/Pyz/Zed/Customer/Communication/Form/CutomerForm.php . I want to add favo

U04TM8FELSF
U04TM8FELSF Posts: 34 πŸ§‘πŸ»β€πŸš€ - Cadet

This I have done inside src/Pyz/Zed/Customer/Communication/Form/CutomerForm.php . I want to add favourite color field in form but it is not appearing .

Comments

  • Alberto Reyer
    Alberto Reyer Posts: 690 πŸͺ - Explorer

    Have you extended the \Spryker\Zed\Customer\Communication\CustomerCommunicationFactory::createCustomerForm method in your project code to use the CustomerForm from the project?

  • U04TM8FELSF
    U04TM8FELSF Posts: 34 πŸ§‘πŸ»β€πŸš€ - Cadet

    no

  • Alberto Reyer
    Alberto Reyer Posts: 690 πŸͺ - Explorer

    Then please do this and it will work πŸ˜‰

  • U04TM8FELSF
    U04TM8FELSF Posts: 34 πŸ§‘πŸ»β€πŸš€ - Cadet

    in the same file i have to extend it ?

  • U04TM8FELSF
    U04TM8FELSF Posts: 34 πŸ§‘πŸ»β€πŸš€ - Cadet

    actually i am new in spryker so i have no idea about CustomerCommunicationFactory::createCustomerForm

  • Alberto Reyer
    Alberto Reyer Posts: 690 πŸͺ - Explorer
    <?php
    
    namespace Pyz\Zed\Customer\Communication;
    
    use Pyz\Zed\Customer\Communication\Form\CustomerForm;
    
    use Spryker\Zed\Customer\Communication\CustomerCommunicationFactory as SprykerCustomerCommunicationFactory;
    
    class CustomerCommunicationFactory extends SprykerCustomerCommunicationFactory
    {
        /**
         * @param array<string, mixed> $data
         * @param array<string, mixed> $options
         *
         * @return \Symfony\Component\Form\FormInterface
         */
        public function createCustomerForm(array $data = [], array $options = [])
        {
            return $this->getFormFactory()->create(CustomerForm::class, $data, $options);
        }
    }
    
  • Alberto Reyer
    Alberto Reyer Posts: 690 πŸͺ - Explorer

    Creating an object from a class in Spryker always happens in a factory (except Transfers, that's a different story).
    So when you want to replace any class with a project implementation of that class you need to extend the class from Spryker and find the according factory method where the object is created from the class to overwrite this as well

  • U04TM8FELSF
    U04TM8FELSF Posts: 34 πŸ§‘πŸ»β€πŸš€ - Cadet

    okay . thank you 😊

  • fsmeier
    fsmeier Senior Software Engineer & Developer Enablement Advocate Sprykee Posts: 1,051 βš–οΈ - Guardians (admin)

    Hey @U04TM8FELSF,
    have a look at our free elearnings @ academy.spryker.com - In one of the StepByStep guides it is shown how to extend a profile form in Yves. It works exactly the same (just different namespaces) for Zed

  • U04TM8FELSF
    U04TM8FELSF Posts: 34 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited March 2023

    hey @florian.scholz I want to insert mobile number inside user table in zed layer .
    So i need to extend transfer object for that first . how can i extend transfer object in project level

  • fsmeier
    fsmeier Senior Software Engineer & Developer Enablement Advocate Sprykee Posts: 1,051 βš–οΈ - Guardians (admin)

    Same step-by-step guide i mentioned before will also extend the customer-table and DTO πŸ™‚