"slickNav" zusammen mit dem "LanguageSwitch" von OG

If you have created additional (non official) documentation or tutorials or something like that please post this here
Old Boy
Posts: 1122
Joined: Fri 23. Nov 2012, 13:52

"slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by Old Boy » Fri 15. May 2015, 23:51

Der Versuch, eine "modernen Navigation" (slickNav) in phpwcms nur mit Bordmitteln ans Laufen zu bringen.
===================================================================

Das Script für die responsive Navigation herunterladen bei: http://slicknav.com

Die Datei "SlickNav-master.zip" entpacken

und den kompletten Ordner "slickNav-master" ablegen:

".../template/lib/slickNav-master"

Den so kopierten Ordner Umbenenen in: ".../template/lib/slickNav/"

----------------------------------------------------------

Das Script für die Language-Umschaltung "phpwcms-languageSwitch" hier herunterladen:
https://github.com/slackero/phpwcms-extended

Die beiden enthaltenen Dateien entsprechend der Anweisung, an die "passende" Stelle kopieren.

----------------------------------------------------------

In der Datei: "lang.init.php"
=================

ab Zeile 23 die korrekten Kategorie-IDs für die einzelnen Sprachbereiche eingeben:

Code: Select all

$phpwcms['id_lang'] = array(
 // cat-ID    LANG
        60 => 'de', // Hier die korrekte Cat-ID für den DEUTSCHEN Bereich eingeben !
        61 => 'en', // Hier die korrekte Cat-ID für den ENGLISCHEN Bereich eingeben !
     // 88 => 'fr', //
     // 99 => 'es' //
);
$phpwcms['lang_id'] = array_flip($phpwcms['id_lang']);
In der Datei: "lang.render.php"
===================

ab Zeile 21:

Code: Select all

$content_search = array(
   'nav_main'     => '{NAV_MAIN}',        // aktivieren !
	'switch_lang'  => '{SWITCH_LANG}',
	'current_lang' => '{LANG}'
);
$content_replace = array(
   'nav_main'     => '',                  // aktivieren !
	'switch_lang'  => '',
	'current_lang' => $phpwcms['i18_lang']
);
$content_search_regexp = array();
$content_replace_regexp = array();
ab Zeile 53:

Code: Select all

