我在我的网站上有通知,类似于 facebook。但我只有 3 种类型的通知:

  • [昵称] 给您发送了一个新测验 [quizename]
  • [昵称] 将您添加到他的组 [groupname]。接受 |拒绝
  • 您今天获得了 100 美元的登录积分。

  • 表通知

    通知ID |类型 | item_id | from_id | to_id |创建 |通知

    item_id 代表 quize_id 或 group_id。我进行了额外的连接以获取所有数据。

    我遇到的一个问题是如何根据类型显示每个通知。选项之一是组织字符串以在 Controller 中显示:
    foreach($results as $key => $result){
      switch($result['type']){
        case 1:
        $string = "<a href=".baseUrl()."/users/$result['userId']>$result['nickname']</a> "._("wants you to take a quize")." <a href='".baseUrl()."/quize/$result['rel']'>$result['quizeName']</a>";
        break;
        case 2:
        $string = "<a href=".baseUrl()."/users/$result['userId']>$result['nickname']</a> "._("added you to his group")." <a href='".baseUrl()."/group/$result['rel']'>$result['groupName']</a>";
        break;
        case 3:
        $string = _("You received 100 credit for log in today");
      }
      $notifications[$key]['string'] = $string;
    }
    
    $data['notifications'] = $notifications;
    
    $this->load->view('views/notifications/last_notification_view', $data);
    

    该方法的问题在于 View 的一部分在 Controller 内部。我可以发送粗略的数据来查看,但问题是我需要在 View 中制作类似的php代码。那么哪种方法更好呢?或者还有其他方法吗?

    最佳答案

    我个人的观点是,您应该将 $results 传递给 View ,并使用循环来获取结果并打印出 View 内的链接。你应该在 Controller 中有这个:

    $data['notifications']=$results;
    $this->load->view('views/notifications/last_notification_view', $data);
    

    鉴于此:
    foreach($data['notifications'] as $key => $result){
      switch($result['type']){
        case 1:
        echo "<a href=".baseUrl()."/users/$result['userId']>$result['nickname']</a> "._("wants you to take a quize")." <a href='".baseUrl()."/quize/$result['rel']'>$result['quizeName']</a>";
        break;
        case 2:
        echo "<a href=".baseUrl()."/users/$result['userId']>$result['nickname']</a> "._("added you to his group")." <a href='".baseUrl()."/group/$result['rel']'>$result['groupName']</a>";
        break;
        case 3:
        echo _("You received 100 credit for log in today");
      }
    }
    

    关于php - MVC - 此代码属于模型、 Controller 还是 View ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12350195/

    10-16 11:34
    查看更多