3

アプリ用のカスタム ヘルパーを作成しています。メソッドの 1 つで、要素を挿入しようとしています。このために私は使用しています:

$El = ClassRegistry::getObject('view'); 
$El->element('my_element', array('plugin'=>'my_plugin'));

$El をデバッグした後、応答が false になります。

この操作がヘルパー内でも可能かどうか知っていますか?

ありがとう

4

3 に答える 3

4

2.0 では、ビュー オブジェクトはクラス レジストリに追加されません。あなたのヘルパー$this->_Viewにはビューオブジェクトへの参照があります。ヘルパー内に要素を含めることはお勧めできません。

于 2012-10-17T13:36:46.043 に答える
0

ビュー オブジェクトをパラメーター関数ヘルパーとして渡すことができます。例えば:

class ComponentHelper extends AppHelper {
    public function checkboxes( $form, .... ) {
        ...
        $form->element( '...' );
        ...
    }
}

形式:

$this->Component->checkboxes( $this, .... );

:)

于 2016-04-06T02:03:28.527 に答える
0

_ViewCakePHP 2 では、ヘルパー内の要素にアクセスしようとする場合、オブジェクトを呼び出す必要があります- 例:

$this->_View->Element($element, $options);

これは本当に好ましいことではなく、ヘルパーを優先して要素を直接使用することを検討する必要があるように思えます。

例:$this->CustomHelper->method($var)通常どおりにビューから要素を呼び出すだけでなく、 echo $this->element('element', ['var' => $var]);PHP/ロジックを実行したり、必要に応じて他のヘルパーを呼び出したりすることができます。

于 2016-04-06T03:44:24.250 に答える