'lang_native'	=> array(
	'de' => array('DEUTSCH', 'Deutsch'), // 1.Wert = Anzeige im FrontEnd | 2.Wert = LINK-Text
	'en' => array('ENGLISH', 'English'),
ab Zeile 171:

Code: Select all

// Take the language switch menu
$content_replace['switch_lang'] = implode(LF, $content['auto_lang']['opposite']);

// Build the main menu (BootStrap styled) "B"= Standard | "P" = Parent Element anzeigen   
// $content_replace['nav_main'] = buildCascadingMenu('B,'.$phpwcms['nav_entry_id'].', , active|nav navbar-nav navbar-right, active'); //nav-justified
// Neue NAV_LIST_UL Anweisung, fuer die Verwendung als "slickNav" Menue
   $content_replace['nav_main'] = buildCascadingMenu('P,'.$phpwcms['nav_entry_id'].',,,,slickNav'); 	                     
In der Hauptvorlage einfügen:
Nachfolgend sind die später gekommenen Vorschläge von Oliver jetzt (jedoch ohne den CSS "Kram") eingearbeitet worden. Ordnung in das Chaos - insbesondere hinsichtlich der Verteilung von Formatierungen etc. - sollte/muss jedoch der interessierte Leser selber bringen!

Code: Select all

<!-- CSS: {TEMPLATE}lib/slickNav/dist/slicknav.css -->
<!-- CSS: /* Klar, das gehoert nach dem  Testen natuerlich in eine CSS-Datei */
        #slickNav-container { display: block; } /* Horizontale Hauptnavigation / 1. Ebene anzeigen */ 
        .slicknav_menu { display: none; }
        .slicknav      { display: none; }         
        @media screen and (max-width:979px) {   /* Grenzwert, bei dem die Navigation umschalten soll */
           .slicknav_menu   { display: block; }
           .js #slickNav_0  { display: none; }  /*  0 = Kategorie-ID der "index" Ebene    */
           .js #slickNav_60 { display: none; }  /* 60 = Kategorie-ID der "de" Startebene */
           .js #slickNav_61 { display: none; }  /* 61 = Kategorie-ID der "en" Startebene */
           .js .slicknav    { display: block; }
        }
-->
<!-- Die nachfolgende "Aktivierung von jQuery" sollte wohl besser in der Vorlage (Backend) vorgenommen werden ! -->
<!-- JS: http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js -->

<!-- JS: http://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js -->

<!-- JS: {TEMPLATE}lib/slickNav/dist/jquery.slicknav.js -->
<!-- JS: $(function(){ 
         $("#slickNav-container").children().first().slicknav({
         	prependTo: 'body',       // Element, jQuery object, or jQuery selector string to prepend the mobile menu to. 
            showChildren: false,     // false / Show children of parent links by default.
            removeIds: false,        // false / Remove IDs from all menu elements. Defaults to true if duplicate is true.
            removeClasses: false,    // false / Remove classes from all menu elements.
            closeOnClick: false,     // false / Close menu when a link is clicked.
         	brand: 'pepes SandBox',  // Site-Name Anzeige im Header
         	label: 'slickNav'        // Bezeichnung des Menue-Icons, wenn gewuenscht
         }); 
}); 
-->

<!-- CSS: /* Fuer die Anzeige der horizontalen Navigation verwendete Formatierung, die spaeter jedoch besser in einer CSS-Datei aufgehoben ist! */
        #slickNav-container { background: #111; }

        #slickNav-container ul {
           width: 960px; list-style-type: none; margin: 0px auto; padding: 0 10px; }
        #slickNav-container ul ul { display: none; }

        #slickNav-container li {
           float: left;
           background: #444;
           padding: 5px 10px;
           margin: 29px 1px 0px;
           text-decoration: none;
           font: 12px "Lucida Grande", Lucida, Verdana, sans-serif;
           text-transform: uppercase;
        }
        #slickNav-container li a { color: #fff; }
        #slickNav-container li a:hover { color: red; text-decoration: none; }
-->

<!-- Nachfolgend wird die Navigation eingefuegt. / Ganz oben im Haupttemplate einsetzen! -->

<div id="slickNav-container" class="clearfix">
   <!-- Die NAV_LIST_UL typische Navigation wurde ja zuvor schon in der Datei "lang.render.php" eingestellt! -->
   {NAV_MAIN} 
   <div style="clear:both;"></div><!-- Klar machen wir das CLEAR-Gedöns eleganter mit dem "clearfix" ... so denn in der verwendeten CSS tatsaechlich vorhanden -->
</div>


<!-- CSS: /* Damit der Language-Switch nach "was aussieht", ist noch erforderlich. Auch dieser Bereich ist besser in einer CSS-Datei aufgehoben! */
.lang-switch { float: left; opacity: 0.5; text-decoration: none;
   margin: 0 2px 5px 0; padding: 4px 8px 4px 32px; border: 1px solid #666;
}
.lang-switch.lang-de { 
   background: #eee url(../../../img/famfamfam/lang/de.png) 8px center no-repeat;
}
.lang-switch.lang-en { 
   background: #eee url(../../../img/famfamfam/lang/en.png) 8px center no-repeat;
}
.lang-switch.lang-de.lang-active, .lang-switch.lang-en.lang-active { 
   background-color: #fff; opacity: 1;
}
-->

<!-- Der Language-Switch selber soll genau HIER erscheinen: -->
{SWITCH_LANG}

