Autor Thema: Ajax-Suche in fremdsprachigen Subcats?  (Gelesen 7222 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Ajax-Suche in fremdsprachigen Subcats?
« am: Oktober 06, 2010, 07:37:09 »
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


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=&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
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....


Linkback: https://www.shoppilot.net/pf/index.php?topic=1477.0
mfG
dobra

Offline ahe

  • Global Moderator
  • Sr. Member
  • *****
  • Beiträge: 435
  • Lob: 20
Re: Ajax-Suche in fremdsprachigen Subcats?
« 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.

MfG ahe

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: Ajax-Suche in fremdsprachigen Subcats?
« Antwort #2 am: Oktober 06, 2010, 09:32:13 »
Hallo ahe,

irgendwas mach ich falsch  :(

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

language.ipl
   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
var m_head = 'Suchvorschl&auml;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 Ajaxordnerhab'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 ???
« Letzte Änderung: Oktober 06, 2010, 09:59:39 von dobra »

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: Ajax-Suche in fremdsprachigen Subcats?
« Antwort #3 am: Oktober 06, 2010, 10:09:31 »
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.....


exclamation
AJAX-Produktkonfigurator

Begonnen von dobra

5 Antworten
10362 Aufrufe
Letzter Beitrag Februar 25, 2022, 17:53:50
von catwoman
grin
favhinzu mit ajax

Begonnen von dobra

0 Antworten
6717 Aufrufe
Letzter Beitrag November 29, 2008, 18:47:50
von dobra
exclamation
allgemeines zur Verwendung von Ajax

Begonnen von dobra

0 Antworten
6671 Aufrufe
Letzter Beitrag Januar 15, 2010, 19:02:40
von dobra
exclamation
die SP-Ajax-Schnittstelle verwenden

Begonnen von dobra

0 Antworten
6788 Aufrufe
Letzter Beitrag Januar 16, 2010, 23:36:42
von dobra