ShopPilot > Ajax Fragen

Ajax-Suche in fremdsprachigen Subcats?

(1/1)

dobra:
Hallo,

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

schon mal das "Suchvorschläge" übersetzen krieg ich nicht hin
mit

--- Code: ---//     Überschrift für die Vorschläge
var m_head = '__language::myprint(text1)__';
--- End code ---

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>\');';
--- End code ---

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)
--- End code ---
noch

--- Code: ---my $m_lang = $main::RES{"$main::lng-TEXT000"};
if ($m_lang ne "de") {$gl_use_ajax_search = 0;}
--- End code ---
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

ahe:
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.

dobra:
Hallo ahe,

irgendwas mach ich falsch  :(

Habe im head

--- Code: ---<head>
__language::myprintjsconstants__
<title>__language::myprint(start_titel)__</title>
...
--- End code ---
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>
    |);
}
--- End code ---
(original - nix geändert)

und in ajaxsearch_conf.js

--- Code: ---var m_head = 'Suchvorschl&auml;ge:';
--- End code ---
mit

--- Code: ---var m_head = 'const_text1';
--- End code ---
(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
--- End code ---
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>
    |);
}
--- End code ---
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>

--- End code ---

Nachtrag:
es werden auch nur deutsche Worte gefunden  bzw. deutsche Suchbegriffe angezeigt ???

dobra:
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.....

Navigation

[0] Themen-Index

Go to full version
Powered by SMFPacks SEO Pro Mod | Sitemap