Sprache auswählen

  • Deutsch
  • English
Stefan J. Truckers Homepage
  • Projekte Zeigbares
  • 3D Druck 3D Druck FDM / FFF
      • Back
      • STL. Sammlung
      • Fakten & Tipps
      • FDM Design Guide
      • Filament Finder
      • FDM 3D Druck Hilfestellung
      • FDM Firmware
          • Back
          • Klipper
          • RepRap Firmware
      • Kaufberatung
          • Back
          • 3D Drucker 3D Drucker
          • Komponenten
  • Media Foto Video Web
      • Back
      • Foto & Video
          • Back
          • Tipps
          • Equipment
      • Web
          • Back
          • Joomla CMS
          • Skripte & Codes
          • Optimierung
          • Sicherheit
          • Soziale Medien
      • Gallery
  • Programme Software
  • Bastel Ecke
      • Back
      • RC-Sport Funkgesteuert
      • CNC Fräsen
      • Laser Gravieren / Schneiden
  • Vita Alltägliches
      • Back
      • Haus & Wohnen
  • Über Über Stefan
      • Back
      • Werdegang
      • Gönne mir was
  • Unterstütze Projekt & Mich
  • Media
  • Web
  • Skripte & Codes
  • Joomla UiKit Mobile Menu
  • Foto & Video
      • Tipps
      • Equipment
  • Web
      • Joomla CMS
      • Skripte & Codes
      • Optimierung
      • Sicherheit
      • Soziale Medien
  • Gallery

Joomla UiKit Mobile Menu

Created
Donnerstag, 12. Januar 2023
Created by
Stefan J. Trucker
Last modified
Donnerstag, 12. Januar 2023
Revised by
Stefan J. Trucker
33 Joomla UiKit Mobile Menu /medias/web/skripte-codes/joomla-uikit-mobile-menu
  • 1
  • 2
  • 3
  • 4
  • 5

erstelle folgende Datei in /templates/[mon-template]/html/mod_menu/uikit.php

<?php
/**
 * uikit.php
 *
 * php version 5
 *
 * @category Joomla
 * @package Joomla.Site
 * @subpackage mod_menu
 * @author Folcomedia
 * @copyright 2014 Folcomedia
 * @license http://www.opensource.org/licenses/mit-license.html MIT License
 * @link http://www.folcomedia.fr
 */

defined('_JEXEC') or die;


/////////////// Menu PC / Tablette

echo '<nav class="uk-navbar" role="navigation">';
echo '<ul class="uk-navbar-nav uk-hidden-small"';
if ($params->get('tag_id') != null) {
 $tag = $params->get('tag_id').'';
 echo ' id="'.$tag.'"';
}
echo '>';

foreach ($list as $i => &$item) {
 $class = 'item-'.$item->id;

 if (in_array($item->id, $path)) {
 $class .= ' uk-active';
 }
 elseif ($item->type == 'alias') {
 $aliasToId = $item->params->get('aliasoptions');
 if (count($path) > 0 && $aliasToId == $path[count($path) - 1]) {
 $class .= ' uk-active';
 }
 }

 if ($item->parent) {
 $class .= ' uk-parent';
 }

 if ($item->shallower) {
 $class .= ' last';
 }

 if (!empty($class)) {
 $class = ' class="'.trim($class) .'"';
 }

 // Autres attributs
 $attr = '';
 if (strpos($class, 'uk-parent') !== FALSE) {
 $attr = ' data-uk-dropdown';
 }

 echo '<li'.$class.$attr.'>';

 // Render the menu item.
 switch ($item->type) :
 case 'separator':
 case 'url':
 case 'component':
 case 'heading':
 require JModuleHelper::getLayoutPath('mod_menu', 'default_'.$item->type);
 break;

 default:
 require JModuleHelper::getLayoutPath('mod_menu', 'default_url');
 break;
 endswitch;

 // The next item is deeper.
 if ($item->deeper) {
 echo '<div class="uk-dropdown">';
 echo '<ul class="uk-nav uk-nav-dropdown">';
 }
 // The next item is shallower.
 elseif ($item->shallower) {
 echo '</li>';
 echo str_repeat('</ul></div></li>', $item->level_diff);
 }
 // The next item is on the same level.
 else {
 echo '</li>';
 }
}

