CakePHP 2.xユーザーメッセージをelement( 'menu')に送信する

チェーン

ページが読み込まれるたびに表示される要素にデータを送信するための最良の方法を知りたいのですが。

たとえば、ユーザーがログインしたら、そのユーザーに関するいくつかの情報を復元する必要があります。User.id、User.nameなどは、次のようにSessionHelperを使用して回復されます。

<?php if( !$this->Session->check('Auth.User') ): ?>
    <div class="taille_btn">
        <a href="/users/register">
            <div class="link_head">Inscription</div>    
        </a>
    </div>  
    <div class="taille_btn">
        <a href="/users/login">
            <div class="link_head">Connexion</div>  
        </a>    
    </div>
<?php else: ?>
    <div class="name_user">
        <a href="/users/view/<?= $this->Session->read('Auth.User.id'); ?>">
            <?= $this->Session->read('Auth.User.prenom'); ?>
        </a>
    </div>
<?php endif; ?>

しかし、ユーザーが受信したすべてのメッセージを回復するにはどうすればよいですか?より具体的には、どこでデータベースにクエリを実行する必要がありますか?AppControllerで?コンポーネント内?

助けてくれてありがとう :)

バーズム

たとえば、ユーザーがログインしたら、そのユーザーに関するいくつかの情報を復元する必要があります。User.id、User.nameなどは、次のようにSessionHelperを使用して回復されます。

良い考えではありません。認証コンポーネントからビューにユーザーデータを設定するのが最善です。たとえば、ステートレス認証はセッションに存在しません

AppControllers beforeRender()に、次を追加するだけです。

$this->set('userData', $this->Auth->user());

そして$userData、必要に応じてビューにアクセスします。データの処理をもう少し便利にするAuthヘルパーを作成しました。Cake3の場合、これこのプラグインの一部です

しかし、ユーザーが受信したすべてのメッセージを回復するにはどうすればよいですか?より具体的には、どこでデータベースにクエリを実行する必要がありますか?AppControllerで?コンポーネント内?

すべてのページで必要な場合は、beforeRender()コールバックでも実行してください。

$this->loadModel('Message')
// Your logic goes into the model method
$messages = $this->Message->byUser($this->Auth->user('id'));
// Set it to the view:
$this->set('messages', $messages);

特定のページのデータのみを取得する場合は、Cake2のrequestAction()を使用します。Cake3では、タスク全体にビューセルを使用できます。

また、アプリケーションへのリンクに対してこれを行わないでください。

<a href="/users/register">

代わりに、HtmlHelpers link()メソッドを使用する必要があります。そうしないと、ルーティングは機能しません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

2つの異なるユーザーに2つの異なるメッセージを送信する方法phpmailer

分類Dev

新しいパスワードを送信する-CakePHP2.x

分類Dev

cakephp4-認証2-識別されていないときにメッセージを表示する方法

分類Dev

ユーザーに直接メッセージを送信する

分類Dev

別のユーザーにメッセージを送信する

分類Dev

ユーザーにメッセージを送信する Android FCM

分類Dev

CakePHP2.xのユーザー管理システムがおかしな動作をする

分類Dev

Cakephp2.xでなくなった410を送信する方法

分類Dev

cakephp2.xに参加する

分類Dev

CakePHPでエラーメッセージを表示する

分類Dev

2人のユーザー間の最後のメッセージを取得する

分類Dev

2者間でメッセージを照会しますが、削除したユーザーへのメッセージは非表示にします

分類Dev

特定のユーザーに安全にメッセージを送信する方法

分類Dev

ユーザーに異なるメッセージを送信する方法

分類Dev

postgresqlの2人のユーザー間の会話で最新のメッセージを取得します

分類Dev

具体的なユーザーにWebSocketメッセージを送信する方法は?

分類Dev

特定のユーザーにメッセージを送信する方法RatchetPHP Websocket

分類Dev

Signalrで特定のユーザーにメッセージを送信する

分類Dev

dyno全体でユーザーにWebSocketメッセージを送信する

分類Dev

WebSocketユーザーにAJAXメッセージを送信する方法

分類Dev

指定されたユーザーにメッセージを送信する

分類Dev

CakePHP:最新のユーザーIDを管理者のcreate_employeeビューに送信する

分類Dev

ユーザーセッションを期限切れにしない方法cakephp

分類Dev

Firebaseで特定のユーザーのメッセージを別のユーザーに送信する方法

分類Dev

CakePHPでは、セッションユーザーのチェックを実行するメソッドをどこに配置しますか?

分類Dev

ユーザー名でログインするか、Cakephp3でメールを送信してください

分類Dev

SMTPでメールを送信するようにCakePhpを構成する

分類Dev

ユーザーにメッセージを表示する方法は、ガードによるAngular2で許可されていません

分類Dev

CakePHP:id [] = 1&id [] = 2&id [] = 3のような$ _GETパラメータを送信する方法

Related 関連記事

  1. 1

    2つの異なるユーザーに2つの異なるメッセージを送信する方法phpmailer

  2. 2

    新しいパスワードを送信する-CakePHP2.x

  3. 3

    cakephp4-認証2-識別されていないときにメッセージを表示する方法

  4. 4

    ユーザーに直接メッセージを送信する

  5. 5

    別のユーザーにメッセージを送信する

  6. 6

    ユーザーにメッセージを送信する Android FCM

  7. 7

    CakePHP2.xのユーザー管理システムがおかしな動作をする

  8. 8

    Cakephp2.xでなくなった410を送信する方法

  9. 9

    cakephp2.xに参加する

  10. 10

    CakePHPでエラーメッセージを表示する

  11. 11

    2人のユーザー間の最後のメッセージを取得する

  12. 12

    2者間でメッセージを照会しますが、削除したユーザーへのメッセージは非表示にします

  13. 13

    特定のユーザーに安全にメッセージを送信する方法

  14. 14

    ユーザーに異なるメッセージを送信する方法

  15. 15

    postgresqlの2人のユーザー間の会話で最新のメッセージを取得します

  16. 16

    具体的なユーザーにWebSocketメッセージを送信する方法は?

  17. 17

    特定のユーザーにメッセージを送信する方法RatchetPHP Websocket

  18. 18

    Signalrで特定のユーザーにメッセージを送信する

  19. 19

    dyno全体でユーザーにWebSocketメッセージを送信する

  20. 20

    WebSocketユーザーにAJAXメッセージを送信する方法

  21. 21

    指定されたユーザーにメッセージを送信する

  22. 22

    CakePHP:最新のユーザーIDを管理者のcreate_employeeビューに送信する

  23. 23

    ユーザーセッションを期限切れにしない方法cakephp

  24. 24

    Firebaseで特定のユーザーのメッセージを別のユーザーに送信する方法

  25. 25

    CakePHPでは、セッションユーザーのチェックを実行するメソッドをどこに配置しますか?

  26. 26

    ユーザー名でログインするか、Cakephp3でメールを送信してください

  27. 27

    SMTPでメールを送信するようにCakePhpを構成する

  28. 28

    ユーザーにメッセージを表示する方法は、ガードによるAngular2で許可されていません

  29. 29

    CakePHP:id [] = 1&id [] = 2&id [] = 3のような$ _GETパラメータを送信する方法

ホットタグ

アーカイブ