Quellcode durchsuchen

Add missing bundle ChamiloTimelineBundle needed to render sonata pages

jmontoyaa vor 6 Jahren
Ursprung
Commit
f2088586ca

+ 1 - 0
config/bundles.php

@@ -53,6 +53,7 @@ return [
     Chamilo\MediaBundle\ChamiloMediaBundle::class => ['all' => true],
     Chamilo\NotificationBundle\ChamiloNotificationBundle::class => ['all' => true],
     Chamilo\SettingsBundle\ChamiloSettingsBundle::class => ['all' => true],
+    Chamilo\TimelineBundle\ChamiloTimelineBundle::class => ['all' => true],
     winzou\Bundle\StateMachineBundle\winzouStateMachineBundle::class => ['all' => true],
     Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle::class => ['all' => true],
     Sylius\Bundle\ResourceBundle\SyliusResourceBundle::class => ['all' => true],

+ 1 - 1
config/packages/sonata_page.yaml

@@ -83,7 +83,7 @@ sonata_page:
     default_template: default
     templates:
         default:
-            path: 'ChamiloPageBundle::demo_layout.html.twig'
+            path: 'ChamiloPageBundle::page_layout.html.twig'
 #            path: '::layout.html.twig'
             name: 'default'
             containers:

+ 7 - 7
config/packages/sonata_timeline.yaml

@@ -1,7 +1,7 @@
-#sonata_timeline:
-#    manager_type: orm
-#    class:
-#        timeline:         '%spy_timeline.class.timeline%'
-#        action:           '%spy_timeline.class.action%'
-#        component:        '%spy_timeline.class.component%'
-#        action_component: '%spy_timeline.class.action_component%'
+sonata_timeline:
+    manager_type: orm
+    class:
+        timeline:         '%spy_timeline.class.timeline%'
+        action:           '%spy_timeline.class.action%'
+        component:        '%spy_timeline.class.component%'
+        action_component: '%spy_timeline.class.action_component%'

+ 17 - 0
main/install/install.lib.php

@@ -2919,6 +2919,23 @@ function finishInstallationWithContainer(
     $site->setIsDefault(true);
     $siteManager->save($site);
 
+    /** @var \Sonata\PageBundle\Entity\PageManager $pageManager */
+    $pageManager = $container->get('sonata.page.manager.page');
+
+    $page = $pageManager->create();
+    $page->setSlug('homepage');
+    $page->setUrl('/homepage');
+    $page->setName('homepage');
+    $page->setTitle('home');
+    $page->setEnabled(true);
+    $page->setDecorate(1);
+    $page->setRequestMethod('GET|POST|HEAD|DELETE|PUT');
+    $page->setTemplateCode('default');
+    $page->setRouteName('homepage');
+    //$page->setParent($this->getReference('page-homepage'));
+    $page->setSite($site);
+    $pageManager->save($page);
+
     UserManager::setPasswordEncryption($encryptPassForm);
 
     // Create admin user.

+ 0 - 76
src/PageBundle/Resources/views/demo_layout.html.twig

@@ -1,76 +0,0 @@
-{% extends '@ChamiloCore/layout_cms.html.twig' %}
-
-{% block sonata_page_body_tag %}
-    {{ parent() }}
-
-    {#{% include "SonataSeoBundle:Block:_facebook_sdk.html.twig" %}#}
-    {#{% include "SonataSeoBundle:Block:_twitter_sdk.html.twig" %}#}
-    {#{% include "SonataSeoBundle:Block:_pinterest_sdk.html.twig" %}#}
-
-{% endblock %}
-
-{% block sonata_page_javascripts %}
-    <script type="text/javascript">
-        var basket_update_confirmation_message = '{{ 'sonata_basket_update_confirmation'|trans({}, 'SonataDemoBundle')|escape('js') }}';
-    </script>
-
-    <script src="{{ asset('assetic/sonata_front_js.js') }}"
-            type="text/javascript"></script>
-{% endblock %}
-
-{% block sonata_page_container %}
-    <div class="container">
-        <div class="content">
-            <div class="row page-header">
-                {{ sonata_page_render_container('header', 'global') }}
-            </div>
-
-            {% block sonata_page_breadcrumb %}
-                <div class="row">
-                    {% if sonata_seo_context is not defined %}
-                        {% set sonata_seo_context = 'homepage' %}
-                    {% endif %}
-                    {{ sonata_block_render_event('breadcrumb', { 'context': sonata_seo_context, 'current_uri': app.request.requestUri }) }}
-                </div>
-            {% endblock %}
-
-            {% if page is defined %}
-                <div class="row">
-                    {% if page.name != 'global'%}
-                        {{ sonata_page_render_container('content_top', 'global') }}
-                    {% endif %}
-                    {{ sonata_page_render_container('content_top', page) }}
-                </div>
-            {% endif %}
-
-            <div class="row">
-                {% block page_content %}
-                    {% if content is defined %}
-                        {{ content|raw }}
-                    {% else %}
-                        {% set content = block('content') %}
-                        {% if content|length > 0 %}
-                            {{ content|raw }}
-                        {% elseif page is defined %}
-                            {{ sonata_page_render_container('content', page) }}
-                        {% endif %}
-                    {% endif %}
-                {% endblock %}
-            </div>
-
-            {% if page is defined %}
-                <div class="row">
-                    {{ sonata_page_render_container('content_bottom', page) }}
-
-                    {% if page.name != 'global'%}
-                        {{ sonata_page_render_container('content_bottom', 'global') }}
-                    {% endif %}
-                </div>
-            {% endif %}
-        </div>
-
-        {#<footer class="row">#}
-            {#{{ sonata_page_render_container('footer', 'global') }}#}
-        {#</footer>#}
-    </div>
-{% endblock %}

+ 54 - 0
src/PageBundle/Resources/views/page_layout.html.twig

@@ -0,0 +1,54 @@
+{% extends '@ChamiloTheme/Layout/layout_cms.html.twig' %}
+
+{% block sonata_page_container %}
+    <div class="content">
+        <div class="row page-header">
+            {{ sonata_page_render_container('header', 'global') }}
+        </div>
+
+        {% block sonata_page_breadcrumb %}
+            <div class="row">
+                {{ sonata_block_render_event('breadcrumb', { 'context': 'page', 'current_uri': app.request.requestUri }) }}
+            </div>
+        {% endblock %}
+
+        {% if page is defined %}
+            <div class="row">
+                {% if page.name != 'global'%}
+                    {{ sonata_page_render_container('content_top', 'global') }}
+                {% endif %}
+                {{ sonata_page_render_container('content_top', page) }}
+            </div>
+        {% endif %}
+
+        <div class="row">
+            {% block page_content %}
+                {% if content is defined %}
+                    {{ content|raw }}
+                {% else %}
+                    {% set content = block('content') is defined ? block('content') : '' %}
+                    {% if content|length > 0 %}
+                        {{ content|raw }}
+                    {% elseif page is defined %}
+                        {{ sonata_page_render_container('content', page) }}
+                    {% endif %}
+                {% endif %}
+            {% endblock %}
+        </div>
+
+        {% if page is defined %}
+            <div class="row">
+                {{ sonata_page_render_container('content_bottom', page) }}
+
+                {% if page.name != 'global'%}
+                    {{ sonata_page_render_container('content_bottom', 'global') }}
+                {% endif %}
+            </div>
+        {% endif %}
+    </div>
+
+    <footer class="row">
+        {{ sonata_page_render_container('footer', 'global') }}
+    </footer>
+
+{% endblock %}

+ 5 - 3
src/ThemeBundle/Resources/views/Layout/base-layout.html.twig

@@ -16,6 +16,7 @@
 <html lang="{{ app.request.locale }}" class="no-js"> <!--<![endif]-->
 {# Chamilo theme #}
 {% set theme = 'chamilo' %}
+{% block chamilo_header %}
 <head>
     <meta charset="utf-8">
     {# Check settings to add more metadata in app/config/sonata/sonata_seo.yml #}
@@ -98,7 +99,8 @@
     {#{% endjavascripts %}#}
     {% endblock %}
 </head>
-<body class="{{section_name}}">
+{% endblock %}
+<body class="{{section_name}}" {{ sonata_seo_html_attributes() }} >
 
 <noscript>{{ "NoJavascript" | trans }}</noscript>
 {#{% if show_header == true %}#}
@@ -187,7 +189,7 @@
         {# course navigation links/shortcuts need to be activated by the admin #}
         {% include "@ChamiloTheme/Layout/course_navigation.html.twig" %}
 
-        {% block chamilo_header %}
+
             {#<header class="header">#}
                 {#{% block chamilo_logo %}#}
                 {#<a href="#" class="logo">#}
@@ -199,7 +201,7 @@
                 {#<!-- Header Navbar: style can be found in header.less -->#}
                 {#{% endblock %}#}
             {#</header>#}
-        {% endblock %}
+
 
         {% block chamilo_content %}
             {#Check sonata_block.yml settings#}

+ 165 - 2
src/ThemeBundle/Resources/views/Layout/layout_cms.html.twig

@@ -1,4 +1,167 @@
-{% extends "@ChamiloTheme/Layout/base-layout.html.twig" %}
+{% extends '@ChamiloTheme/Layout/base-layout.html.twig' %}
 
-{#{% extends 'SonataPageBundle::base_layout.html.twig' %}#}
+{%- block sonata_page_html_tag -%}
+{#<!DOCTYPE html>#}
+{#<html {{ sonata_seo_html_attributes() }}>#}
+{% endblock %}
+{% block sonata_page_head %}
+    <head {{ sonata_seo_head_attributes() }}>
 
+        <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
+        {{ sonata_seo_title() }}
+        {{ sonata_seo_metadatas() }}
+
+        {% block sonata_page_stylesheets %}
+            {% block page_stylesheets %} {# Deprecated block #}
+                {% for stylesheet in sonata_page.assets.stylesheets %}
+                    <link rel="stylesheet" href="{{ asset(stylesheet) }}" media="all">
+                {% endfor %}
+            {% endblock %}
+        {% endblock %}
+
+        {% block sonata_page_javascripts %}
+            {% block page_javascripts %} {# Deprecated block #}
+                <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+                <!--[if lt IE 9]>
+                <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+                <![endif]-->
+
+                {% for js in sonata_page.assets.javascripts %}
+                    <script src="{{ asset(js) }}"></script>
+                {% endfor %}
+            {% endblock %}
+
+        {% endblock %}
+    </head>
+{% endblock %}
+
+{% block sonata_page_body_tag %}
+<body class="sonata-bc">
+{% endblock %}
+
+{% block sonata_page_top_bar %}
+    {% block page_top_bar %} {# Deprecated block #}
+        {% if sonata_page.isEditor or ( app.user and is_granted('ROLE_PREVIOUS_ADMIN') ) %}
+
+        {% if sonata_page.isEditor and sonata_page.isInlineEditionOn %}
+            <!-- CMS specific variables -->
+            <script>
+                jQuery(document).ready(function() {
+                    Sonata.Page.init({
+                        url: {
+                            block_save_position: '{{ sonata_admin.objectUrl('sonata.page.admin.page', 'edit', page) }}',
+                            block_edit:          '{{ sonata_admin.url('sonata.page.admin.page|sonata.page.admin.block', 'edit', {'id': 'BLOCK_ID'}) }}'
+                        }
+                    });
+                });
+            </script>
+        {% endif %}
+
+            <header class="sonata-bc sonata-page-top-bar navbar navbar-inverse navbar-fixed-top" role="banner"
+                    {% if sonata_page.isEditor and sonata_page.isInlineEditionOn %}
+                data-page-editor='{{ {
+                    url: {
+                        block_save_position: sonata_admin.objectUrl('sonata.page.admin.page', 'edit', page),
+                        block_edit:          sonata_admin.url('sonata.page.admin.page|sonata.page.admin.block', 'edit', {'id': 'BLOCK_ID'})
+                    }
+                }|json_encode()|raw }}'
+                    {% endif %}>
+                <div class="container">
+                    <ul class="nav navbar-nav">
+                        {% if app.user and is_granted('ROLE_SONATA_ADMIN') %}
+                            <li><a href="{{ path('sonata_admin_dashboard') }}">{{ "header.sonata_admin_dashboard"|trans({}, 'SonataPageBundle') }}</a></li>
+                        {% endif %}
+
+                        {% if sonata_page.isEditor %}
+                            {% set sites = sonata_page.siteavailables %}
+
+                            {% if sites|length > 1 and site is defined %}
+                                <li class="dropdown">
+                                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ site.name }} <span class="caret"></span></a>
+                                    <ul class="dropdown-menu">
+                                        {% for site in sites %}
+                                            <li><a href="{{ site.url }}">{{ site.name }}</a></li>
+                                        {% endfor %}
+                                    </ul>
+                                </li>
+                            {% endif %}
+
+                            <li class="dropdown">
+                                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Page <span class="caret"></span></a>
+                                <ul class="dropdown-menu">
+                                    {% if page is defined %}
+                                        <li><a href="{{ sonata_admin.objectUrl('sonata.page.admin.page', 'edit', page) }}" target="_new">{{ "header.edit_page"|trans({}, 'SonataPageBundle') }}</a></li>
+                                        <li><a href="{{ sonata_admin.objectUrl('sonata.page.admin.page|sonata.page.admin.snapshot', 'list', page) }}" target="_new">{{ "header.create_snapshot"|trans({}, 'SonataPageBundle') }}</a></li>
+                                        <li class="divider"></li>
+                                    {% endif %}
+
+                                    <li><a href="{{ sonata_admin.url('sonata.page.admin.page', 'list') }}" target="_new">{{ "header.view_all_pages"|trans({}, 'SonataPageBundle') }}</a></li>
+
+                                    {% if error_codes is defined and error_codes|length %}
+                                        <li class="divider"></li>
+                                        <li><a href="{{ path('sonata_page_exceptions_list') }}" target="_new">{{ "header.view_all_exceptions"|trans({}, 'SonataPageBundle') }}</a></li>
+                                    {% endif %}
+                                </ul>
+                            </li>
+
+                            {% if page is defined %}
+                                <li>
+                                    <a href="{{ sonata_admin.url('sonata.page.admin.page', 'compose', {'id': page.id}) }}">
+                                        <i class="fa fa-magic"></i>
+                                        {{ 'header.compose_page'|trans({}, 'SonataPageBundle')}}
+                                    </a>
+                                </li>
+                            {% endif %}
+
+                            {% if page is defined and not page.enabled %}
+                                <li><span style="padding-left: 20px; background: red;"><strong><em>{{ 'header.page_is_disabled'|trans([], 'SonataPageBundle') }}</em></strong></span></li>
+                            {% endif %}
+
+                            {% if sonata_page.isInlineEditionOn and page is defined %}
+                                <li>
+                                    <form class="form-inline" style="margin: 0px">
+                                        <label class="checkbox inline" for="page-action-enabled-edit"><input type="checkbox" id="page-action-enabled-edit">{{ 'header.show_zone'|trans({}, 'SonataPageBundle') }}</label>
+                                        <input type="submit" class="btn" value="{{ 'btn_save_position'|trans({}, 'SonataPageBundle') }}" id="page-action-save-position">
+                                    </form>
+                                </li>
+                            {% endif %}
+                        {% endif %}
+
+                        {% if app.user and is_granted('ROLE_PREVIOUS_ADMIN') %}
+                            <li><a href="{{ url('homepage', {'_switch_user': '_exit'}) }}">{{ "header.switch_user_exit"|trans({}, 'SonataPageBundle')}}</a></li>
+                        {% endif %}
+
+                    </ul>
+                </div>
+            </header>
+
+        {% endif %}
+    {% endblock %}
+{% endblock %}
+
+{% block sonata_page_container %}
+    {% block page_container %}{% endblock %} {# Deprecated block #}
+{% endblock %}
+
+{% block sonata_page_asset_footer %}
+    {% block page_asset_footer %} {# Deprecated block #}
+        {% if page is defined %}
+        {% if page.javascript is not empty %}
+            <script>
+                {{ page.javascript|raw }}
+            </script>
+        {% endif %}
+        {% if page.stylesheet is not empty %}
+            <style>
+                {{ page.stylesheet|raw }}
+            </style>
+        {% endif %}
+        {% endif %}
+        {#
+            These includes can be done only at this point as all blocks are loaded,
+            Limition : this does not work if a global page is loaded from an ESI tag inside a container block
+        #}
+        {{ sonata_block_include_stylesheets('screen', app.request.basePath) }}
+        {{ sonata_block_include_javascripts('screen', app.request.basePath) }}
+    {% endblock %}
+{% endblock %}