Zum Inhalt springen

Nochmal zur mehrsprachigen News..

Erstellt am 16. März 2004 · 5 Antworten · letzte Antwort am 21. Juni 2004

Tags: tt_news, Frage

qeldroma ·

Hallo,
ich habe funktionierend tt_news eingerichtet. Außerdem nun einen zweiten Sysordner mit den deutschen Beiträgen.

Nun muß ich ja irgendwie auf der News-Seite einrichten, das abhängig von der Language-Id mal der eine, mal der andere Sysordner angesprungen wird.

Jedoch bietet das Formular (logischerweise) nur die Auswahl EINES Sysordners an.

Also vermute ich, muß ich eine Kopie der Newsseite für jede Sprache anlegen.

Doch da ich Mehrsprachigkeit grundsätzlich über plugin, und nicht mit einem root pro Sprache gelöst habe, habe ich keine Ahnung wie ich es einbaue, das die Newsseite abhängig von der gewählten Sprache angewählt wird.

Außerdem sind da ja auch noch die Skript-Blöcke im obersten template, welche die News initialisieren. Diese muß ich dann wohl auch noch anpassen?

#Constants:
plugin.tt_news {
  file.templateFile = media/scripts/news_template.tmpl
  #date color
  wrap1 = <font color="#FFFF00"> | </font>
  #title color
  wrap2 = <font color="#004263"> | </font>
  color1 = #999999
  color2 = #004263
  PIDitemDisplay = 27
#  date_stdWrap.strftime = %A %d of %b %Y
}
# Setup:
# SPRACHDEFINITIONEN
temp.sprachen = PHP_SCRIPT
temp.sprachen.file = fileadmin/Vorlagen/my_languageMenu.php

config.linkVars = L

# English als Standardsprache
config.sys_language_uid = 0
config.language = en
config.locale_all = english

# Deutsch als zweitsprache , sys_language.uid = 1
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = de
config.locale_all = de_DE
[global]

select.orderBy = sorting
select.where = colPos=0
select.languageField = sys_language_uid

# Default PAGE object:
page = PAGE
page.typeNum = 0
page.bodyTag= <body style="margin:0px;background-image:url(pics/bg_1_1.jpg);background-position:40px;">
page.stylesheet = fileadmin/Vorlagen/freepia.css
page.10 = TEMPLATE
page.10 {
   template = FILE
   template.file = fileadmin/Vorlagen/freepia.tmpl
   workOnSubpart = Document
   plugin.tt_news {
      limit = 5
      displayList {
         image.file.maxW = 100
         imageWrapIfAny (
            <table align="left" bgcolor="#AAAAAA" cellpadding="1" cellspacing="0" border="0">
               <tr><td>
                  <table bgcolor="#EEEEEE" cellpadding="0" cellspacing="0" border="0">
                     <tr><td> | </td></tr>
                  </table>
               </td></tr>
            </table>
         )
      }
      displaySingle {
         image.file.maxW = 100
         imageWrapIfAny (
            <table align="left" bgcolor="#AAAAAA" cellpadding="1" cellspacing="0" border="0">
               <tr><td>
                  <table bgcolor="#EEEEEE" cellpadding="0" cellspacing="0" border="0">
                     <tr><td> | </td></tr>
                  </table>
               </td></tr>
            </table>
         )
      }
   }
   marks {
      Sprache < temp.sprachen      
      Main < styles.content.get
......
Stoneage ·

auf der englischen Seite einfach das news-plugin installieren mit quelle englische sysordner-news, oder habe ich dich falsch verstanden?

T.

qeldroma ·

Ja, den englisch ist da, ich möchte deutsch nachinstallieren.
Also müsste das Plugin abhängig von der Sprache einen anderen Sysordner anspringen, jedoch wähle ich den Sysordner leider nicht per template, sondern per eingabeformular auf der Seite, genauergesagt im tt_news-plugin aus.
Denn dort wählt man ja einen "Ausgangspunkt". Und den leider nicht sprachabhängig....ÄHM...........

Hat sich gerade erledigt, ich habe einfach den Wald vor lauter Bäumen nicht gesehen!!

Habe einfach parallel zum englischen Plugin-content ein Plugin-content in deutsch angelegt. Dieses wiederum dann mit dem zweiten Sysordner verknüpt...

Sorry. trotzdem Danke o.O

Philip ·

Hi,

habe das genau so gelöst und funktioniert soweit recht gut. Mein Problem ist jetzt, dass im Archive nur die News der default Sprache angezeigt werden. Ich habe auch schon das Problem lokalisiert: Es fehlt die Variable für die Sprachsteuerung.

Bei allen Links wird die Sprachsteuerung automatisch angehängt, nur im Archive bei der Auswahl eines Monats nicht.

In der Datei ../ext/tt_news/pi/class.tx_ttnews.php in der Zeile 243 müsste hinten am Link die Sprachvariable angehängt werden.

<A href="'.$this->getLinkUrl(0).'&pS='.$pArr["start"].'&pL='.($pArr["stop"]-$pArr["start"]).'&arc=1&L=1">','</A>

Die "1" steht in diesem Fall für Deutsch.

Kann mir jemand sagen, wie ich das anstelle?

mfG,
Philip

[edit]
doch noch gefunden 🙂
das rot geschriebene mit

&L='.$GLOBALS["TSFE"]->sys_language_uid.'

ersetzen.
[/edit]

[edit2]
noch eine schönere Lösung (vorallem funktioniert sie dann bei _allen_ Links innerhalb der News).
Nach Zeile 460

$queryString["L"]= 'L='.$GLOBALS["TSFE"]->sys_language_uid;

einfügen.
[/edit2]

getimo ·

Hi, ich habe ähnliche Probleme. Mit den 2 Sysordnern klappt alles. Nun habe ich es so gemacht, dass ich eine Extra News-Seite habe. Dort funktioniert der Wechsel der 2 Sprachen wunderbar. Aber nur fast...

1. Ich habe in der rechten Spalte die News nochmals als LATEST auf allen Seiten. Dort werden die News leider immer in der Standardsprache angezeigt.

2. Ich möchte die LATEST News nicht angezeigt bekommen, wenn ich die LIST News lese.

(3.) Perfekt wäre es natürlich, wenn ich auch der SINGLE News-Seite die LATEST noch angezeigt bekomme. Dafür brauch aber anscheinend die SelectPro Extension. Hab aber null Peilung von PHP. Gibt es irgendwo nen Codeschnippsel zum Lernen?

Danke für alle hildreichen Antworten im voraus. Bin jetzt schon weit gekommen, mit Hilfe des Forums, ohne auch nur einmal Support in Anspruch zu nehmen 🙂 Es wurde echt schon fast jede Frage gestellt, nur eben nicht jede Lösung 😉

@Philip:

Hast du eine Idee, wie die Änderung da aussehen könnte? Ich habe bei mir nur folgendes und das in Zeile 244 o.O :

$wrappedSubpartArray["###LINK_ITEM###"]= array('<A href="'.$this->getLinkUrl(0).'&pS='.$pArr["start"].'&pL='.($pArr["stop"]-$pArr["start"]).'&arc=1">','</A>');

greets

getimo