Page 1 of 1

Anpassung der Navigationsleiste

Posted: Sat 30. Apr 2016, 00:08
by Florian-s
Hallo,

ich würde gerne in der Navigationsleiste (Allgemein, Einstellungen, Tools, etc.) einen extra Punkt mit ein paar Links hinzufügen. In welcher Datei muss ich die Änderungen vornehmen?

Hab schon gesucht, aber wenn ich Dateien im Theme Ordner aufrufe sind diese ja scheinbar irgendwie codiert...

Gruß
Florian

Re: Anpassung der Navigationsleiste

Posted: Mon 2. May 2016, 11:53
by Alexander
Hallo,

Das Erstellen eigener Themes, bzw. das direkte Anpassen der Theme Dateien im Ordner keyhelp/themes/ ist derzeit [bewusst] nicht vorgesehen.
(Es ist sehr wahrscheinlich, das auf Kurz oder Lang das freie Editieren ermöglicht wird.)

Zur Anpassung an Ihre eigenen Wünsche steht Ihnen im Moment die Whitelabel-Funktion zur Verfügung, hierüber können Sie mithilfe von Javascript Anweisungen (auch jQuery kann hier verwendet werden) Veränderungen am Layout vornehmen.

Sollten Sie Hilfe bei der Umsetzung benötigen, kann ich Ihnen gern weiter helfen [per PM oder hier].

Anbei mal ein paar Beispiele:

Fügt einen zusätzlichen Link unter Tools hinzu

Code: Select all

$(document).ready(function(){

  $('.nav a[href*="phpmyadmin"]').closest('ul').append(
    '<li>' + 
    '  <img style="vertical-align: bottom;" src="theme/default/images/icon_nav.png" alt="" width="16" height="16">' +
    '  <a href="https://www.keyhelp.de" target="_blank">Zusätzliches Tool</a>' +
    '</li>'
  );
  
});
Fügt einen Link unter Einstellungen hinzu

Code: Select all

$(document).ready(function(){
    
  $(".nav ul:nth-child(4)").append(
    '<li>' + 
    '  <img style="vertical-align: bottom;" src="theme/default/images/icon_nav.png" alt="" width="16" height="16">' +
    '  <a href="https://www.keyhelp.de" target="_blank">Zusätzlicher Link</a>' +
    '</li>'
  );

  // Alternativ diese Lösung: das kann notwendig sein, wenn ein Container im Admin-Menü an anderer Position steht wie im User-Menü 
  $(".nav h4").filter(function() { return ( ['Einstellungen', 'Settings', 'Настройки'].indexOf($(this).text()) > -1 ) }).next().append(
    '<li>' + 
    '  <img style="vertical-align: bottom;" src="theme/default/images/icon_nav.png" alt="" width="16" height="16">' +
    '  <a href="https://www.keyhelp.de" target="_blank">Zusätzlicher Link</a>' +
    '</li>'
  );
  
});
Fügt einen neuen "Navigations-Container" an das Ende der Navigation an

Code: Select all

$(document).ready(function(){
  
  $('.nav').append(
    '<h4>Container-Überschrift</h4>' +
    '  <ul>' + 
    '    <li>' + 
    '	   <img style="vertical-align: bottom;" src="theme/default/images/icon_nav.png" alt="" width="16" height="16">' +
    '      <a href="https://www.keyhelp.de" target="_blank">Link zu www.keyhelp.de</a>' +
    '    </li>'+
    '  </ul>'
  );
  	
});

Etwas nur für den Admin / Benutzerbereich anzeigen

Code: Select all

// Das Folgende wird nur im Adminbereich angezeigt
if( $('a[href^="?page=admin_index"]').length > 0 ) { 
  ...
  Anweisungen
  ...
}

// Das Folgende wird nur im Userbereich angezeigt
if( $('a[href^="?page=user_index"]').length > 0 ) { 
  ...
  Anweisungen
  ...
}

Re: Anpassung der Navigationsleiste

Posted: Mon 2. May 2016, 15:05
by Florian-s
Ok, das würde mir über diesen Weg auch erstmal vollkommen ausreichen! :D

Hab das ganze mal getestet, wenn ich aber zum Beispiel einer der beiden ersten Codeschnipsel einfüge passiert gar nichts...

Bei einem neuen Funktions-Container klappt es...

Re: Anpassung der Navigationsleiste

Posted: Mon 2. May 2016, 16:08
by Alexander
Habe gerade nochmal erfolgreich alle Schnipsel getestet, sowohl mit KeyHelp 14.6.1 + 14.6.2.
=> Hat alles, wie gewünscht funktioniert.

Auf welcher Version läuft Ihr KeyHelp?

Haben Sie bei Whitelabel-Einstellung die Zeile mit "Alle Sprachen" editiert?

Haben Sie die Einstellung "gespeichert" oder mittels "Vorschau auf dieser Seite" überprüft?

Könnten Sie in Ihrem Browser einmal die Entwicklerkonsole öffnen und dort ggf. angezeigte Javascript-Fehler mitteilen?

Besten Dank!