Zend Framework 2 наследует переменные от родительского представления

У меня есть следующий код, который возвращает представление с подвидом. Как видно, подпредставление повторяет переменную $form и массив &fields, дублируя передачу переменных в представление.

Как я могу наследовать userProfileInformationView эти переменные от responseView и вводить их только в responseView?

    $responseView = new ViewModel();
    $responseView->setVariables(array(
        'form' => $form,  
        'fields' => $fields,  
        'userType' => $userType,                
    ));
    $responseView->setTemplate('templates/logged_user_profile');
    $responseView->setTerminal(true);
    $userProfileInformationView = new ViewModel();
    $userProfileInformationView->setTemplate('templates/logged_user_profile_information');
    $userProfileInformationView->setVariables(array(
        'form' => $form,  //I don't want this
        'fields' => $fields,  //I don't want this
    ));
    $responseView->addChild($userProfileInformationView, 'userProfileInformation');     
    return $responseView;

person josepmra    schedule 09.05.2013    source источник


Ответы (1)


Я знаю только один способ закодировать это:

    <?php
    $responseView = new ViewModel();
    $responseView->setVariables(array(
        'form' => $form,  
        'fields' => $fields,  
        'userType' => $userType,                
    ));
    $responseView->setTemplate('templates/logged_user_profile');
    $responseView->setTerminal(true);
    $userProfileInformationView = new ViewModel();
    $userProfileInformationView->setTemplate('templates/logged_user_profile_information');

    $userProfileInformationView->setVariables($responseView->getVariables());

    $responseView->addChild($userProfileInformationView, 'userProfileInformation');     
    return $responseView;
    ?>
person Remi Thomas    schedule 10.05.2013