Hilfe für Anfänger beim Einstellen der Mehrsprachigkeit

  • 0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    20. 03. 2010, 19:22

    Ich betreue den Web-Auftritt eines Vereins (tuexenia.de) und habe jetzt die Aufgabe bekommen, die Seite mehrsprachig (Englisch als Zweitsprache) einzurichten.
    Leider gehen meine HTML-Kenntnisse gegen null und mit dem Gestalten von Websites in Typo3 hab ich auch keine Erfahrungen (obwohl ich schon diverse Seiten mit diversen CMS-Systemen aufgesetzt habe).

    Kommen wir zu meinem Problem:

    Habe jetzt dieses Tutorial befolgt (sofern es möglich war, da einiges unvollständig erklärt ist). http://www.c-dev.ch/blog/2010/02/04/typo3-mehrsprachig/

    Ich habe die sprachmenu.php an die vorgesehene Stelle kopiert.

    Nächster Schritt: Das PHP-Script im TS-Template aufrufen. Da ich keine Ahnung habe welches TS-Template die meinen, habe ich es mit dem MAIN-Template probiert.

    Habe also das:

    1. # SprachVariable L initialisieren
    2.  
    3. config.linkVars = L
    4. # Standardsprache UID 0 -> Englisch
    5. config.sys_language_uid = 0
    6. config.language = en
    7. config.locale_all = english
    8. # Deutsch, sys_language.uid = 1
    9. [globalVar = GP:L = 1]
    10. config.sys_language_uid = 1
    11. config.language = de
    12. config.locale_all = de_DE
    13. [global]

    und das:

    1. page.10 = PHP_SCRIPT
    2. page.10.file = fileadmin/scripts/sprachmenu.php

    in das Setup eingefügt.

    Dann bekomme ich beim Seitenaufruf diese schöne Fehlermeldung:

    Parse error: parse error, unexpected T_VARIABLE in /var/www/virtual/tuexenia.de/htdocs/fileadmin/scripts/sprachmenu.php on line 44

    Und hier hänge ich. Die Mehrsprachigkeit im Backend (also übesetzte Texte etc.) habe ich schon eingerichtet.

    Meine Vermutung ist, dass ich einfach das falsche Template erwische und das Template brauche, welches für die Navigation verantwortlich ist, leider hab ich keine Ahnung welches das ist, da ich die Seite nicht eingerichtet habe.


  • 0 x
    3273 Beiträge
    157 Hilfreiche Beiträge
    22. 03. 2010, 17:00

    Hallo.

    [quote="LordHeruur"]
    Leider gehen meine HTML-Kenntnisse gegen null und mit dem Gestalten von Websites in Typo3 hab ich auch keine Erfahrungen
    [/quote]

    Sind nicht gerade ideale Voraussetzung zur Administration eines CMS, oder? ;)

    Das Problem liegt nämlich ganz simpel,w ie es Dir PHP auch meldet in Zeile 44 des PHP-Scripts. Dort sind - waruma uch immer - Kreuzsymbole statt Leerzeichen an einigen Stellen. Somit ist es kein syntaktisch korrekter PHP-Code mehr, was dann auch via Fehlermeldung bemängelt wird.

    Viele Grüße
    Julian

    Kleiner Hinweis:
    das Forum hier ist leider nicht mehr so frequentiert :-(
    Für schnellere Hilfe und mehr Leser, guck mal
    - auf stackoverflow ( https://stackoverflow.com/questions/tagged/typo3 )
    - oder in die slack-Channels ( https://typo3.org/community/meet/chat-slack )

  • 0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    22. 03. 2010, 17:20

    [quote="Julian.Hofmann"]

    Sind nicht gerade ideale Voraussetzung zur Administration eines CMS, oder? ;)

    [/quote]

    Ich war verwirrt, ich meinte PHP-Kenntnisse und nicht HTML. ^^
    Programmieren an sich ist aber kein so großes Problem. C, C++ und VisualBasic kann ich.

    Dort sind - waruma uch immer - Kreuzsymbole statt Leerzeichen an einigen Stellen

    Kreuzsymbole? Wenn ich die Datei mit dem Notepad öffne, sehe ich dergleichen aber nicht.
    Ist das mit dem MAIN-Template denn schon mal richtig? Ich meine vom Ort her.

  • 0 x
    3273 Beiträge
    157 Hilfreiche Beiträge
    22. 03. 2010, 17:44

    Puh, gut, wenn HTMl und generell mal Programmierkenntnisse da sind, dann bin ich beruhigter. :-)

    Die Kreuzzeichen irritieren mich nun auch. Also im Texteditor meiner Wahl (BBEdit auf Mac) sind die Einrückungen in den Zeilen 44, 50-51, 53-54 keine Leerzeichen, sondern Kreuzsymbole, ebenso in TextEdit (quasi das Notepad-Pendant). In Dreamweaver hingegen sieht es korrekt aus.
    Würde daher trotzdem mal raten, dass Du die ganzen Einrückungen an neu setzt (Sind ja nicht viele). Denn irgendwas ist da wohl seltsam, was wohla uch PHP so sieht...

    [url=http://d.imagehost.org/view/0692/Bildschirmfoto_2010-03-22_um_17_36_32][img]http://d.imagehost.org/0692/Bildschirmfoto_2010-03-22_um_17_36_32.png[/img][/url]

    Aber mal was ganz anderes dazu:
    Das Tutorial bezieht sich auf eine Version 3.x von TYPO3- also eine steinalte Version. Inzwischen hat sich vieles getan und geändert. Auch ist generell die Nutzung von PHP_SCHRIPT nicht mehr so gern gesehen. Das Skript selbst arbeitet an der API vorbei (z.B. durch direkte Nutzung von PHP-mysql*-Funktionen).

    Schau Dir doch mal dieses Tutorial an, das etwas zeitgemäßer mit Bordmitteln rein in TypoScript ein Sprachmenü aufbaut: http://typo3blogger.de/sprach-menu/

    Kleiner Hinweis:
    das Forum hier ist leider nicht mehr so frequentiert :-(
    Für schnellere Hilfe und mehr Leser, guck mal
    - auf stackoverflow ( https://stackoverflow.com/questions/tagged/typo3 )
    - oder in die slack-Channels ( https://typo3.org/community/meet/chat-slack )

  • 0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    22. 03. 2010, 18:50

    OK, wenn das eine Tutorial wirklich so alt ist, nehme ich mal lieber was aktuelles. Obwohl die Seite auch noch auf Typo3 4.0 läuft...

    Hab's mal mit dem TypoScript probiert (ins MAIN-Template eingefügt), aber es tut sich nichts. Keine Veränderung im Frontend.
    Was mich wundert ist, dass wenn ich das MAIN-Template aufrufe, steht bei Setup NICHTS drin (nur was ich in den letzten Tagen reinkopiert habe).
    Es existiert auch ein extra Unterordner für templates für die Navis oder "Last Change"-Anzeige im Seitenbaum, auch wenn ich es da unter Setup reinkopiere (und ich rede hier von stumpfem copy&paste von der Seite, die du gepostet hast), passiert rein gar nichts im Frontend. Ich habe bislang nur die Startseite des Frontends zweisprachig gemacht, daher erwarte ich nur hier Auswirkungen.

    Dann hab ich mal die Extension "language Selection (sr_language_menu)" ausprobiert, aber die möchte erstens Typo3 4.0.0 (hab ich ignoriert) und zweitens mag die eine selbstprogrammierte Extension (nicht von mir) zur Erstellung von Inhaltsverzeichnissen mit Abstracts gar nicht. Wenn die Extension also installiert ist, liefert die selbst-programmierte Extension eine Fehlermeldung.

  • 0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    24. 03. 2010, 15:48

    So, ich glaube so langsam bekomme ich den Dreh raus. Habe eben per Extension (aus dem Repository) einen Counter in die Seite eingebaut. Das habe ich auch nur geschafft, weil diese Extension ENDLICH MAL eine VERNÜNFTIGE Anleitung mit Beispielen hatte!
    Jedenfalls würd ich gern jetzt das Sprachmenü auch per Extension einbauen.
    Und zwar diese hier:
    http://typo3.org/extensions/repository/view/bb_languageselect/current/
    Sie ist erfolgreich als Frontend-Extensions installiert und verträgt sich scheinbar super mit der Custom-Extension (siehe vorherigen Post).
    LEIDER ist diesmal die Anleitung wieder unvollständig. Sie reden nur davon, dass man einen Marker ins Template setzten soll - das ist mir schon klar, aber wie soll der heißen? Wenn ich da ### HalloWelt ### reintippe, wird's wohl nicht laufen. Mit ### LANGUAGE ### geht's auch nicht (gerade getestet). Wie finde ich heraus, wie der Marker heißt?
    Hier die Config/Anleitung:
    http://typo3.org/documentation/document-library/extension-manuals/bb_languageselect/0.2.1/view/1/3/

  • d.walter d.walter
    Jedi-General
    0 x
    1270 Beiträge
    1 Hilfreiche Beiträge
    24. 03. 2010, 16:13

    Eine Seite vorher stand das was du suchst....

    [TS]temp.languageSelect = USER
    temp.languageSelect {
    userFunc = tx_bblanguageselect_pi1->showFlags
    }

    lib.myMarker < temp.languageSelect
    [/TS]

    Du musst halt den Marker (hier myMarker) entsprechend ersetzen.

  • 0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    24. 03. 2010, 17:06

    [quote="d.walter"]
    Eine Seite vorher stand das was du suchst....

    [TS]temp.languageSelect = USER
    temp.languageSelect {
    userFunc = tx_bblanguageselect_pi1->showFlags
    }

    lib.myMarker < temp.languageSelect
    [/TS]

    Du musst halt den Marker (hier myMarker) entsprechend ersetzen.

    [/quote]

    Ah, danke!

    Aber wenn ich es lib.LANGUAGE für ###LANGUAGE### nenne, geht es trotzdem nicht.

    1. temp.languageSelect = USER
    2. temp.languageSelect {
    3. userFunc = tx_bblanguageselect_pi1->showFlags
    4. }
    5. lib.LANGUAGE < temp.languageSelect

    Der Teil vom HTML-Template sieht wie folgt aus:
    [HTML]<!-- ###METANAVIGATION### start -->
    <a href="index.php" class="topnav">Home</a>
    | <a href="kontakt.php" class="topnav">Kontakt</a> | <a href="impressum.htm" class="topnav">Impressum</a> | ###LANGUAGE###
    <!-- ###METANAVIGATION### stop -->[/HTML]

  • d.walter d.walter
    Jedi-General
    0 x
    1270 Beiträge
    1 Hilfreiche Beiträge
    25. 03. 2010, 09:03

    Dann hast du das wohl falsch ins TS eingebaut.

    Du musst [TS]lib.myMarker < temp.languageSelect[/TS] natürlich schon da reinschreiben wo du deine restlichen Marker zuweist!

    Den rest könntest auch in ein separates Template schreiben und dann halt einbinden.

    Daniel

  • 0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    25. 03. 2010, 13:20

    [quote="d.walter"]
    Dann hast du das wohl falsch ins TS eingebaut.
    [/quote]
    Das was im TS steht, ist genau das, was ich oben aus Versehen als PHP zitiert hab.

    Du musst [TS]lib.myMarker < temp.languageSelect[/TS] natürlich schon da reinschreiben wo du deine restlichen Marker zuweist!

    Äh, ich bin grade relativ verwirrt. Welche restlichen marker? Einer sollte doch reichen?

    Den rest könntest auch in ein separates Template schreiben und dann halt einbinden.

    Könnte ich, wenn ich etwas mehr Ahnung von PHP und Typo3 hätte. ;)
    Steh grad voll auf dem Schlauch.