2016-04-10 20 views
0

私はuni用のプロジェクトを行い、その一部として一部のページを翻訳しており、RTLでそれらを必要としています。PHP:Zend Form要素のラベルを要素の右側に配置

これらのテキストフィールドは、別のファイルのクラスで宣言されています。

呼び出しページをRTL([html dir='rtl']を使用)に設定すると、すべての要素がページの右側に移動しましたが、テキスト要素のラベルは左になり、ページ。

[html dir='rtl']をこのファイルに使用しても効果はありません。私は、テキスト要素の右側にラベルを移動するにはどうすればよい

$keywords = new Zend_Form_Element_Text('keywords' , array('size' => '30')); 
$keywords->setLabel('Keywords from Abstract') 
->addFilter('StripTags') 
->addFilter('StringTrim') 
->setDescription('Enter one or more keywords, separated by whitespace.') 
; 

// Definition of additional (almost identical) elements 

$this->addElements(array(..., $keywords , ...)); 

$this->setDecorators(array(
'FormElements',  
array('HtmlTag', array('tag' => 'dl', 'class' => 'search')), 
array('Description', array('placement' => 'prepend')), 
'Form' 
)); 

これらはコードの関連部分(と思う)ですか?

私は最後の行を変更して 'placement' => 'append'と言いましたが、何も変更されていないようです。事前に

おかげ

答えて

0
あなたは、このよう labelデコレータの位置を変更することができ

:私はラベルを変更しようとしました

form dd {display: inline-block; width: 60%;} 
form dt {display: inline-block; width: 35%;} 
+0

:正しい形式の出力の変更スタイルより

$decorator = $keywords->getDecorator('Label'); if ($decorator) $decorator->setOption('placement', Zend_Form_Decorator_Abstract::APPEND); 

をあなたが言ったようにプレースメントを配置するだけですが、テキストボックスの下にラベルを置きます(そして、それでもなお左に揃えます)。 また、最後に追加した2行についてはわかりません。どこに置くの? –

+0

最後の2行はスタイルで、スタイルは ' ' –

関連する問題