繁体   English   中英

在Zend框架上提交问题

[英]Issue with the submit on zend framework

我没有看到“提交”按钮上的图标,我在文件.php执行此代码:

$submit = new Zend_Form_Element_Submit('submit');
    $submit ->setLabel(Zend_Registry::get('Zend_Translate')->translate('Send'))
            ->setDecorators(array(
       array( array( 'inner' => 'HtmlTag' ), array( 'tag' => 'i', 'class' => 'icon-arrow-right' ) ),
       array( array( 'wrapper' => 'HtmlTag' ), array( 'tag' => 'span', 'class' => 'add-on', 'id' => 'login') ),
       array('ViewHelper', array('placement' => 'prepend')),
       'Errors',
       array('FormErrors', array('placement'=>'default')) , 
    ));

和文件.phtml

<?php echo $this->element->submit->renderViewHelper(); ?>

而且它不起作用,我看到没有css icon-arrow-right的只是按钮而不是图标

提前致谢

Submit元素从setLabel获取其值(文本o按钮),而setValue中的值将被忽略。 另外,您不能将HTML( <span class="add-on" id="login"><i class="icon-arrow-right" ></i></span> )用作HTML属性的值。

使用CSS设置提交按钮的样式。 您可以执行以下操作: http : //jsfiddle.net/nsU6e/1/

如果您真的不想使用简单的CSS并想更改标记,则需要使用Decorators 像这样:

$submit->setLabel(Zend_Registry::get('Zend_Translate')->translate('Send'))
       ->setDecorators(array(
           array( array( 'inner' => 'HtmlTag' ), array( 'tag' => 'i', 'class' => 'icon-arrow-right' ) ),
           array( array( 'wrapper' => 'HtmlTag' ), array( 'tag' => 'span', 'class' => 'add-on', 'id' => 'login') ),
           array('ViewHelper', array('placement' => 'prepend')),
           'Errors',
           array('FormErrors', array('placement'=>'default')) , 
        ));

另一个更新:

您可以尝试:

$submit->setLabel(Zend_Registry::get('Zend_Translate')->translate('Send'))
        ->setAttrib('class','add-on')
        ->setAttrib('id','login')
       ->setDecorators(array(
           'ViewHelper',
           array( array( 'inner' => 'HtmlTag' ), array( 'tag' => 'i', 'class' => 'icon-arrow-right', 'placement' => 'append' ) ),
           'Errors',
           array('FormErrors', array('placement'=>'default')) , 
        ));

或更简单(但需要更改CSS):

$submit = new Zend_Form_Element_Submit('submit');
$submit ->setLabel(Zend_Registry::get('Zend_Translate')->translate('Send'))
        ->setAttrib('class','btn_submit');

和CSS像这样:

.btn_submit{
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  border: 2px solid lightskyblue;
  border-radius: 4px;
  background: #0ca6d9 url('/img/myarrow.png') 95% 50% no-repeat;
  padding: 5px 20px;
  color: white;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM