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

时间:2017-01-15 15:35:48

标签: zend-framework2 metronic

我有ZF2应用程序。我想将它集成到Metronic Template中,因为它是漂亮的外观和专业的模板。在ZF2应用程序中,目录中有Controller,Form和Model: 模块\程序\ SRC \应用。

表单以Form形式处理,我们只是从视图中调用它,即:

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>

所以当我这样做的时候就像#34; Metronic&#34;那么就没有必要在ZF2目录模块\ application \ src \ application中使用Form了。是否违反了ZF2的规定?或者我该怎么做才能整合这个模板。请提出你的建议。

1 个答案:

答案 0 :(得分: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-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"
},

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创建正确的结构和属性。