Hallo,
ich komme nicht drauf, wie ich die Ajax-Suche "englisch" ausgeben kann :(
schon mal das "Suchvorschläge" übersetzen krieg ich nicht hin
mit
// Überschrift für die Vorschläge
var m_head = '__language::myprint(text1)__';
kommt das
(http://www.woll-insel.at/Bilder/SP-Forum/ajax_search.jpg)
Wenn ich "Kategorie" übersetzen will
s_img = m_ShopRoot + s_img;
print_img = 'return Tip(\'<table width=200><tr><td><div><img height=80 border=1 src="'+s_img+'"></div></td><td><div><b> __language::myprint(kategorie)__: <br> </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
my $gl_use_ajax_search = 1; # Ein und ausschalten der ajaxsuche (0 | 1)
noch
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 ;)) wäre ich aber dankbar....
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.
Hallo ahe,
irgendwas mach ich falsch :(
Habe im head
<head>
__language::myprintjsconstants__
<title>__language::myprint(start_titel)__</title>
...
eingetragen
language.ipl
text1 => {
de => 'Suchvorschlä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
var m_head = 'Suchvorschläge:';
mit
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?
my $gl_path_to_ajax = qq|../ajax|; #Pfad zum Ajaxordner
hab's also so versucht
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
<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 ???
jetzt hab ich's :D
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.....