Upgrade from 6.2.10 to 6.2.11

This document will only cover breaking changes, that could happen while overriding the Bootstrap Package.

Support multilevel tree in subnavigation

Frontend output of the submenu has changed and the 3rd level is now displayed by default. You will need to adapt this change if you are not using the theme that comes with the Bootstrap Package.

Before

Markup

<div class="hidden-print hidden-xs hidden-sm" role="complementary">
    <nav class="list-group">
        <a class="list-group-item active" href="#">Link 1</a>
        <a class="list-group-item active" href="#">Link 2</a>
    </nav>
</div>

After

Markup

<nav class="hidden-print hidden-xs hidden-sm" role="complementary">
    <ul class="nav nav-sidebar">
        <li><a href="#">Link 1</a></li>
        <li class="active">
            <a href="#">Link 2</a>
            <ul>
                <li class="active"><a href="#">Link 2.1">Link 2.1</a></li>
                <li><a href="#">Link 2.2">Link 2.2</a></li>
            </ul>
        </li>
    </ul>
</nav>

Drop version number for jQuery in filename

Previously we appended the version number to the jQuery filename, this has lead to missing jQuery versions if files were moved outside the bootstrap_package. We are not removing the version number to prevent jQuery is missing, this makes it also more easy to maintain in the build process. Check your TypoScript setup for possible overrides.

Before

TypoScript Setup

page.includeJSFooterLibs {
    jquery = {$page.includePath.javascript}Libs/jquery-x.xx.xx.min.js
}

After

TypoScript Setup

page.includeJSFooterLibs {
    jquery = {$page.includePath.javascript}Libs/jquery.min.js
}

Use default Bootstrap markup for navigation toggle

In previous builds Glyphicon icons were used to represent the toggle state of the main menu for smaller screen sizes. Also the toggle js was always loaded in within the main.js javascript file from the Bootstrap Package. This has lead to problems when the icon font was changed or the main javascript file was externally overriden.

Instead of adapting the custom markup to your theme the default bootstrap markup is now in use, so its working now also out of the box also if the custom theme from the Bootstrap Package is not included. The toggle state is now solved via a CSS class toggle and a bit of custom css in the Bootstrap Package theme. The JavaScript toggle functionality has been move into a single file so it can be easily turned of if you do not need it.

Before

Markup

<button class="navbar-toggle navbar-toggle-menu" type="button" data-toggle="collapse" data-target=".navbar-collapse">
    <span class="glyphicon glyphicon-list"></span>
    <span class="sr-only">Toggle navigation</span>
</button>

After

Markup

<button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target=".navbar-collapse">
    <span class="sr-only">Toggle navigation</span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
</button>

TypoScript Setup

page.includeJSFooterlibs {
    #### Toggle collapsed CSS class on the navbar toggle button
    bootstrap_navbartoggle = {$page.includePath.javascript}Libs/bootstrap.navbartoggle.min.js
}

Custom Lightbox JavaScript has been moved

In order to make the package more modular we removed the main.js file in favor of single files for each functionality so it can be added or removed more easily.

After

TypoScript Setup

page.includeJSFooterlibs {
    #### Basic lightbox implementation for bootstrap
    bootstrap_lightbox = {$page.includePath.javascript}Libs/bootstrap.lightbox.min.js
}

LESS files have been moved private to public

The resources folder in TYPO3 extensions is protected by default that made it impossible to make real usage of CSS SourceMaps. The files have been moved to Resources/Public, please ensure that your update your references to these files.

Before

EXT:bootstrap_package/Resources/Private/Less/

After

EXT:bootstrap_package/Resources/Public/Less/

Corrected calculation of relative paths in build in LESS parser

Calculation of relative paths in less should now be resolved correctly. The wired relative paths you have to set before will no longer be working and you need to set the constants now relative from the LESS file that is parsed.

Before

TypoScript Constants

plugin.bootstrap_package {
    settings.less {
        icon-font-path = "../../../../../typo3conf/ext/bootstrap_package/Resources/Public/Fonts/"
    }
}

After

TypoScript Constants

plugin.bootstrap_package {
    settings.less {
        icon-font-path = "../../Fonts/"
    }
}

Template Fallbacks

We enabled fallbacks for page templates, so you can extend the package without the need to copy all the templates if you want to change parts of the templates.

Before

TypoScript Setup

page.10 {
    file.stdWrap.cObject = CASE
    file.stdWrap.cObject {

        key.data = levelfield:-1, backend_layout_next_level, slide
        key.override.field = backend_layout

        bootstrap_package__default_clean = TEXT
        bootstrap_package__default_clean.value = {$page.fluidtemplate.templateRootPath}DefaultClean.html
        bootstrap_package__default_clean.insertData = 1

        ...

    }
    partialRootPath = {$page.fluidtemplate.partialRootPath}
    layoutRootPath = {$page.fluidtemplate.layoutRootPath}
}

After

TypoScript Setup

page.10 {
    templateName = TEXT
    templateName.stdWrap.cObject = CASE
    templateName.stdWrap.cObject {

        key.data = levelfield:-1, backend_layout_next_level, slide
        key.override.field = backend_layout

        bootstrap_package__default_clean = TEXT
        bootstrap_package__default_clean.value = DefaultClean

        ...

    }
    templateRootPaths {
        0 = EXT:bootstrap_package/Resources/Private/Templates/Page/
        1 = {$page.fluidtemplate.templateRootPath}
    }
    partialRootPaths {
        0 = EXT:bootstrap_package/Resources/Private/Partials/Page/
        1 = {$page.fluidtemplate.partialRootPath}
    }
    layoutRootPaths {
        0 = EXT:bootstrap_package/Resources/Private/Layouts/Page/
        1 = {$page.fluidtemplate.layoutRootPath}
    }
}

Deprecated fallbacks

Fallbacks for deprecated backendlayout keys have been removed, use the alternatives instead.

Removed Templates

bootstrap_package__default_subnavigation
bootstrap_package__default_subnavigation_2_columns

Alternatives Templates

bootstrap_package__default_subnavigation_right
bootstrap_package__default_subnavigation_right_2_columns

Support for EXT:THEMES removed

Through lack of resources we removed the support for ext:themes. It is not planned to support ext:themes in the future again.