2017-02-17 4 views
1

私はthis linkに従っています。ZF2でdiv内の入力要素を折り返す方法

ビューでは、私は

echo $this->formRow($product->get('name'));

とソースで、それは

<label>Name of the product<input name="product[name]" required="required" type="text" value=""></label> 

のように見せている。しかし、私はこの

<div><label>Name of the product</label></div> 
<div><input name="product[name]" required="required" type="text" value=""></div> 
ようにしたいを持っています

多分この質問はどこかで尋ねられましたが、私はそれを見つけることができません。

私はphp 5.6を使用しています。

EDIT:

は答えによると、私はthis linkにこのissue.Followingにドキュメントを解決することができました。私はこの

echo "<div>".$this->formLabel($this->get('categories'))."</div>"; 
echo "<div>".$this->formInput($this->get('categories'))."</div>"; 

のように試してみました。この部分

echo $this->formCollection($product->get('categories')); 

に問題があるしかし、それは致命的なエラーがスローされます。

Catchable fatal error: Object of class Zend\Form\View\Helper\FormLabel could not be converted to string in /opt/lampp/htdocs/zend2/module/Test/view/test/index/testform.phtml on line 39

どうすればこの問題を解決できますか?

答えて

0

の代わりに$this->formRowを使用すると、次のコードを使用してラベルを区切って入力することができます。

<label>Name of the product</label> 
<input name="product[name]" required="required" type="text" value=""> 

をそしてあなたはechoにdivタグを使用することができます。これは、出力この意志

echo $this->formLabel($form->get('name')); 
echo $this->formInput($form->get('name')); 

。だからここにあなたが欲しいものがあります:

echo "<div>".$this->formLabel($form->get('name'))."</div>"; 
echo "<div>".$this->formInput($form->get('name'))."</div>"; 
+0

ありがとう、私は 'formLabel'のためのrefを送ることができますか? – Hiranya

+0

@Hiranyaこのリンクを確認してください:https://framework.zend.com/manual/2.1/en/modules/zend.form.view.helpers.html#formlabel –

+0

上記のリファレンスを使用して、私は 'echo $ this-> formCollection($ product-> get( 'categories')); '、しかし、' collection'ではそれをどうやって別にすることができますか? – Hiranya

関連する問題