アプリ用のカスタム ヘルパーを作成しています。メソッドの 1 つで、要素を挿入しようとしています。このために私は使用しています:
$El = ClassRegistry::getObject('view');
$El->element('my_element', array('plugin'=>'my_plugin'));
$El をデバッグした後、応答が false になります。
この操作がヘルパー内でも可能かどうか知っていますか?
ありがとう
アプリ用のカスタム ヘルパーを作成しています。メソッドの 1 つで、要素を挿入しようとしています。このために私は使用しています:
$El = ClassRegistry::getObject('view');
$El->element('my_element', array('plugin'=>'my_plugin'));
$El をデバッグした後、応答が false になります。
この操作がヘルパー内でも可能かどうか知っていますか?
ありがとう
2.0 では、ビュー オブジェクトはクラス レジストリに追加されません。あなたのヘルパー$this->_View
にはビューオブジェクトへの参照があります。ヘルパー内に要素を含めることはお勧めできません。
ビュー オブジェクトをパラメーター関数ヘルパーとして渡すことができます。例えば:
class ComponentHelper extends AppHelper {
public function checkboxes( $form, .... ) {
...
$form->element( '...' );
...
}
}
形式:
$this->Component->checkboxes( $this, .... );
:)
_View
CakePHP 2 では、ヘルパー内の要素にアクセスしようとする場合、オブジェクトを呼び出す必要があります- 例:
$this->_View->Element($element, $options);
これは本当に好ましいことではなく、ヘルパーを優先して要素を直接使用することを検討する必要があるように思えます。
例:$this->CustomHelper->method($var)
通常どおりにビューから要素を呼び出すだけでなく、 echo $this->element('element', ['var' => $var]);
PHP/ロジックを実行したり、必要に応じて他のヘルパーを呼び出したりすることができます。