<!-- Um auch das Breadcrumb-Menue jeweils in der sprachabhaengigen Startkategorie beginnen zu lassen: -->
<div id="breadcrumb-container">
[B]@@Sie sind hier@@ :&nbsp;[/B] [LEVEL1_ID]{BREADCRUMB:{LEVEL1_ID}}[/LEVEL1_ID][LEVEL1_ID_ELSE]{BREADCRUMB}[/LEVEL1_ID_ELSE]
</div>
So hab ich es experimentell gemacht und es läuft in meiner SandBox ohne Probleme: http://2014.pepes-sandbox.de

Tante EDIT meint:
Die "SandBox" heisst übrigens so, weil dort gerade ein paar Navigationen "ausprobiert" werden und natürlich noch eine Menge Sand im Getriebe ist ... den jeder bitte selber an die richtige Stelle schaufeln sollte!
Wer Fehler findet oder Verbesserungsvorschläge hat, bitte gerne hier anhängen!

Viel Spass beim Spielen!!! und - wie gesagt - besser kann ich's nicht! Du machst das garantiert besser :wink:
Last edited by Old Boy on Sun 17. May 2015, 18:44, edited 3 times in total.

User avatar
Oliver Georgi
Site Admin
Posts: 9578
Joined: Fri 3. Oct 2003, 22:22
Location: Moscow, Russia
Contact:

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by Oliver Georgi » Sat 16. May 2015, 06:34

Zur Erinnerung:

Nutzt normale Schreibweise, wann immer möglich und es sich um keinen Eigennamen handelt:
<a>DEUTSCH</a> = <a class="uppercase">deutsch</a> .uppercase{text-transfrom:uppercase;}

Zusammenfassen von CSS und JavaScript, wann immer sinnvoll/möglich. Es genügt eine einzige Anweisung für document ready — und so schreibt man das schon lange nicht mehr

Code: Select all

