add macros for twig in tpl - refs BT#11338

pull/2495/head
Alex Aragón 8 years ago
parent 08e4e13a39
commit 55969b0596
  1. 2
      index.php
  2. 5
      main/inc/lib/template.lib.php
  3. 186
      main/template/default/layout/layout_2_col.tpl
  4. 93
      main/template/default/macro/macro.tpl

@ -144,7 +144,7 @@ if (api_get_configuration_value('show_hot_sessions') === true) {
$controller->tpl->assign('hot_courses', $hotCourses);
$controller->tpl->assign('announcements_block', $announcements_block);
$controller->tpl->assign('home_welcome', $controller->return_home_page());
$controller->tpl->assign('navigation_course_links', $controller->return_navigation_links());
$controller->tpl->assign('navigation_links', $controller->return_navigation_links());
$controller->tpl->assign('notice_block', $controller->return_notice());
//$controller->tpl->assign('main_navigation_block', $controller->return_navigation_links());
$controller->tpl->assign('help_block', $controller->return_help());

@ -171,7 +171,10 @@ class Template
'name' => 'format_date',
'callable' => 'Template::format_date',
],
['name' => 'get_template', 'callable' => 'Template::findTemplateFilePath'],
[
'name' => 'get_template',
'callable' => 'Template::findTemplateFilePath'
]
];
foreach ($filters as $filter) {

@ -1,12 +1,12 @@
{% extends 'layout/page.tpl'|get_template %}
{% import 'macro/macro.tpl'|get_template as display %}
{% block body %}
{% if plugin_main_top %}
<div class="row">
<div class="page-main-top" class="col-md-12">
{{ plugin_main_top }}
</div>
</div>
{% if plugin_main_top %}
{{ display.pluginPanel('main-top', plugin_main_top) }}
{% endif %}
{% endif %}
<div class="row">
<div class="col-md-9 col-md-push-3">
@ -68,10 +68,9 @@
</div>
<div class="col-md-3 col-md-pull-9">
<div class="sidebar">
{% if plugin_menu_top %}
<div class="siderbar-menu-top">
{{ plugin_menu_top }}
</div>
{{ display.pluginSidebar('sidebar-top', plugin_menu_top) }}
{% endif %}
{% include 'layout/login_form.tpl'|get_template %}
@ -80,64 +79,19 @@
{{ user_image_block }}
{% endif %}
<!-- BLOCK PROFILE -->
{% if profile_block %}
<!-- block profile -->
<div class="panel-group" id="profile" role="tablist" aria-multiselectable="true">
<div class="panel panel-default" id="profile_block">
<div class="panel-heading" role="tab">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#profile" href="#profileCollapse" aria-expanded="true" aria-controls="profileCollapse">
{{ 'Profile' | get_lang }}
</a>
</h4>
</div>
<div style="" aria-expanded="true" id="profileCollapse" class="panel-collapse collapse in" role="tabpanel">
<div class="panel-body">
<ul class="list-group">
{% for item in profile_block %}
<li class="list-group-item {{ item.class }}">
<span class="item-icon">
{{ item.icon }}
</span>
<a href="{{ item.link }}">{{ item.title }}</a>
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
<!-- end block profile -->
{{ display.collapseMenu('profile' , 'Profile'|get_lang, profile_block) }}
{% endif %}
<!-- BLOCK COURSE -->
{% if course_block %}
<!-- block course -->
<div class="panel-group" id="course" role="tablist" aria-multiselectable="true">
<div class="panel panel-default" id="course_block">
<div class="panel-heading" role="tab">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#course" href="#courseCollapse" aria-expanded="true" aria-controls="courseCollapse">
{{ 'Courses' | get_lang }}
</a>
</h4>
</div>
<div style="" aria-expanded="true" id="courseCollapse" class="panel-collapse collapse in" role="tabpanel">
<div class="panel-body">
<ul class="list-group">
{% for item in course_block %}
<li class="list-group-item {{ item.class }}">
<span class="item-icon">
{{ item.icon }}
</span>
<a href="{{ item.link }}">{{ item.title }}</a>
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
<!-- end block course -->
{{ display.collapseMenu('courses' , 'Courses'|get_lang, course_block) }}
{% endif %}
<!-- BLOCK SKILLS -->
{% if skills_block %}
{{ display.collapseMenu('skills' , 'Skills'|get_lang, skills_block) }}
{% endif %}
{% if grade_book_sidebar %}
@ -182,122 +136,36 @@
{% endif %}
{% if skills_block %}
<!-- block skills -->
<div class="panel-group" id="skill" role="tablist" aria-multiselectable="true">
<div class="panel panel-default" id="skill_block">
<div class="panel-heading" role="tab">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#skill" href="#skillCollapse" aria-expanded="true" aria-controls="skillCollapse">
{{ 'Skills' | get_lang }}
</a>
</h4>
</div>
<div style="" aria-expanded="true" id="skillCollapse" class="panel-collapse collapse in" role="tabpanel">
<div class="panel-body">
<ul class="list-group">
{% for item in skills_block %}
<li class="list-group-item {{ item.class }}">
<span class="item-icon">
{{ item.icon }}
</span>
<a href="{{ item.link }}">{{ item.title }}</a>
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
<!-- end block skills -->
{% endif %}
{{ teacher_block }}
{{ certificates_search_block }}
<!-- BLOCK NOTICE -->
{% if notice_block %}
<div class="panel-group" id="notice" role="tablist" aria-multiselectable="true">
<div class="panel panel-default" id="notice_block">
<div class="panel-heading" role="tab">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#notice" href="#noticeCollapse" aria-expanded="true" aria-controls="noticeCollapse">
{{ 'Notice' | get_lang }}
</a>
</h4>
</div>
<div style="" aria-expanded="true" id="noticeCollapse" class="panel-collapse collapse in" role="tabpanel">
<div class="panel-body">
{{ notice_block }}
</div>
</div>
</div>
</div>
{{ display.collapse('notice' , 'Notice'|get_lang, notice_block) }}
{% endif %}
<!-- BLOCK HELP -->
{% if help_block %}
<div class="panel-group" id="help" role="tablist" aria-multiselectable="true">
<div class="panel panel-default" id="help_block">
<div class="panel-heading" role="tab">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#help" href="#helpCollapse" aria-expanded="true" aria-controls="helpCollapse">
{{ 'MenuGeneral' | get_lang }}
</a>
</h4>
</div>
<div style="" aria-expanded="true" id="helpCollapse" class="panel-collapse collapse in" role="tabpanel">
<div class="panel-body">
<ul class="nav nav-pills nav-stacked">
{{ help_block }}
</ul>
</div>
</div>
</div>
</div>
{{ display.collapse('help' , 'MenuGeneral'|get_lang, help_block, true) }}
{% endif %}
<!-- block navigation -->
{% if navigation_course_links %}
<div class="panel-group" id="menu" role="tablist" aria-multiselectable="true">
<div class="panel panel-default" id="menu_block">
<div class="panel-heading" role="tab">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#menu" href="#menuCollapse" aria-expanded="true" aria-controls="menuCollapse">
{{ 'MainNavigation' | get_lang }}
</a>
</h4>
</div>
<div style="" aria-expanded="true" id="menuCollapse" class="panel-collapse collapse in" role="tabpanel">
<div class="panel-body">
<ul class="nav nav-pills nav-stacked">
{% for item in navigation_course_links %}
<li>
<a href="{{ item.link }}">{{ item.title }}</a>
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
<!-- BLOCK LINKS NAVIGATION -->
{% if navigation_links %}
{{ display.collapseFor('navigation_sidebar' , 'MainNavigation'|get_lang, navigation_links) }}
{% endif %}
<!-- end block navigation -->
{{ search_block }}
{{ classes_block }}
{% if plugin_menu_bottom %}
<div class="sidebar-menu-bottom">
{{ plugin_menu_bottom }}
</div>
{{ display.pluginSidebar('sidebar-bottom', plugin_menu_bottom) }}
{% endif %}
</div>
</div>
</div>
{% if plugin_main_bottom %}
<div class="row">
<div class="page-main-bottom" class="col-md-12">
{{ plugin_main_bottom }}
</div>
</div>
{{ display.pluginPanel('main-bottom', plugin_main_bottom) }}
{% endif %}
{% endblock %}

@ -0,0 +1,93 @@
{# special macros to generate repeated html code #}
{% macro collapse(name, title, content, list = false) %}
<div class="panel-group" id="{{ name }}" role="tablist" aria-multiselectable="true">
<div class="panel panel-default" id="{{ name }}_block">
<div class="panel-heading" role="tab">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#{{ name }}" href="#{{ name }}Collapse" aria-expanded="true" aria-controls="{{ name }}Collapse">
{{ title }}
</a>
</h4>
</div>
<div style="" aria-expanded="true" id="{{ name }}Collapse" class="panel-collapse collapse in" role="tabpanel">
<div class="panel-body">
{% if list %}
<ul class="nav nav-pills nav-stacked">
{{ content }}
</ul>
{% else %}
{{ content }}
{% endif %}
</div>
</div>
</div>
</div>
{% endmacro %}
{% macro collapseFor(name, title, array) %}
<div class="panel-group" id="{{ name }}" role="tablist" aria-multiselectable="true">
<div class="panel panel-default" id="{{ name }}_block">
<div class="panel-heading" role="tab">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#{{ name }}" href="#{{ name }}Collapse" aria-expanded="true" aria-controls="{{ name }}Collapse">
{{ title }}
</a>
</h4>
</div>
<div style="" aria-expanded="true" id="{{ name }}Collapse" class="panel-collapse collapse in" role="tabpanel">
<div class="panel-body">
<ul class="nav nav-pills nav-stacked">
{% for item in array %}
<li>
<a href="{{ item.link }}">{{ item.title }}</a>
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
{% endmacro %}
{% macro collapseMenu(name, title, array) %}
<div class="panel-group" id="{{ name }}" role="tablist" aria-multiselectable="true">
<div class="panel panel-default" id="{{ name }}_block">
<div class="panel-heading" role="tab">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#{{ name }}" href="#{{ name }}Collapse" aria-expanded="true" aria-controls="{{ name }}Collapse">
{{ title }}
</a>
</h4>
</div>
<div aria-expanded="true" id="{{ name }}Collapse" class="panel-collapse collapse in" role="tabpanel">
<div class="panel-body">
<ul class="list-group">
{% for item in array %}
<li class="list-group-item {{ item.class }}">
<span class="item-icon">{{ item.icon }}</span>
<a href="{{ item.link }}">{{ item.title }}</a>
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
{% endmacro %}
{% macro pluginSidebar(name, content) %}
<div id="{{ name }}" class="plugin plugin_{{ name }}">
{{ content }}
</div>
{% endmacro %}
{% macro pluginPanel(name, content) %}
<div id="{{ name }}" class="plugin plugin_{{ name }}">
<div class="row">
<div class="col-md-12">
{{ content }}
</div>
</div>
</div>
{% endmacro %}
Loading…
Cancel
Save