0

呼び出すことによって、cakephp のコンポーネント内の要素にデータを渡すことは可能$this->element('path_to_element', $data);ですか?

誰か教えてください

4

3 に答える 3

0

これにはもっと良い方法があります。私はすべてのプロジェクトでこのトリックを使用しています。プロジェクトでセッションを利用してください。アクティブにします。

ここにサンプル要素があります。layout.ctpを使用してセッションまたはselectefコントローラーを作成できます。以下では、cakephpauthsessionを使用しています。お楽しみください。問題が解決することを願っています:)

<?php if($this->Session->check('Auth.user')){ ?>

        <span id="uname_wel">Welcome <?php echo $session->read('Auth.user.username'); ?></span>

<?php } ?>

それ以外の場合は、ここでこのリンクを確認できます

または、ビューから要素をロードしている場合は、通常どおりデータをビューに渡してから、要素ページ内からアクセスできます。例:$this->set('result_array',$data);

于 2012-08-02T09:57:59.657 に答える
0

私が理解していれば、値の配列を渡すことができます。必要なことは次のとおりです。

echo $this->element('myelement', array(
    'myvar1' => $myvarvalue, 
    'myvar2' => $myvarvalue2));

次に、要素のコード内で $myvar1 と $myvar2 にアクセスできます。

お役に立てれば。

于 2013-04-08T09:43:49.333 に答える
0

コントローラーへの参照を保持している場合は、コンポーネントからビュー var を設定できます。次に、ビュー内でそのビュー var を要素に渡します。

http://book.cakephp.org/1.3/view/996/Creating-Components#MVC-Class-Access-Within-Components-998にあるメソッドの 1 つを使用して、コントローラーへの参照を保持できます。ただする必要がある$this->ControllerReference->set('viewVarName', 'data')

于 2012-07-20T20:52:23.907 に答える