$(function() { //… }); = $(document).ready(function(){ //… });
Unnütze Elemente Prüfungen vermeiden. Allerdings würde ich es über eine Klasse, statt ID lösen.

Code: Select all

$("#slickNav_0,#slickNav_60,#slickNav_61").slicknav();
// Besser auf Basis Deines Codes
<div id="slickNav-container" class="cf clearfix"><!-- cf für das Beispiel siehe Link, clearfix häufig eindeutiger -->
   <!-- Die folgende Navigation wird in der Datei "lang.render.php" eingestellt -->
   {NAV_MAIN} 
</div>
$("#slickNav-container").children().first().slicknav();
// oder (dürfte etwas langsamer sein)
$("#slickNav-container > :first-child").slicknav();
NEVER EVER LOAD JQUERY AGAIN!!!
phpwcms bringt alle möglichen jQuery Versionen von Haus aus! Das IST VERBOTEN!!! Wenn immer benötigt, Checkbox setzten in der Vorlage, OK?!!!
<!-- JS: http://ajax.googleapis.com/ajax/libs/jq ... ery.min.js -->

Und endlich Hände weg von überflüssigen clear Elementen. Clearfix Clearfix Clearfix!
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон

Old Boy
Posts: 1122
Joined: Fri 23. Nov 2012, 13:52

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by Old Boy » Sat 16. May 2015, 14:38

Danke Oliver für deine ERINNERUNGEN...

EIniges war mir (natürlich) neu, anderes hab ich nur so geschrieben, weil ich nicht weiss, wie ein "Tester" seinen Hauptbereich aufgebaut hat, ob z.B. ein Clearfix überhaupt per css angelegt ist.

Ich werde natürlich versuchen, alle deine "Mahnungen" zu berücksichtigen und meinen Code zu bereinigen, nochmals Danke!

Old Boy
Posts: 1122
Joined: Fri 23. Nov 2012, 13:52

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by Old Boy » Sat 16. May 2015, 18:39

Jetzt habe ich allerdings noch ein Problem:

Das Breadcrumb-Menu sollte jetzt natürlich auch in der passenden Strukturebene starten,
also eine Erweiterung im Script, etwas wie:

{BREADCRUMB_LANG}

wäre toll, mit dem dann automatisch die passenden Werte für die jeweilige Startebene eingesetzt werden:

also (in meinem Fall):
{BREADCRUMB:60} für den DEUTSCHEN Bereich
und:
{BREADCRUMB:61} für den ENGLISCHEN Bereich

Mein erbärmlicher Versuch mit

Code: Select all

// Versuch eines "angepassten" Breadcrumb-Menues ------------------------------------------
	   $content_replace['breadcrumb_lang'] = ('{BREADCRUMB:'.$phpwcms['nav_entry_id'].'}');
scheitert natürlich kläglich. Es wird zwar der Klartext durchaus passend ausgegeben,

{BREADCRUMB:60}
und
{BREADCRUMB:61}

aber leider nicht das Breadcrumb-Menü selbst generiert: http://2014.pepes-sandbox.de/de/index.html :oops: :roll: :?

OK, ich hatte eigentlich nix anderes erwartet... aber doch erhofft :D

User avatar
Oliver Georgi
Site Admin
Posts: 9578
Joined: Fri 3. Oct 2003, 22:22
Location: Moscow, Russia
Contact:

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by Oliver Georgi » Sun 17. May 2015, 07:03

Wie wäre es denn mit:

Code: Select all

[IF_CAT:60,61]{BREADCRUMB:{IF_CAT_ID}}[/IF_CAT][IF_NOTCAT:60,61]{BREADCRUMB}[/IF_NOTCAT]
Oder gilt ab Ebene 1 (globaler und etwas performanter)

Code: Select all

[LEVEL1_ID]{BREADCRUMB:{LEVEL1_ID}}[/LEVEL1_ID][LEVEL1_ID_ELSE]{BREADCRUMB}[/LEVEL1_ID_ELSE]
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон

User avatar
juergen
Moderator
Posts: 4553
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by juergen » Sun 17. May 2015, 10:16

phpwcms script :)

Old Boy
Posts: 1122
Joined: Fri 23. Nov 2012, 13:52

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by Old Boy » Sun 17. May 2015, 15:31

Also, ich hab jetzt mal verschiedene Versionen versucht:
http://2014.pepes-sandbox.de/de/neuigkeiten.html

Hatte ich bei Test 2 ja noch Hoffnungen, so klappte es nur im DEUTSCHEN Bereich der Installation.
Im ENGLISCHEN Bereich wird immer auch die (ungewünschte) Home Seite vorgesetzt!

Ich habe mich dann für die Variante aus Test 4 entschieden, die macht genau das aus dem Breadcrumb-Menü, was ich mir vorgestellt habe!

Code: Select all

[LEVEL1_ID]{BREADCRUMB:{LEVEL1_ID}}[/LEVEL1_ID][LEVEL1_ID_ELSE]{BREADCRUMB}[/LEVEL1_ID_ELSE]
Vielleicht liesse sich das ja doch noch z.B. als {BREADCRUMB_LANG} in die lang.render.php einarbeiten :D

User avatar
Oliver Georgi
Site Admin
Posts: 9578
Joined: Fri 3. Oct 2003, 22:22
Location: Moscow, Russia
Contact:

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by Oliver Georgi » Sun 17. May 2015, 15:55

Test 2 ist auch ineffektiv, da alles 2x gerendert werden muss.
[IF_CAT:…] greift nur exakt in der Kategorieebene, nicht in Kindebenen.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон

Old Boy
Posts: 1122
Joined: Fri 23. Nov 2012, 13:52

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by Old Boy » Sun 17. May 2015, 17:04

Aha, danke für die Info.
Sowas in der Richtung hatte ich mir schon gedacht.

OK, aber eine 100%ig funktionierend Lösung habe ich ja jetzt.

War doch gut, dass ich gefragt habe,
so habe ich wieder eine Menge gelernt, was alles noch in der unendlichen Tiefe von phpwcms an Möglichkeiten "schlummert" :D

PRIMA und DANKE :!:

Old Boy
Posts: 1122
Joined: Fri 23. Nov 2012, 13:52

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by Old Boy » Sun 17. May 2015, 18:30

So, die von Oliver aufgezeigten Lösungen habe ich jetzt im Startbeitrag eingepflegt.

Ausnahme ist das Einordnen der CSS-Formatierungen in eine CSS-Datei...
das mache ich gewöhnlich erst, wenn alles reibungslos funktioniert.
Aber, wer das Muster-Experiment nachmacht, wird diese Arbeit ja sowieso nach dem Testen erledigen.
So war, für mich die Demonstration wesentlich einfacher :wink:



Ich spare mir hier natürlich die Bemerkung, dass ein TemplateTransporter solche Experimente wesentlich vereinfachen würde :lol:
Duck ... und wech ........... :D .............
Ich geh' jetzt wieder "Enten füttern" am See! Da sitzt auch immer diese nette Dame von App. 110! Schönen Abend noch :wink:

Old Boy
Posts: 1122
Joined: Fri 23. Nov 2012, 13:52

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by Old Boy » Mon 15. Jun 2015, 16:19

Prima, Freunde, die Sache mit dem Language-Switch läuft jetzt wie "ein Döppken", das hat dank Olivers Hilfe nahezu reibungslos geklappt (Was ich doch auch einmal ausdrücklich erwähnen möchte! Nein, nicht nur "meckern"!).

Nun passiert es aber natürlich, insbesondere bei der Entstehung" einer Internetseite, dass noch nicht alle Artikel übersetzt sind.
In dem Fall springt der SWITCH ja zur HOMEPAGE der angeklickten Sprache, OK, natürlich auch eine Lösung.

Pers. halte ich das aber für keine ideale Lösung, denn wenn der Besucher über eine Suchmaschine auf einen Artikel kommt, der in der Tiefe der Navigationsstruktur verborgen ist, allerdings die Sprache nicht passt, dann wird der Besucher sicher die Flagge seines Landes gerne anklicken... und enttäuscht sein, wo er landet.

Wie müsste ich das das Script des Language-Switch denn ändern, um im Falle einer nicht vorliegenden Pendants in der gewünschten Sprache einfach gar keinen aktiven LINK zu generieren, sondern nur den Namen???

Hat jemand der phpwcms Hardcore-User ggf. in der Richtung schon mal was versucht???

User avatar
Oliver Georgi
Site Admin
Posts: 9578
Joined: Fri 3. Oct 2003, 22:22
Location: Moscow, Russia
Contact:

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by Oliver Georgi » Mon 15. Jun 2015, 17:20

Das ist ja das Problem, niemand versucht etwas. Es ist alles offen, es ist alles da und es dauert nur wenige Minuten, das so umzustellen.

Jeder (also fast jeder) verlässt sich auf meine Zulieferung, und jeder (fast jeder) ist wichtiger als der andere. Für mich haben grundsätzlich bezahlte Aufträge Vorrang, in jedem Fall – und auch das ist immer schwierig zu takten! Ich fahre im Schnitt eine 70- bis 80-Stunden Woche. Dann ist da noch ein Privatleben mit einigen zeitintensiven Hobbys, die gerade an den schönen Tagen gepflegt werden wollen — und diese Zeit ist auch NICHT kaufbar! Und dann — und nur dann — ist Zeit, noch mehr zu geben. Deswegen ist auch jede Aussage, wie bald oder am Wochenende oder in 6 Wochen schnell Makulatur. Ich habe da keine befriedigendere Aussage. Anscheinend fehlen manchen aber tatsächlich die Vergleiche, wie es bei den anderen Systemen läuft. Es ist dort häufig nicht anders.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон

User avatar
top
Posts: 464
Joined: Fri 11. Aug 2006, 15:03
Location: Eutin

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by top » Mon 15. Jun 2015, 23:40

Versteh mich bitte nicht falsch, ich will dir keine Vorwürfe machen. Ich finde es sogar gut, dass du sehr kritisch bei fremden Ergänzungen bist.
Ich selbst tue mich ja schon schwer ein einfaches Affenformular für eine Kontaktseite zu erstellen. Es würde keinen Sinn machen, wenn ich da in mehreren Tagen selbst etwas bastele, was du in ein paar Minuten eleganter und flexibler runter tippen würdest. Es wäre sicher fatal, wenn ich mit meinem PHP-Gestammel eigene Module basteln und dann auch noch anderen anbieten würde. Und einen fremden Programmierer zu suchen, der sich erst in das CMS einarbeiten muss, ist auch nicht sonderlich wirtschaftlich. (Zumal ich dafür dann auch erst meinen Cheffe überzeugen müsste.) So bleibt mir meistens nichts anders übrig mich mit den bestehenden Mitteln zu begnügen. (Was in den meisten Fällen zum Glück reicht.)

Ich MUSS also darauf HOFFEN, dass angedeutete Funktionen irgendwann mal verfügbar sind, oder Fehler von anderen behoben werden. Diese bei einer Projektplanung schon zu berücksichtigen, habe ich mir auch abgewöhnen müssen.
Oliver Georgi wrote:... Dann ist da noch ein Privatleben mit einigen zeitintensiven Hobbys, die gerade an den schönen Tagen gepflegt werden wollen — und diese Zeit ist auch NICHT kaufbar! ...
Deine Zeit für's Privatleben gönne ich dir auch von ganzem Herzen.
So manch einer hier im Forum wäre allerdings sicher bereit einen Teil deiner normalen Arbeitszeit zu bezahlen, damit neue Funktionen in phpwcms integriert werden.
Zwischen den Zeilen liest es sich leider so, dass das nicht so einfach ist. Da ich selbst noch nicht versucht habe dich dafür zu beauftragen, kann ich nicht wirklich beurteilen wie schwer das ist.
Ich wünsche mir lediglich, dass du die treuen phpwcms-User nicht nur als quengelnde Schnorrer siehst, sondern auch als potenzielle Kunden, die dich und das CMS weiter bringen können.

Und ganz nebenbei: Ich weiß ja nicht, wie deine 70- bis 80-Stunden Arbeitswoche aussieht. Ich hoffe für dich, dass du einen Weg findest deine Stunden zu reduzieren. (Vielleicht ist es z. B. möglich einen Teil der weniger anspruchsvollen Aufgaben an andere zu delegieren.) Und das meine ich jetzt nicht, damit du mehr Zeit für phpwcms hast.


Noch ein paar Worte zum eigentlichem Thema dieses Threads:
Auch wenn diese Lösung jetzt einfach und zuverlässig funktioniert, werde ich sie vermutlich nicht einsetzen.
So wie ich das verstehe, würde der Umschalter z. B. die Seite "en/about-us" mit der Seite "de/about" (und umgekeht) verlinkt sein.
Mir ist es wichtiger, dass die deutsche Seite dann auch "ueber-uns" heißt und die englische Unterseite mit "about" zu finden ist. Da verzichte ich momentan noch lieber auf eine direkte Quer-Verlinkung. (Oder pflege es bei kleinen Seiten manuell ein.)

Genial fände ich es, wenn bei einer fehlenden Übersetzung automatisch so weit wie nötig zur Übersetzung des übergeordneten Menüpunktes verlinkt wird - notfalls bis zur Home- bzw. Start-Seite. Ich hoffe halt weiter, dass das irgendwann mal eine Standard-Funktion sein wird...

Old Boy
Posts: 1122
Joined: Fri 23. Nov 2012, 13:52

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by Old Boy » Tue 16. Jun 2015, 14:54

Natürlich habe ich selber gesucht... sehr lange gesucht! Von MINUTEN war also keine Rede :(

Um die Logik eines fremden Script zu verstehen, braucht es eben seine Zeit, zumal ich von PHP keinen blassen Schimmer habe!
Trotzdem habe ich jetzt einen Ansatz gefunden und kann nun bei nicht vorhandenem Pendant z.B. die Schriftfarbe rot einfärben oder auch den Link komplett wegfallen lassen.

Ok,ein erster WINZIGER Erfolg, aber ICH freue mich trotzdem RIESIG, da "was hingefummelt" zu haben.

Wen's interessiert, ich habe in der Datei lang.render.php im Bereich //make the language link
einfach ein paar Zusätze reingeschrieben:

Code: Select all

// make the language link
   
   // additional experiment START -------------  
      if($lang_alias == '') {
      // $display_or_not = ' style="display:none"';
         $display_or_not = ' style="color:red"';
      } else {
         $display_or_not = '';
      }
   // additional experiment STOP --------------  

		$content['auto_lang']['opposite'][$lang]     = '';
		
		if($lang_alias == '') {
			$lang_root_id = $content['auto_lang']['root_id'][$lang];
			
			$content['auto_lang']['opposite'][$lang] .= !empty( $content['struct'][ $lang_root_id ]['acat_alias'] ) ? $content['struct'][ $lang_root_id ]['acat_alias'] : 'id='.$lang_root_id;
		} else {
			$content['auto_lang']['opposite'][$lang] .= $lang_alias;
		}

		if(PHPWCMS_REWRITE) {
			$content['auto_lang']['opposite'][$lang]  = '<a href="'.$content['auto_lang']['opposite'][$lang].PHPWCMS_REWRITE_EXT;
		} else {
			$content['auto_lang']['opposite'][$lang]  = '<a href="index.php?'.$content['auto_lang']['opposite'][$lang];
		   }
	   // original code -----------------------------
		// $content['auto_lang']['opposite'][$lang] .= '" class="lang-switch lang-'.$lang.$lang_active_class.'" title="'.$lang_switch_title.'">';
		
   // additional experiment START ---------------
		// $content['auto_lang']['opposite'][$lang] .= '" class="lang-switch lang-'.$lang.$lang_active_class.' xtra-class" title="'.$lang_switch_title.'">';
		   $content['auto_lang']['opposite'][$lang] .= '" class="lang-switch lang-'.$lang.$lang_active_class.'"'.$display_or_not.' title="'.$lang_switch_title.'">';
   // additional experiment STOP ----------------  
				
		   $content['auto_lang']['opposite'][$lang] .= $content['auto_lang']['lang_native'][$lang][0];
         $content['auto_lang']['opposite'][$lang] .= '</a>';

		$content_search_regexp[$lang]	 = '/\['.$lang.'\](.*?)\[\/'.$lang.'\]/is';
		$content_replace_regexp[$lang] = $lang_active_class ? '$1' : '';

	}
Aber nicht hauen, wie gesagt, ich bin in PHP-Hinsicht vollkommen unbeleckt...

Das es funktioniert - und der Linktext = ROT erscheint - sieht man hier:
http://2014.pepes-sandbox.de/de/untereb ... anden.html

Auch das komplette Abschalten des Links funktioniert, wenn man den Inhalt der folgende Konstante entsprechend aktiviert:

Code: Select all

   $display_or_not = ' style="display:none"';
// $display_or_not = ' style="color:red"';
Mal sehen, wie ich weiter komme :)

User avatar
Oliver Georgi
Site Admin
Posts: 9578
Joined: Fri 3. Oct 2003, 22:22
Location: Moscow, Russia
Contact:

Re: "slickNav" zusammen mit dem "LanguageSwitch" von OG

Post by Oliver Georgi » Tue 16. Jun 2015, 15:57

etwas umständlich gedacht, logischer wäre eine weitere Klasse anzufügen und den href nicht zu rechnen und durch # abzufangen.

Aber der Ansatz geht in die Richtung.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон

Post Reply