src/CorporateTrainingBundle/Resources/views/homepage/component/navigation/user-operation.html.twig line 1

Open in your IDE?
  1. {% set maxDisplayMessage = 99 %}
  2. {% if app.user.islogin|default %}
  3.   {% set user = data('HomeCurrentUserLearnData',{}) %}
  4.   {% do script(['app/js/default/header/index.js', 'app/js/header/index.js']) %}
  5.   <div class="header-right navbar-user {% if setting('esBar.enabled', 0) %}left{% endif %} hidden-xs">
  6.     <ul class="nav user-nav">
  7.       <li>
  8.        <form class="navbar-form navbar-right nav-search-bar-wrap hidden-xs hidden-sm" id="js-nav-search-bar-wrap" action="{{ editing ? 'javascript:;' : path('search') }}" method="get">
  9.          <div class="form-group" id="js-move-search">
  10.            <i class="ct-icon ct-icon-a-ser search-icon js-search-icon text-20" style="line-height: 22px;" id="js-search-icon"></i>
  11.            <input class="form-control input-search js-search" id="js-search" name="q" placeholder="{{ 'homepage.header.search'|trans }}">
  12.          </div>
  13.        </form>
  14.       </li>
  15.       <li class="js-qcode-hover hidden-xs hidden-sm qcode-hover {% if setting('mobile.enabled') == 0 %}hidden{% endif %}" id="js-qcode-hover" data-url="{{ path('mobile_qrcode_ajax') }}">
  16.         <a class="qcode-link" href="javascript:;"><i class="ct-icon ct-icon-app text-20"></i></a>
  17.         <div class="qcode-content">
  18.           <div class="js-inform-loading qcode-loading"></div>
  19.           <div class="qcode-text-wrap">
  20.             <div class="qcode-text mbs mtm">
  21.               <span class="va-mid">{{ 'homepage.header.app_tips'|trans }}</span><i class="es-icon es-icon-tishi va-mid mls color-warning" data-toggle="tooltip" data-placement="top" data-title="{{ 'homepage.header.app_tips_warn'|trans }}"></i>
  22.             </div>
  23.             <a class="link-gray" href="{{ editing ? 'javascript:;' : path('mobile') }}">{{ 'homepage.header.app_tips_link_text'|trans }}</a>
  24.           </div>
  25.         </div>
  26.       </li>
  27.       {% if setting('magic.enable_language_switch') %}
  28.         <li class='nav-hover hidden-xs'>
  29.           <a href='javascript:;' class='more-lan' data-lan="{{ app.request.locale }}">
  30.             <span class='show_lan js-show-lan'></span>
  31.           </a>
  32.           <ul class="dropdown-menu lan-menu" role="menu">
  33.             <li><a href="{{ editing ? 'javascript:;' : path('switch_language',{'language':'zh_CN', '_target_path':app.request.uri}) }}">中文</a></li>
  34.             <li><a href="{{ editing ? 'javascript:;' : path('switch_language',{'language':'en', '_target_path':app.request.uri}) }}">English</a></li>
  35.           </ul>
  36.         </li>
  37.       {% endif %}
  38.       <li class="visible-lg nav-hover">
  39.         {% set messageNum = app.user.newMessageNum + app.user.newNotificationNum %}
  40.         {% if setting('esBar.enabled', 0) and app.user.newMessageNum > 0 %}
  41.           <a class="user-nav-mes hasmessage">
  42.             <i class="ct-icon ct-icon-Bell text-20"></i>
  43.             <span class="num">{{ messageNum > maxDisplayMessage ? 'homepage.header.max_display_messages'|trans : messageNum }}</span>
  44.           </a>
  45.         {% elseif (not setting('esBar.enabled', 0)) and (app.user.newNotificationNum > 0 or app.user.newMessageNum > 0) %}
  46.           <a class="user-nav-mes hasmessage">
  47.             <i class="ct-icon ct-icon-Bell text-20"></i>
  48.             <span class="num">{{ messageNum > maxDisplayMessage ? 'homepage.header.max_display_messages'|trans : messageNum }}</span>
  49.           </a>
  50.         {% else %}
  51.           <a class="user-nav-mes"><i class="ct-icon ct-icon-Bell text-20"></i></a>
  52.         {% endif %}
  53.         <ul class="dropdown-menu dropdown-menu_message" role="menu">
  54.           {% if not setting('esBar.enabled', 0) %}
  55.             <li>
  56.               <a href="{{ editing ? 'javascript:;' : path('notification') }}">
  57.                 <i class="ct-icon ct-icon-tongzhi"></i>{{ 'homepage.header.notice'|trans }}
  58.                 {% if app.user.newNotificationNum > 0 %}
  59.                   <span class="pull-right num">
  60.                     {{ app.user.newNotificationNum > maxDisplayMessage ? 'homepage.header.max_display_messages'|trans : app.user.newNotificationNum }}
  61.                   </span>
  62.                 {% endif %}
  63.               </a>
  64.             </li>
  65.           {% endif %}
  66.           <li>
  67.             <a href="{{ editing ? 'javascript:;' : path('message') }}">
  68.               <i class="ct-icon ct-icon-sixin"></i>{{ 'homepage.header.message'|trans }}
  69.               {% if app.user.newMessageNum > 0 %}
  70.                 <span class="pull-right num">
  71.                     {{ app.user.newMessageNum > maxDisplayMessage ? 'homepage.header.max_display_messages'|trans : app.user.newMessageNum }}
  72.                 </span>
  73.               {% endif %}
  74.             </a>
  75.           </li>
  76.         </ul>
  77.       </li>
  78.       <li class="user-avatar-li nav-hover">
  79.         <a href="javascript:;" class="dropdown-toggle"><img class="c-hover-user__avatar" src="{{ filepath(user.largeAvatar|default(), 'avatar.png') }}"></i></a>
  80.         <ul class="dropdown-menu" role="menu">
  81.           {% set profile = data('UserProfile', {userId: app.user.id}) %}
  82.           <li role="presentation" class="dropdown-header">
  83.             {{ profile.truename|default(app.user.nickname) }}
  84.           </li>
  85.           <li>
  86.             <a href="{{ editing ? 'javascript:;' : path('user_show', {id:app.user.uuid}) }}">
  87.               <i class="es-icon es-icon-home"></i>{{ 'homepage.header.personal_menu'|trans }}
  88.             </a>
  89.           </li>
  90.           <li>
  91.             <a href="{{ editing ? 'javascript:;' : path('settings') }}">
  92.               <i class="es-icon es-icon-person"></i>{{ 'homepage.header.profile_center_menu'|trans }}
  93.             </a>
  94.           </li>
  95.           <li class="hidden-lg">
  96.             <a href="{{ editing ? 'javascript:;' : path('notification') }}">
  97.               <i class="ct-icon ct-icon-tongzhi"></i>{{ 'homepage.header.notice'|trans }}
  98.               {% if app.user.newNotificationNum > 0 %}
  99.                 <span class="pull-right num">
  100.                   {{ app.user.newNotificationNum > maxDisplayMessage ? 'homepage.header.max_display_messages'|trans : app.user.newNotificationNum }}
  101.                 </span>
  102.               {% endif %}
  103.             </a>
  104.           </li>
  105.           <li class="hidden-lg">
  106.             <a href="{{ editing ? 'javascript:;' : path('message') }}">
  107.               <i class="ct-icon ct-icon-sixin"></i>{{ 'homepage.header.message'|trans }}
  108.               {% if app.user.newMessageNum > 0 %}
  109.                 <span class="pull-right num">
  110.                   {{ app.user.newMessageNum > maxDisplayMessage ? 'homepage.header.max_display_messages'|trans : app.user.newMessageNum }}
  111.                 </span>
  112.               {% endif %}
  113.             </a>
  114.           </li>
  115.           {% if mobile|default(false) %}
  116.             <li class="mobile-switch js-switch-pc visible-xs">
  117.               <a href="javascript:;">
  118.                 <i class="es-icon es-icon-qiehuan"></i>{{ 'homepage.header.switch_pc'|trans }}
  119.               </a>
  120.             </li>
  121.           {% elseif setting('wap.enabled') == 1 %}
  122.             <li class="mobile-switch js-switch-mobile visible-xs">
  123.               <a href="javascript:;">
  124.                 <i class="es-icon es-icon-qiehuan"></i>{{ 'homepage.header.switch_mobile'|trans }}
  125.               </a>
  126.             </li>
  127.           {% endif %}
  128.           <li class="user-nav-li-logout">
  129.             <a href="{{ editing ? 'javascript:;' : path('logout') }}">
  130.               <i class="es-icon es-icon-power"></i>{{ 'homepage.header.logout'|trans }}
  131.             </a>
  132.           </li>
  133.         </ul>
  134.       </li>
  135.       {% if has_permission('admin') %}
  136.         <li class="text-link hidden-xs hidden-sm nav-hover workbench">
  137.           <a href='javascript:;' class="text-16 dropdown-toggle"><i class="ct-icon ct-icon-a-dash mr-8 text-20"></i><span>{{ 'homepage.header.basic_menu'|trans }}</span>{% if reviewPendingTotalNum|default(0) > 0 %}<span class="dot js-workbench-dot"></span>{% endif %}</a>
  138.           <ul class="dropdown-menu" role="menu">
  139.             <li>
  140.               <a href="{{ path('review_center') }}"><i class="ct-icon ct-icon-piyuezhongxin"></i>{{ 'homepage.header.review_center'|trans }}
  141.                 {% if reviewPendingTotalNum|default(0) > 0 %}
  142.                 <span class="num js-review-pending-num">
  143.                   {{ reviewPendingTotalNum > maxDisplayMessage ? 'homepage.header.max_display_messages'|trans : reviewPendingTotalNum }}
  144.                 </span>
  145.                 {% endif %}
  146.               </a>
  147.             </li>
  148.             <li>
  149.               <a href="{{ editing ? 'javascript:;' : path('admin') }}"><i class="ct-icon ct-icon-guanlihoutai"></i>{{ 'homepage.header.manage_backstage'|trans }}</a>
  150.             </li>
  151.           </ul>
  152.         </li>
  153.       {% else %}
  154.       <li class="workbench">
  155.         <a href="{{ path('review_center') }}" class="text-16"><i class="ct-icon ct-icon-piyuezhongxin mr-8 text-20"></i>{{ 'homepage.header.review_center'|trans }}
  156.           {% if reviewPendingTotalNum|default(0) > 0 %}
  157.           <span class="work-num js-review-pending-num">
  158.             {{ reviewPendingTotalNum > maxDisplayMessage ? 'homepage.header.max_display_messages'|trans : reviewPendingTotalNum }}
  159.           </span>
  160.           {% endif %}
  161.         </a>
  162.       </li>          
  163.       {% endif %}
  164.       {# <li>
  165.       <a class="btn-primary btn-text-centre"
  166.          href="{{ editing ? 'javascript:;' : path('study_center_work_record') }}">{{ 'homepage.user_info.link_learn_center'|trans }}</a>
  167.       </li> #}
  168.     </ul>
  169.     <a class="btn-primary btn-text-centre" href="{{ editing ? 'javascript:;' : path('study_center_work_record') }}">{{ 'homepage.user_info.link_learn_center'|trans }}</a>
  170.   </div>
  171. {% else %}
  172.   {% if setting('magic.enable_language_switch') %}
  173.     {% do script(['app/js/header/index.js']) %}
  174.     <div class="header-right navbar-user {% if setting('esBar.enabled', 0) %}left{% endif %} hidden-xs">
  175.       <ul class="nav user-nav">
  176.         <li class='nav-hover hidden-xs'>
  177.           <a href="javascript:;" class="more-lan" data-lan="{{ app.request.locale }}">
  178.             <span class='show_lan js-show-lan'></span>
  179.             <i class='es-icon es-icon-keyboardarrowdown'></i>
  180.           </a>
  181.           <ul class="dropdown-menu lan-menu" role="menu">
  182.             <li><a href="{{ path('switch_language', {'language':'zh_CN', '_target_path':app.request.uri}) }}">中文</a>
  183.             </li>
  184.             <li><a href="{{ path('switch_language', {'language':'en', '_target_path':app.request.uri}) }}">English</a>
  185.             </li>
  186.           </ul>
  187.         </li>
  188.       </ul>
  189.     </div>
  190.   {% endif %}
  191. {% endif %}
  192. <style>
  193. .header-right {
  194.   position: initial;
  195.   flex: none;
  196. }
  197. .header-right .nav.user-nav {
  198.   float: none;
  199.   display: flex;
  200.   align-items: center;
  201. }
  202. .header-right .nav.user-nav > li > a {
  203.   float: none;
  204.   padding: 0 !important;
  205.   margin-right: 24px;
  206.   height: 72px;
  207. }
  208. .header-right .nav.user-nav .navbar-form {
  209.   margin: 0 0 8px 0;
  210. }
  211. .header-right .nav.user-nav .qcode-hover {
  212.   width: initial;
  213. }
  214. .header-right .nav.user-nav .qcode-hover .qcode-link {
  215.   margin: 0 24px 0 16px;
  216. }
  217. .header-right .nav.user-nav .show_lan {
  218.   line-height: initial;
  219.   font-size: 16px;
  220. }
  221. .header-right .nav.user-nav > li .dropdown-menu > li .num {
  222.   margin-top: 2px;
  223. }
  224. .header-right .nav.user-nav .dropdown-menu.dropdown-menu_message {
  225.   min-width: 180px;
  226. }
  227. .header-right .nav.user-nav .user-nav-mes {
  228.   width: 40px;
  229.   margin-right: 4px;
  230. }
  231. .header-right .nav.user-nav .user-nav-mes .num {
  232.   right: 10px;
  233.   width: auto;
  234. }
  235. .header-right .nav.user-nav .workbench {
  236.   padding: 8px;
  237. }
  238. .header-right .nav.user-nav .workbench .dot {
  239.   width: 5px;
  240.   height: 5px;
  241.   position: absolute;
  242.   top: 24px;
  243.   right: -4px;
  244.   background-color: #ed3e3e;
  245.   border-radius: 50%;
  246. }
  247. .header-right .nav.user-nav .workbench .dropdown-menu {
  248.   min-width: 160px;
  249. }
  250. .header-right .nav.user-nav .workbench .dropdown-menu .num {
  251.   position: absolute;
  252.   top: 12px;
  253.   right: 10px;
  254.   width: auto;
  255. }
  256. .header-right .nav.user-nav .workbench .work-num {
  257.   position: absolute;
  258.   display: flex;
  259.   flex-direction: row;
  260.   justify-content: center;
  261.   align-items: center;
  262.   min-width: 20px;
  263.   height: 18px;
  264.   padding: 2px 6px;
  265.   border-radius: 8px;
  266.   color: #fff;
  267.   background-color: #e34d59;
  268.   top: 20px;
  269.   right: -20px;
  270.   font-size: 12px;
  271. }
  272. .header-right .nav.user-nav .more-lan .show_lan .ct-icon {
  273.   font-size: 20px !important;
  274. }
  275. </style>