ユーザーがログインするたびに表示されるユーザーパネルボックスに未読メッセージの数を表示したいと思います。
ベースレイアウトに含まれるユーザーパネルボックスにコントローラーからのメッセージ数を渡すには? パネルはすべてのページ (インデックスも) に表示されるため、そのためにルートを使用することはできません。
現在、グローバル セッションを使用して送信していますが、もっとうまくできると思います。手がかりはありますか?
コントローラー:
if(isset($_SESSION['user_id'])){
$unreaded=Model::factory('Message')->filter('getUnreadedGroups',$_SESSION['user_id']);
$_SESSION['unreaded']=$unreaded->opened;}
ベースレイアウト
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="/css/reset.css" />
<link rel="stylesheet" href="/css/style.css" />
<title>{% block page_title %} {% endblock %}</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="/js/jquery.scripts.js"></script>
</head>
<body>
<div id="all">
<div id="top-container">
<div id="logo">test</div>
<div id="search-box"></div>
</div>
<div id="left-side">
<div class="menu">
<ul>
<li class="nav_dashboard active"><a href="/">Strona główna</a></li>
<li class="nav_graphs"><a href="/wszystkie">Wzory</a></li>
<li class="nav_forms"><a href="/najnowsze">Najnowsze</a></li>
<li class="nav_typography"><a href="/najlepiej-oceniane">Najlepiej oceniane</a></li>
</ul>
</div>
</div>
<div id="page">
{% block content %} {% endblock %}
</div>
<div id="right-side">
<div id="login-container">
{% if session.user_id is defined %}
{% include 'user_panel.php' %}
{% else %}
{% include 'login_form.php' %}
{% endif %}
</div>
</div>
</div>
</body>
</html>
ユーザーパネルボックス
<div class="login-top" id="login-form-top">
<div id="welcome">Witaj, <span>John Doe</span></div>
<p id="last-login">Ostatnie logowanie:</p>
<div id="logout-msg-container">
<div class="logut"><a href="/wyloguj" class="logout">Wyloguj</a></div>
<a id="msg-number" href="/profil/wiadomosci">
<span class="number">
{% if session.unreaded >0 %}
{{ session.unreaded }}
{% else %} 0
{% endif %}
</span>
</a>
</div>
</div>
<div class="menu">
<p class="header">Profil użytkownika</p>
<ul>
<li><a href="/profil/edytuj">Twoje Dane</a></li>
<li><a href="/profil/galeria">Twoje zbiory</a></li>
<li><a href="/profil/wiadomosci">Twoje wiadomości</a></li>
</ul>
</div>
典型的なテンプレート
{% extends 'layout.php' %}
{% block page_title %}Najnowsze pliki{% endblock %}
{% block content %}
<div id="page-top">
<h1>Najnowsze</h1>
<p>+ <span class="blue">12</span> wzorów</p>
</div>
<div id="main-topvote">
<div class="title"><a href="">Najnowsze</a><span>( ostatni tydzień )</span></div>
<div class="content">
{% for file in files %}
<p>{{ file.idFile }}<br/> {{ file.date_add }}<br/> {{ file.desc }}<br/> {{ file.title }}<br/><br/></p>
{% else %}
<p>There are currently no articles.</p>
{% endfor %}
</div>
</div>
{% endblock %}