2017-01-15 7 views
1

У меня есть приложение ZF2. Я хочу интегрировать его в Metronic Template, потому что это красивый и профессиональный шаблон. В приложении ZF2 есть внутренний каталог Controller, Form и Model: module \ application \ src \ application.Интеграция Metronic Template в приложение ZF2

Формы обрабатываются в форме, и мы просто называем его из поля зрения, то есть:

echo $this->form()->openTag($form); 
echo $this->formLabel($form->get('email')); 
echo $this->formElement($form->get('email')); 

echo $this->formLabel($form->get('password')); 
echo $this->formElement($form->get('password')); 

echo $this->form()->closeTag(); 

Однако в формах «Metronic» обрабатываются в поле зрения, то есть:

<form class="login-form" action="index.html" method="post"> 
<div class="form-group"> 
     <label class="control-label visible-ie8 visible-ie9">Username</label> 
     <div class="input-icon"> 
      <i class="fa fa-user"></i> 
      <input class="form-control placeholder-no-fix" type="text" autocomplete="off" placeholder="Username" name="username"/> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="control-label visible-ie8 visible-ie9">Password</label> 
     <div class="input-icon"> 
      <i class="fa fa-lock"></i> 
      <input class="form-control placeholder-no-fix" type="password" autocomplete="off" placeholder="Password" name="password"/> 
     </div> 
    </div> 
</form> 

Итак, когда Я делаю это как «Metronic», тогда нет необходимости использовать форму внутри модуля каталога ZF2 \ application \ src \ application. Это противоречит правилам ZF2? Или как мне это сделать, чтобы интегрировать этот шаблон. Дайте свои предложения, пожалуйста.

ответ

0

Zend Framework 2 и в еще большей степени 3 являются модульными. Нет жестких правил. Если вы хотите использовать только часть MVC, то вы можете. Если вы чувствуете, что извлечете выгоду из модуля формы, вы можете его использовать.

Если вы только собираетесь использовать определенные части рамки убедитесь, что вы не тянете вниз дополнительная зависимость, включая только части вам требуется в вашем файле composer.json, т.е.

Хорошо: composer.json

"require": { 
     "php": "^5.6 || ^7.0", 
     "zendframework/zend-component-installer": "^1.0 || ^0.3 || ^1.0.0-de[email protected]", 
     "zendframework/zend-skeleton-installer": "^1.0 || ^0.1.3 || ^[email protected]", 
     "zendframework/zend-mvc": "^3.0.1", 
     "zfcampus/zf-development-mode": "^3.0" 
}, 

Bad: composer.json

"require": { 
     "php": "^5.6 || ^7.0", 
     zendframework/zendframework 
    }, 

Если вы хотите использовать модуль формы вы можете сделать это, написав у вас есть форма Помощники кл ослы и их регистрация, как это:

public function getViewHelperConfig() { 
    return array(
     'invokables' => array(
      'element' => 'YourNamespace\Form\View\Helper\MetronicElement', 
     ),     
    ); 
} 

Я ничего о Metronic так неуверенного не знаю, если это было бы полезно/выполнимо. Также не уверен, насколько это будет работать, но это позволит вам установить правильную структуру и атрибуты для HTML.