Skip to content

Commit

Permalink
Merge pull request #27 from ec-europa/AGM-224-fatal-error-after-AGM-u…
Browse files Browse the repository at this point in the history
…pdate-multisite-2-6

Agm 224 fatal error after agm update multisite 2 6
  • Loading branch information
serotonine authored Dec 3, 2020
2 parents 49aaf0e + 5f22fa0 commit 8eb07c2
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 62 deletions.
4 changes: 2 additions & 2 deletions header_footer_corporate.info
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ dependencies[] = i18n_menu
dependencies[] = easy_breadcrumb
dependencies[] = nexteuropa_europa_search
version = "7.x-2.3"
php = 5.6
multisite_version = 2.5
php = 7.3
multisite_version = 2.6
7 changes: 4 additions & 3 deletions templates/breadcrumb-ec-corporate.tpl.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,20 @@
<ol class="ecl-breadcrumb__container">
<?php foreach ($breadcrumb as $value): ?>
<?php if ($i < $count - 1): ?>

<li class="ecl-breadcrumb__segment" data-ecl-breadcrumb-item="static" aria-hidden="false">
<?php print \l($value['content'], $value['url'], $value['options']); ?>
<?php print $value; ?>
<svg focusable="false" aria-hidden="true"
role="presentation" class="ecl-breadcrumb__icon ecl-icon ecl-icon--xs ecl-icon--rotate-90">
<use xlink:href="<?php print HeaderFooterCorporateHelpers::getAssetsPath(); ?>/images/icons/sprites/icons.svg#ui--corner-arrow"></use>
</svg>
</li>
<?php else: ?>
<?php // Last element is the current. ?>
<li class="ecl-breadcrumb__segment ecl-breadcrumb__current-page" aria-current="page" data-ecl-breadcrumb-item="static" aria-hidden="false"><?php print $value['content']; ?></li>
<li class="ecl-breadcrumb__segment" aria-current="page" data-ecl-breadcrumb-item="static" aria-hidden="false"><?php print render($value); ?></li>
<?php endif; ?>
<?php $i++; ?>
<?php endforeach; ?>
</ol>
</nav>
<h1 class="ecl-page-header__title" aria-current="page"><?php print $page_title; ?></h1>
<div class="ecl-page-header__title"><?php print $site_name; ?></div>
83 changes: 26 additions & 57 deletions templates/breadcrumb_ec_corporate.component.inc
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,37 @@
* Contains component file.
*/

/**
* Implements hook_easy_breadcrumb_breadcrumb_alter().
*/
function header_footer_corporate_preprocess_breadcrumb_ec_corporate(&$variables, $hook) {

// Used in loop templating.
$variables['i'] = 0;
$variables['count'] = count($variables['breadcrumb']);
$variables['site_name'] = variable_get('site_name', 'Drupal');

}

/**
* Implements hook_preprocess_HOOK().
* Implements hook_easy_breadcrumb_breadcrumb_alter().
*/
function header_footer_corporate_preprocess_breadcrumb_ec_corporate(&$variables, $hook) {
global $language;
function header_footer_corporate_easy_breadcrumb_breadcrumb_alter(array &$breadcrumb) {
// Remove the last breadcrumb element for node pages.
global $language;
// We have $breadcrumb without static items from "Breadcrumb menu".
// We add this static items and programatically add the homepage link.
// Menu items [123] + Homepage [homepage] + Breadcrumbs [456].
// [456].
$breadcrumb = $variables['breadcrumb'];

// Clean data.
foreach ($breadcrumb as $key => &$b) {
// Unset item when no 'url' and not the last item.
if(!isset($b['url']) && next($breadcrumb) !== FALSE){
unset($breadcrumb[$key]);
continue;
}

$class = array('ecl-breadcrumb__link', 'ecl-link ecl-link--standalone');
if (isset($b['class'])) {
$class = $class + $b['class'];
unset($b['class']);
}
$b['options'] = array(
'attributes' => array(
'class' => $class,
),
);
$b['class'] = $class;
}
// [homepage][456].
// Add programatically the homepage if there is no EasyBreadcrumb setting.
Expand All @@ -47,49 +51,14 @@ function header_footer_corporate_preprocess_breadcrumb_ec_corporate(&$variables,
));
}

// [123][homepage][456].
$static_breadcrumb = array();
foreach (menu_tree('menu-breadcrumb-menu') as $mlid => $value) {
if (!is_int($mlid)) {
continue;
}
// Filter enabled items.
if (!empty($value['#original_link']['hidden'])) {
continue;
}
if (!in_array($value['#original_link']['language'], array(
LANGUAGE_NONE,
$language->language, language_default('language'),
))) {
continue;
}

$static_breadcrumb[] = array(
'content' => $value['#original_link']['title'],
'options' => array(
'attributes' => array(
'class' => array('ecl-breadcrumb__link', 'ecl-link ecl-link--standalone'),
),
),
'url' => $value['#original_link']['href'],
);
}
foreach (array_reverse($static_breadcrumb) as $static_b) {
array_unshift($breadcrumb, $static_b);
}

// Copy last level to set page_title.
$copy_last = array_slice($breadcrumb, -1);
$variables['page_title'] = array_pop($copy_last)['content'];

// Used in loop templating.
$variables['i'] = 0;
$variables['count'] = count($breadcrumb);

// Classify current element.
$last_breadcrumb = array_pop($breadcrumb);
$last_breadcrumb['options']['attributes']['class'][] = '';
if(is_array($last_breadcrumb)) {
$content = $last_breadcrumb['content'];
$last_breadcrumb = array(
'content' => $content,
'class' => array('ecl-breadcrumb__current-page'),
);
}
$breadcrumb[] = $last_breadcrumb;

$variables['breadcrumb'] = $breadcrumb;
}

0 comments on commit 8eb07c2

Please sign in to comment.