echo '</ul>';
echo '<a href="#uikid-'.$module->id.'" class="uk-visible-small" data-uk-offcanvas>';
echo '<span class="uk-navbar-toggle"></span> ';
echo '<span class="uk-navbar-toggle-link">'.JText::_('MENU').'</span>';
echo '</a>';
echo '</nav>';



/////////////// Menu Mobile

echo '<div id="uikid-'.$module->id.'" class="uk-offcanvas">';
echo '<div class="uk-offcanvas-bar">';
echo '<ul class="uk-nav uk-nav-offcanvas uk-nav-parent-icon" data-uk-nav="{multiple:true}">';

foreach ($list as $i => &$item) {
 $class = 'item-'.$item->id;

 if (in_array($item->id, $path)) {
 $class .= ' uk-active';
 }
 elseif ($item->type == 'alias') {
 $aliasToId = $item->params->get('aliasoptions');
 if (count($path) > 0 && $aliasToId == $path[count($path) - 1]) {
 $class .= ' uk-active';
 }
 }

 if ($item->parent) {
 $class .= ' uk-parent';
 }

 if ($item->shallower) {
 $class .= ' last';
 }

 if (!empty($class)) {
 $class = ' class="'.trim($class) .'"';
 }

 // Autres attributs
 $attr = '';
 if (strpos($class, 'uk-parent') !== FALSE) {
 $item->link = $item->flink = '#';
 $attr = ' data-uk-nav';
 }

 echo '<li'.$class.$attr.'>';

 // Render the menu item.
 switch ($item->type) :
 case 'separator':
 case 'url':
 case 'component':
 case 'heading':
 require JModuleHelper::getLayoutPath('mod_menu', 'default_'.$item->type);
 break;

 default:
 require JModuleHelper::getLayoutPath('mod_menu', 'default_url');
 break;
 endswitch;

 // The next item is deeper.
 if ($item->deeper) {
 echo '<ul class="uk-nav-sub">';
 }
 // The next item is shallower.
 elseif ($item->shallower) {
 echo '</li>';
 echo str_repeat('</ul></li>', $item->level_diff);
 }
 // The next item is on the same level.
 else {
 echo '</li>';
 }
}

echo '</ul>';
echo '</div>';
echo '</div>';

Nachdem die Datei online ist, kann diese Layouttyp nun Uikit ausgewählt werden.

Im suffix CSS können Breite und Margin eingetragen werden um zur Seite zu passen

Quellen
  1. Quelle NevenSys
  • Skripte & Codes Pannellum ein kompakter Panoramaviewer fürs Web
    3 / 7 Simple .stl viewer für Websiten
FaLang translation system by Faboba
  • Projekte Zeigbares
  • 3D Druck 3D Druck FDM / FFF
      • Back
      • STL. Sammlung
      • Fakten & Tipps
      • FDM Design Guide
      • Filament Finder
      • FDM 3D Druck Hilfestellung
      • FDM Firmware
          • Back
          • Klipper
          • RepRap Firmware
      • Kaufberatung
          • Back
          • 3D Drucker 3D Drucker
          • Komponenten
  • Media Foto Video Web
      • Back
      • Foto & Video
          • Back
          • Tipps
          • Equipment
      • Web
          • Back
          • Joomla CMS
          • Skripte & Codes
          • Optimierung
          • Sicherheit
          • Soziale Medien
      • Gallery
  • Programme Software
  • Bastel Ecke
      • Back
      • RC-Sport Funkgesteuert
      • CNC Fräsen
      • Laser Gravieren / Schneiden
  • Vita Alltägliches
      • Back
      • Haus & Wohnen
  • Über Über Stefan
      • Back
      • Werdegang
      • Gönne mir was
  • Unterstütze Projekt & Mich
  • Suche
  • Impressum
  • Datenschutzerklärung
  • Anmeldung
      • Back
      • Registrierung
  • Tags
      • Back
      • 3D Druck
      • YouTube
  • Sitemap
© 2025 Stefan J. Trucker

Urheberrecht

Die durch den Seitenbetreiber erstellten Inhalte und Werke auf dieser Website unterliegen dem österreichischen Urheberrecht. Beiträge Dritter sind als solche gekennzeichnet.
Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechts bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers.
Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet.

Sämtliche Bilder, Texte und Videos auf dieser Seite wurden vom Betreiber selbst erstellt, sofern nicht anders angegeben.

Gestaltung & Umsetzung von Stefan J. Trucker

3D Jake