Archief - Drupal theme function overwrite

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

demon326

Legacy Member
Hallo allen, ik heb enkele dagen geleden al ons thema naar D7 overgezet zodat we de dit later niet meer hoeven te doen, alles is klaar, op één klein probleem na, ik moet een span met een bepaalde class toevoegen binnen een li element..

de code zou er dan zo moeten uitzien:
HTML:
<ul class="tabs">
<li class=activ><a class="activ" href="link hier">
<span class="tabs">tab titel hier</span>
<span class="element-invisible">active</span>
</a>
</li>
</ul>

Op dit moment ziet de code er zo uit:
HTML:
<ul class="tabs">
<li class=activ><a class="activ" href="link hier">tab titel hier
<span class="element-invisible">active</span>
</a>
</li>
</ul>


Dit is de code die de 'element-invisible' class toevoegt, deze checkt of de tab actief is, indien zo wordt ie toegevoegd, anders niet. Ik wil dus dat hij die andere span toevoegt ongeacht of deze actief is of niet...

PHP:
function ashladan_menu_local_task($variables) {
  $link = $variables['element']['#link'];
  $link_text = $link['title'];

  if (!empty($variables['element']['#active'])) {
    // Add text to indicate active tab for non-visual users.
    $active = '<span class="element-invisible">' . t('(active tab)') . '</span>';

    // If the link does not contain HTML already, check_plain() it now.
    // After we set 'html'=TRUE the link will not be sanitized by l().
    if (empty($link['localized_options']['html'])) {
      $link['title'] = check_plain($link['title']);
    }
    $link['localized_options']['html'] = TRUE;
    $link_text = t('!local-task-title !active', array('!local-task-title' => $link['title'], '!active' => $active));
  }

  return '<li' . (!empty($variables['element']['#active']) ? ' class="active"' : '') . '>' . l($link_text, $link['href'], $link['localized_options']) . "</li>\n";
}

referentie materiaal:theme_menu_local_task | Drupal API

Hoop dat iemand me hier mee verder kan helpen:unsure:

Mvg,
Benny

demon326

Legacy Member
Opgelost...

de oplossing voor moest iemand deze ooit nodig hebben:

PHP:
function themenaam_menu_local_task($variables) {
  $link = $variables['element']['#link'];
  // If the link does not contain HTML already, check_plain() it now.
  // After we set 'html'=TRUE the link will not be sanitized by l().
  if (empty($link['localized_options']['html'])) {
    $link['title'] = check_plain($link['title']);
  }
  $link['localized_options']['html'] = TRUE;

  $link_text = $link['title'];

  if (!empty($variables['element']['#active'])) {
    // Add text to indicate active tab for non-visual users.
    $active = '<span class="element-invisible">' . t('(active tab)') . '</span>';
    $link_text = t('!local-task-title !active', array('!local-task-title' => $link['title'], '!active' => $active));
  }

  $link_text = '<span class="tabs">' . $link_text . '</span>';

  return '<li' . (!empty($variables['element']['#active']) ? ' class="active"' : '') . '>' . l($link_text, $link['href'], $link['localized_options']) . "</li>\n";
}
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan