Sprachauswahl

LLboss

Aktives Mitglied
27. Januar 2008
6
0
Hallo zusammen,

ich habe eben den JTL-Shop2.11 no seo (aktuell von heute aus der filebase) lokal auf meinem Entwicklungsserver (Ubuntu Linux) installiert.
Der Shop läuft unter Apache/2.2.4, mit MySQL 5.0.45 und PHP 5.2.3.

Die Installation ging auch glatt, Wawi (0.9.9.608) läuft auch. Es sind noch keine Artikel oder Kategorien installiert. Als Währungen sind EUR(standard) und USD, als Sprachen Deutsch(standard) und Englisch eingetragen. Der Standard bei Kundengruppe ist auch gesetzt.

Leider funktioniert die Auswahl der Sprache nicht. Wenn man die Sprache von Deutsch auf Englisch ändern möchte, wird versucht "Startseite" aufzurufen, was in einem error 404 endet.. :(

Ein bischen suchen im Forum hat gezeigt, daß es mit der Sprachauswahl schon öfter Probleme gab, die aber in der 2.11 behoben sein sollten.

Wäre klasse, wenn mir da jemand weiterhelfen könnte!

Vielen Dank!

Stefan
 

thomkeil

Aktives Mitglied
24. Oktober 2006
328
1
den fehler hatte ich auch. schreib bitte mal im backend des shops bei den seitenliks was bei der startseite rein. dann funktioniert das ganze auch. er versucht im moment eine leere seite zu öffnen was er nicht kann und gibt deswegen diesen fehler aus.
 

LLboss

Aktives Mitglied
27. Januar 2008
6
0
Super!! Der Tip von thomkeil hats gebracht, jetzt klappts :D

Da muß man aber auch erst drauf kommen :roll:

Als Anregung für die Programmierer, bitte in Zukunft einen Standardeintrag vornehmen, hätte mir eine Menge Zeit erspart. Ich hab die ganze Geschichte 2 x komplett neu installiert..

Vielen Dank für die schnelle Hilfe!!

LG
Stefan
 

LLboss

Aktives Mitglied
27. Januar 2008
6
0
Oh, da habe ich mich wohl zu früh gefreut..

Die Links im Kopfbereich klappen jetzt, allerdings landet man nach der Sprachumstellung immer auf der Startseite, egal wo man vorher war.

Schlimmer noch, wenn man auf den Seiten im Informationsbereich war und dort die Sprache umstellt, bekam ich wieder einen 404er. Im Backend sind da Standardtexte, aber keine Metainfos hinterlegt. Nach Eingabe dieser Metainformationen scheint es aber jetzt mit den Infolinks zu funktionieren. Hier kommt man nach der Umstellung auch auch auf die richtige Seite.

Kann das wirklich sein?

Shopabgleich mit der Wawi habe ich natürlich gemacht, daran kann es nicht liegen.

LG
Stefan
 

LLboss

Aktives Mitglied
27. Januar 2008
6
0
Hallo Thomas,

vielen Dank für die schnelle Reaktion!

Leider ist der Shop hinter einer Firewall im lokalen Netz installiert, also von außen nicht
zu erreichen..

Also es ist im Moment so:
Links im Kopfbereich funktionieren (nach Eingabe eines englischen Standardtextes), aber
nach dem Umstellen der Sprache landet man auf der Startseite, egal wo man vorher war.
Links im Infobereich klappen erst nach der Eingabe von Metainfos, ansonsten --> error 404.
Wenn sie dann funktionieren, kann man die Sprache umstellen und bleibt auf der angewählten
Seite --> richtiges Verhalten.


Kann ich eventuell mit einem dump der Datenbank, oder der Server- und PHP Konfiguration
bei der Fehlersuche behilflich sein? Ansonsten müsste ich den Shop mal auf einem Web-
Account installieren.

Wenn man sich den Thread "macht falscher Lizenzschlüssel für 2. Shop Probleme ??"
ansieht, dann scheinen ja noch mehr Leute Probleme mit den Links zu haben.

Schönen Tag noch!

Mit freundlichen Grüßen
Stefan
 

derjoe

Gut bekanntes Mitglied
4. Januar 2007
520
18
Hamburg
Hallo,

hier muss ich mich noch dranhängen.
Ausser das man auf die Startseite springt, ist es bei mir so, dass bei Aufruf der Startseite die Kategorien auf deutsch springen.
Aber eben nur die Kategorien, der Rest bleibt englisch.
Zum ansehen: http://www.car-bock.de
Habe ich was falsch gemacht oder noch ein Fehler?

Gruß
derjoe.
 

LLboss

Aktives Mitglied
27. Januar 2008
6
0
Hallo,

das mit den Kategorietexten kann ich bestätigen. Der Grund dafür ist, dass bei der Lokalisierung der Daten, nur der Kategoriename, nicht aber die restlichen Inhalte in der gewählten Sprache aus der DB ausgelesen werden.

Folgender Fix hat bei mir funktioniert:
In der Datei classes/class.JTL- Shop.Kategorie.php in der Funktion loadFromDB

Code:
Zeile 73  $objSprache = $GLOBALS["DB"]->executeQuery("select cName from tkategoriesprache where kKategorie=$obj->kKategorie AND kSprache=".$kSprache,1);


ändern in

Code:
$objSprache = $GLOBALS["DB"]->executeQuery("select * from tkategoriesprache where kKategorie=$obj->kKategorie AND kSprache=".$kSprache,1);

schon klappts mit der Lokalisierung der Kategorien :D

Was die Sache mit den Links betrifft, so habe ich das durch eine Änderung in die Dateien /includes/letzterInclude.php und /templates/myTemplate/tpl_inc/header.tpl gelöst. Das ist aber nur ein workaround, da gibts sicherlich bessere und elegantere Lösungen :wink:

In letzterInclude.php einfügen:

Code:
 $smarty->assign('requestURL',$requestURL);
$smarty->assign('sprachURL',$sprachURL);

um sicher zu gehen, dass auf jeder Seite die URL übergeben wird.

Im header.tpl:

Code:
{foreach name=sprachen from=$smarty.session.Sprachen item=Sprache}
			{assign var="iso" value=$Sprache->cISO}
			{if $smarty.foreach.sprachen.first}<span class="kopf_waehlen">{#language#}: </span>{/if}
	        {if $smarty.session.cISOSprache!=$Sprache->cISO}
				
                {[url="{if $sprachURL[$iso]}{$sprachURL[$iso]}{else}index.php?lang={$iso}&{$SID}{/if}"][img]{$currentTemplateDir}gfx/flags/{$Sprache->cISO}.gif[/img][/url]  }
	        {/if}
	{/foreach}

ändern in

Code:
{foreach name=sprachen from=$smarty.session.Sprachen item=Sprache}
			{assign var="iso" value=$Sprache->cISO}
			{if $smarty.foreach.sprachen.first}<span class="kopf_waehlen">{#language#}: </span>{/if}
	        {if $smarty.session.cISOSprache!=$Sprache->cISO}
				{if $sprachURL[$iso]}
                    {assign var=sURL value=$sprachURL[$iso]}
                {elseif $requestURL}
                    {assign var=sURL value=$requestURL|cat:"&"|replace:"?&":"?"|cat:"lang="|cat:$iso|cat:"&"|cat:$SID}
                {else}
                    {assign var=sURL value="index.php?lang="|cat:$iso|cat:"&"|cat:$SID}
                {/if}
                [url="{$sURL}"][img]{$currentTemplateDir}gfx/flags/{$Sprache->cISO}.gif[/img][/url] 
                
	        {/if}
	{/foreach}

Auch bei der Währungsumschaltung gibts die Probleme. Hier habe ich im header.tpl geändert:

Code:
{if $smarty.session.Waehrung->cName!=$Waehrung->cName}
              [url="index.php?curr={$Waehrung->cISO}&lang={$smarty.session.cISOSprache}&{$SID}"]{$Waehrung->cName}[/url] 
         {else}
                [b]{$Waehrung->cName}[/b]
        {/if}

in

Code:
{if $smarty.session.Waehrung->cName!=$Waehrung->cName}
                {if $requestURL}
                    {assign var=currURL value=$requestURL|cat:"&"|replace:"?&":"?"}
                {else}
                    {assign var=currURL value="index.php?lang="|cat:$smarty.session.cISOSprache|cat:"&"}
                {/if}
                [url="{$currURL}curr={$Waehrung->cISO}&{$SID}"]{$Waehrung->cName}[/url]
                
         {else}
                [b]{$Waehrung->cName}[/b]
        {/if}

Alles natürlich ohne Gewähr, ich hoffe ich konnte damit helfen!!

@Thomas
Was ist der beste Weg Bugfixes und Bugs zu melden, um die Entwicklung des Shops zu unterstützen? Ich möchte in der nächsten Zeit einen JTL-Shop mit mehreren Währungen und zwei Sprachen aufsetzen. Dabei wird sich bestimmt noch der Eine oder Andere Bug finden..

Viele Grüße
Stefan
 

derjoe

Gut bekanntes Mitglied
4. Januar 2007
520
18
Hamburg
Danke für die Hinweise, habe noch nicht getestet.

@ Thomas Lisson
Ist es Aufgabe des Anwenders so etwas zu fixen?

Da fällt mir wieder folgender Vorschlag ein:
Es sollte eine Liste ausserhalb des Forums geben, wo die gemeldeten und bekannten Bugs, Fehler Veränderungen etc. drin stehen.
Da könnte man reinsehen, ob schon bekannt oder nicht.

Anschliessend bei einem neuen Release kann die Liste dann reduziert werden und mit dem Release als gefixt bekannt gegeben werden.

Sich alles aus dem Forum zu saugen ist mühsam, dauert lange, nervt und viele Informationen gehen an Einem vorbei, da es lediglich im jeweiligen Thread zu finden ist.
Bisherige Beispiele sind z.B. die Sache mit dem https, meine nicht ausschaltbaren Variationen und und und

Danker und Gruß
derjoe.