Shopsystem ShopPilot Shoploesung Diskussionen und Infos zum Shopsystem ShopPilot
Willkommen Gast. Bitte einloggen oder registrieren.
Mai 20, 2012, 01:23:05

Einloggen mit Benutzername, Passwort und Sitzungslänge
Suche:     Erweiterte Suche
5257 Beiträge in 1422 Themen von 333 Mitglieder
Neuestes Mitglied: pje
* Übersicht Hilfe Login Registrieren
+  Diskussionen und Infos zum Shopsystem ShopPilot
|-+  ShopPilot
| |-+  SSP - Shop Server Pages
| | |-+  Ajax Fragen (Moderator: dobra)
| | | |-+  Ajax-Suche in fremdsprachigen Subcats?
0 Mitglieder und 2 Gäste betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Ajax-Suche in fremdsprachigen Subcats?  (Gelesen 897 mal)
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« am: Oktober 06, 2010, 07:37:09 »

Hallo,

ich komme nicht drauf, wie ich die Ajax-Suche "englisch" ausgeben kann Sad

schon mal das "Suchvorschläge" übersetzen krieg ich nicht hin
mit
Code:
//     Überschrift für die Vorschläge
var m_head = '__language::myprint(text1)__';

kommt das


Wenn ich "Kategorie" übersetzen will
Code:
                   s_img = m_ShopRoot + s_img;
                    print_img = 'return Tip(\'<table width=200><tr><td><div><img height=80 border=1 src=&quot;'+s_img+'&quot;></div></td><td><div><b>&nbsp;__language::myprint(kategorie)__:&nbsp;<br>&nbsp;</b>'+addinfo+'</div></td></tr></table>\');';

wird das auch in Klartext (also als "__language::myprint(kategorie)__" ausgegeben.

Und die Kategorie (im Beispiel "SOCKENWOLLE") die sonst automatisch mit gleichnamigem ben.def. Subcat-Feld mit "SOCK YARNS" ausgegeben wird, funktioniert hier nicht.

Für alle, die vielleicht ähnliche Probleme haben:
Als "Notlösung" habe ich die Ajaxsuche erst mal NUR für den en-Shop deaktiviert.

Das geht ganz einfach - in ajaxsearch_identifiers.ipl  oben nach der Zeile
Code:
my $gl_use_ajax_search = 1;       # Ein und ausschalten der ajaxsuche (0 | 1)
noch
Code:
my $m_lang = $main::RES{"$main::lng-TEXT000"};
if ($m_lang ne "de") {$gl_use_ajax_search = 0;}
einfügen

damit ist die Ajaxsuche für alle nicht deutschsprachigen Subcats ausgeschaltet.

Für Tipps wie ich ajaxsearch auch für fremdsprachige Shops verwenden kann (ohne allzu großen Aufwand  Wink) wäre ich aber dankbar....
Gespeichert

ahe
Global Moderator
Sr. Member
*****

Lob: 19
Offline Offline

Beiträge: 407


« Antwort #1 am: Oktober 06, 2010, 09:01:41 »

Hallo Dobra,

> var m_head = '__language::myprint(text1)__';
Das ist wahrscheinlich in irgendeiner js-Datei angegeben?
Innerhalb von JS-Dateien werden weder SSP-Funktionen noch Identifier unterstützt.

Dazu kann aber die Funktion myprintjsconstants in der language.ipl benutzt und erweitert werden.
Als Beispiel wird im Ursprungszustand der Datei das hier verwendet.

var const_text1 = "|.myget(text1).qq|";

__language::myprintjsconstants__ muss in den Header der HTML-Vorlagen eingebunden werden (BEVOR irgendwelche js-Dateien benutzt werden).
Dann kann man in selbigen zb

var meintext = const_text1;

benutzen.

Gespeichert

MfG ahe
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« Antwort #2 am: Oktober 06, 2010, 09:32:13 »

Hallo ahe,

irgendwas mach ich falsch  Sad

Habe im head
Code:
<head>
__language::myprintjsconstants__
<title>__language::myprint(start_titel)__</title>
...
eingetragen

language.ipl
Code:
   text1 => {
        de => 'Suchvorschl&auml;ge:',
        en => 'Search suggestions:',
        fr => 'Suggestions de recherche:',
        it => 'Suggerimenti:',
        se => 'Sökförslag:',
    },
..
..
sub myprintjsconstants {

    my $libjs = "ajax/lib.js";
    if ($main::args[0] =~ /showbynameKundenkonto_/) {
        $libjs = "../ajax/lib.js"
    }

    ## Hier können noch Texte für die JS-Benutzung ausgegeben werden
    main::mprint(qq|
        <script type="text/javascript">
            var const_text1 = "|.myget(text1).qq|";
            var const_lang = "$m_lang";
        </script>
        <script type="text/javascript" src="$libjs"></script>
    |);
}
(original - nix geändert)

und in ajaxsearch_conf.js
Code:
var m_head = 'Suchvorschl&auml;ge:';
mit
Code:
var m_head = 'const_text1';
(mit ' sonst gehts garnicht) ersetzt

aber jetzt wird statt "Suchvorschlag"  "const_text1" ausgegeben

das   my $libjs = "ajax/lib.js";  muss ich vermutlich auch ersetzen?
aber wie?

Code:
my $gl_path_to_ajax = qq|../ajax|; #Pfad zum Ajaxordner
hab's also so versucht
Code:
sub myprintjsconstants {

    my $libjs = "../ajax/ajaxsearch.js";

    ## Hier können noch Texte für die JS-Benutzung ausgegeben werden
    main::mprint(qq|
        <script type="text/javascript">
            var m_head = "|.myget(text1).qq|";
            var const_lang = "$m_lang";
        </script>
        <script type="text/javascript" src="$libjs"></script>
    |);
}
und
my $libjs = "../ajax/ajaxsearch_conf.js";
geht aber auch nicht...

im Quelltext stehts aber richtig
Code:
        <script type="text/javascript">
            var m_head = "Search suggestions:";
            var const_lang = "en";
        </script>

Nachtrag:
es werden auch nur deutsche Worte gefunden  bzw. deutsche Suchbegriffe angezeigt Huh
« Letzte Änderung: Oktober 06, 2010, 09:59:39 von dobra » Gespeichert

dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« Antwort #3 am: Oktober 06, 2010, 10:09:31 »

jetzt hab ich's  Cheesy

in ajaxsearch_conf.js  muß ich das
var m_head = 'const_text1';
LÖSCHEN - also diese Zeile NICHT reinschreiben
sonst wird ja das
__language::myprintjsconstants__
wieder überschrieben.

DANKE ahe

bleibt jetzt nur noch das Problem, dass nur deutsche Begriffe gefunden und angezeigt werden.....
Gespeichert

Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  

mysitelist Impressum Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS