Zend framework2 将Metronic模板集成到ZF2应用程序中

Zend framework2 将Metronic模板集成到ZF2应用程序中,zend-framework2,metronic,Zend Framework2,Metronic,我有ZF2应用程序。我想将它集成到Metronic模板中,因为它是一个好看的专业模板。在ZF2应用程序中,目录中有控制器、表单和模型: 模块\应用程序\ src\应用程序 表单是在表单中处理的,我们只是从视图中调用它,即: echo $this->form()->openTag($form); echo $this->formLabel($form->get('email')); echo $this->formElement($form->get('emai

我有ZF2应用程序。我想将它集成到Metronic模板中,因为它是一个好看的专业模板。在ZF2应用程序中,目录中有控制器、表单和模型: 模块\应用程序\ src\应用程序

表单是在表单中处理的,我们只是从视图中调用它,即:

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();
<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”中,表格是在视图中处理的,即:

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();
<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目录module\application\src\application中使用表单。这是否违反了ZF2的规则?或者我应该如何集成此模板。请给出您的建议。

Zend Framework 2和更大程度上的Zend Framework 3是模块化的。没有硬性规定。如果只想使用MVC部件,则可以。如果您觉得可以从表单模块中获益,那么您可以使用它

如果您只打算使用框架的某些部分,请确保您没有通过仅在composer.json文件中包含所需的部分来删除其他依赖项,即

好:composer.json

    "require": {
        "php": "^5.6 || ^7.0",
        "zendframework/zend-component-installer": "^1.0 || ^0.3 || ^1.0.0-dev@dev",
        "zendframework/zend-skeleton-installer": "^1.0 || ^0.1.3 || ^1.0.0-dev@dev",
        "zendframework/zend-mvc": "^3.0.1",
        "zfcampus/zf-development-mode": "^3.0"
},
    "require": {
        "php": "^5.6 || ^7.0",
        zendframework/zendframework
    },
错误:composer.json

    "require": {
        "php": "^5.6 || ^7.0",
        "zendframework/zend-component-installer": "^1.0 || ^0.3 || ^1.0.0-dev@dev",
        "zendframework/zend-skeleton-installer": "^1.0 || ^0.1.3 || ^1.0.0-dev@dev",
        "zendframework/zend-mvc": "^3.0.1",
        "zfcampus/zf-development-mode": "^3.0"
},
    "require": {
        "php": "^5.6 || ^7.0",
        zendframework/zendframework
    },
如果确实要使用表单模块,可以编写自己的表单视图帮助器类并按如下方式注册它们:

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

我对Metronic一无所知,因此不确定这是否有用/可行。也不确定这将是多少工作,但它将允许您为HTML设置和创建正确的结构和属性

Zend Framework 2和更大程度上的Zend Framework 3是模块化的。没有硬性规定。如果只想使用MVC部件,则可以。如果您觉得可以从表单模块中获益,那么您可以使用它

如果您只打算使用框架的某些部分,请确保您没有通过仅在composer.json文件中包含所需的部分来删除其他依赖项,即

好:composer.json

    "require": {
        "php": "^5.6 || ^7.0",
        "zendframework/zend-component-installer": "^1.0 || ^0.3 || ^1.0.0-dev@dev",
        "zendframework/zend-skeleton-installer": "^1.0 || ^0.1.3 || ^1.0.0-dev@dev",
        "zendframework/zend-mvc": "^3.0.1",
        "zfcampus/zf-development-mode": "^3.0"
},
    "require": {
        "php": "^5.6 || ^7.0",
        zendframework/zendframework
    },
错误:composer.json

    "require": {
        "php": "^5.6 || ^7.0",
        "zendframework/zend-component-installer": "^1.0 || ^0.3 || ^1.0.0-dev@dev",
        "zendframework/zend-skeleton-installer": "^1.0 || ^0.1.3 || ^1.0.0-dev@dev",
        "zendframework/zend-mvc": "^3.0.1",
        "zfcampus/zf-development-mode": "^3.0"
},
    "require": {
        "php": "^5.6 || ^7.0",
        zendframework/zendframework
    },
如果确实要使用表单模块,可以编写自己的表单视图帮助器类并按如下方式注册它们:

public function getViewHelperConfig() {
    return array(
        'invokables' => array(
            'element' => 'YourNamespace\Form\View\Helper\MetronicElement',
        ),                
    );
}
我对Metronic一无所知,因此不确定这是否有用/可行。也不确定这将是多少工作,但它将允许您为HTML设置和创建正确的结构和属性