我没有看到提交按钮上的图标 我在文件 .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
提前致谢
最佳答案
提交元素从 setLabel
获取它的值(文本或按钮)和 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;
}
关于php - 关于 zend 框架的提交问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24785062/