IM Portal in zwei Sprachen

Support zum phpBB2 und zu MODs anderer Autoren.

Moderator: Supporter

IM Portal in zwei Sprachen

Beitragvon AndreasM » 13. Aug 2007 13:32

Ich hab hier nen nerviges Problem mit dem IM Portal.

Vorab, ich selbst hab null Ahnung von php :(

Ich hab bei mir das IM Portal installieren lassen und möchte das ganze in 2 Sprachen nutzen (deutsch/englisch).

Egal, auf welche Unterseite im Forum, KB, Gallery usw. der User direkt geht, es soll immer die passende Portalseite bzw. der rechte navi davon mitgeladen werden.

Zu diesem Zweck hab ich das Guest Language mod installieren lassen. Funktioniert auch wunderbar.

Nur beim Portal selbst gibt es Probleme. An sich müsste ich bei jedem einzelnen Block quecken lassen welche Sprache genutzt wird
und vor allem bei festen links usw. gibts da Probleme.

Deswegen bin ich auf die Idee gekommen das ich doch einfach 2 Portalseiten erstelle. Eine deutsche und eine englische.

Mittels Blocks Management im ACP kann ich ja verschiedene Portalkseiten machen. Wenn ich das System richtig verstanden habe :)

Nur wie bekomme ich es hin, das ein englischer User, egal woher er kommt (forum, album, kb usw.) die jeweils richtige Portalseite angezeigt bekommt?
AndreasM
User
 
Beiträge: 57
Registriert: 12. Aug 2007 12:57

Beitragvon AmigaLink » 13. Aug 2007 17:01

Nette Idee, aber darauf ist das Portal nicht ausgelegt. Das geht also nicht ohne Modifizierung des Portal-Codes.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon AndreasM » 13. Aug 2007 17:05

Mag jetzt ne blöde Frage sein, aber wieso nicht?

Das Portal ist ja so aufgebaut das man verschiedene Seiten nutzen kann. So versteh ich zumidnerst die Beschreibung im ACP.
AndreasM
User
 
Beiträge: 57
Registriert: 12. Aug 2007 12:57

Beitragvon AmigaLink » 13. Aug 2007 17:08

Nach kurzem Überdenken der Funktionsweise des IM-Portals, sollte eine solche Änderung nicht wirklich schwer sein. Denn beim Aufruf des Portals wird überprüft welche Portalseite angezeigt werden soll.
Wenn in der URL kein entsprechender Parameter angegeben wird, wird die als Standart definierte Seite angezeigt. Und genau da kann man ansetzen. Indem man einfach die Standartseite von der Boardsprache abhängig macht. :mrgreen:
Dabei wird jedoch dann die ACP-Einstellung ausgehebelt (die entsprechend anzupassen wäre etwas aufwändig). Wenn dich das nicht weiter stört, kann ich dir in den nächsten Tagen eine entsprechende Anpassung hier Posten. :D
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon AndreasM » 13. Aug 2007 17:13

Ich habs noch nicht ganz geschafft mich in das Portal reinzudenken. Deswegen bin ich lieber lästig und frag. Warum wird das ACP ausgehebelt?

Im ACP kann ich ja die Einstellungen der einzelnen Portalseiten konfigurieren. Welche Seite dann vom User aus gestartet wird hat doch an sich nichts mehr mit dem ACP zu tun oder? Das geht doch rein über den parameter "page=x
AndreasM
User
 
Beiträge: 57
Registriert: 12. Aug 2007 12:57

Beitragvon AmigaLink » 13. Aug 2007 17:15

Ups, da warst du schneller als ich. :)

Mag jetzt ne blöde Frage sein, aber wieso nicht?
Das Portal ist, genau wie das Forum selber, darauf ausgelegt alle bestehenden Seiten in unterschiedlichen Sprachen darstellen zu können. Das betrifft aber nur die PHP-Blöcke und die Rahmen der einzelnen Boxen. HTML und BBCode Blöcke sind genau wie das Forum mit fixem Inhalt.

Die verschiedenen Seiten die man erstellen kann, sind dafür gedacht das Portal als ein CMS nutzen zu können. Es können also verschiedene Seiten mit unterschiedlichem Inhalt erstellt werden (eine Geniale Funktion die ich nicht missen möchte). Ich nutze das z.B. für die Boardregeln, das Impressum, die Linkliste(n), das News-Archiv und für die beiden Beispielseiten.
Das Portal ist aber nicht darauf ausgelegt einzelne Seiten anhand der Spracheinstellung auszuwählen!
Das lässt sich aber, wie gesagt, umsetzen und sollte auch kein wirkliches Problem darstellen.

Zugefügt nach 3 Minute(n):

Warum wird das ACP ausgehebelt?

Im ACP kann ich ja die Einstellungen der einzelnen Portalseiten konfigurieren. Welche Seite dann vom User aus gestartet wird hat doch an sich nichts mehr mit dem ACP zu tun oder? Das geht doch rein über den parameter "page=x
Mit aushebeln meine ich nur die Definition der Standartseite.
Du kannst ja eine der erstellten Seiten als Standard bestimmen. Diese Seite wird immer dann angezeigt wenn das Portal ohne zusätzliche Parameter (page=xx) aufgerufen wird. Und genau hier müssten wir ansetzen.
Das Portal würde beim Aufruf ohne Parameter dann nicht mehr die Standardseite zeigen, sonder eine Seite die wir (im Code) anhand der Spracheinstellung bestimmen. :)

Zugefügt nach weiteren 1 Minute(n):

Ich habs noch nicht ganz geschafft mich in das Portal reinzudenken. Deswegen bin ich lieber lästig und frag.
Kein Problem.
Das Portal braucht seine Einarbeitungszeit. Das ist bekannt. :)
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon AndreasM » 13. Aug 2007 17:36

AmigaLink hat geschrieben:Ups, da warst du schneller als ich. :)


:)

Mag jetzt ne blöde Frage sein, aber wieso nicht?

Das Portal ist, genau wie das Forum selber, darauf ausgelegt alle bestehenden Seiten in unterschiedlichen Sprachen darstellen zu können. Das betrifft aber nur die PHP-Blöcke und die Rahmen der einzelnen Boxen. HTML und BBCode Blöcke sind genau wie das Forum mit fixem Inhalt.

Die verschiedenen Seiten die man erstellen kann, sind dafür gedacht das Portal als ein CMS nutzen zu können. Es können also verschiedene Seiten mit unterschiedlichem Inhalt erstellt werden (eine Geniale Funktion die ich nicht missen möchte). Ich nutze das z.B. für die Boardregeln, das Impressum, die Linkliste(n), das News-Archiv und für die beiden Beispielseiten.
Das Portal ist aber nicht darauf ausgelegt einzelne Seiten anhand der Spracheinstellung auszuwählen!
Das lässt sich aber, wie gesagt, umsetzen und sollte auch kein wirkliches Problem darstellen.


Ich hoffe das es kein Problem ist :)

Das es für sowas nicht wirklich gedacht ist, hab ich schon verstanden. Aber es ist vermutlich einfacher als bei jedem einzelnen Block ne Abfrage wegen der Sprache rein zumachen.

Zugefügt nach 3 Minute(n):

Warum wird das ACP ausgehebelt?

Im ACP kann ich ja die Einstellungen der einzelnen Portalseiten konfigurieren. Welche Seite dann vom User aus gestartet wird hat doch an sich nichts mehr mit dem ACP zu tun oder? Das geht doch rein über den parameter "page=x
Mit aushebeln meine ich nur die Definition der Standartseite.
Du kannst ja eine der erstellten Seiten als Standard bestimmen. Diese Seite wird immer dann angezeigt wenn das Portal ohne zusätzliche Parameter (page=xx) aufgerufen wird. Und genau hier müssten wir ansetzen.
Das Portal würde beim Aufruf ohne Parameter dann nicht mehr die Standardseite zeigen, sonder eine Seite die mir (im Code) anhand der Spracheinstellung bestimmen. :)


Achso, ja das ist klar. Aber auch egal :)))
AndreasM
User
 
Beiträge: 57
Registriert: 12. Aug 2007 12:57

Beitragvon AmigaLink » 13. Aug 2007 18:51

Ok - Dann schau ich dieser Tage mal, was ich für dich tun kann. :)
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon AndreasM » 13. Aug 2007 20:01

DANKE
AndreasM
User
 
Beiträge: 57
Registriert: 12. Aug 2007 12:57

Beitragvon AmigaLink » 14. Aug 2007 17:03

Kein Problem. :)
Mir ist sogar eine Möglichkeit eingefallen mittels der die Definition einer Standard-Portalseite nicht unsinnig wird. Ganz im Gegenteil, das Portal wird mit dieser Änderung sogar noch Vielseitiger als es sowieso bereits ist. :D

Bei den Codeänderungen gehe ich vom Code meiner IM-Portal Optimierungen aus. Wenn du die noch nicht drin hast, dann findest du sie hier. Außerdem solltest du auf jeden Fall den http://www.amigalink.de/viewtopic.php?t=626 installieren, wenn du das noch nicht getan hast.

Die Codeänderungen sind:
Code: Alles auswählen
#
#-----[ OPEN ]----------------------------------------------------------------
#

portal.php

#
#-----[ FIND ]----------------------------------------------------------------
#

(isset($HTTP_GET_VARS['page'])) ? $layout = intval($HTTP_GET_VARS['page']) : $layout = $portal_config['default_portal'];

#
#-----[ REPLACE WITH ]--------------------------------------------------------
#

(isset($HTTP_GET_VARS['page'])) ? $layout = intval($HTTP_GET_VARS['page']) : ($portal_config[$userdata['user_lang'].'_portal']) ? $portal_config[$userdata['user_lang'].'_portal'] : $portal_config['default_portal'];

#
#-----[ FIND ]----------------------------------------------------------------
#

   if(($layout_template=='') || (!$lview) || ($not_group_allowed))
   {
      $layout = $portal_config['default_portal'];

#
#-----[ REPLACE WITH ]--------------------------------------------------------
#

   if(($layout_template=='') || (!$lview) || ($not_group_allowed))
   {
      $layout = ($portal_config[$userdata['user_lang'].'_portal']) ? $portal_config[$userdata['user_lang'].'_portal'] : $portal_config['default_portal'];

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------------
#
# EoM

Wenn du die durchgeführt hast, musst du noch folgendes tun:
  1. Geh im ACP auf 'IM-Portal->Blocks Variables'.
  2. Klick auf 'Blockvariable hinzufügen'.
  3. In dem sich nun öffnenden Formular gibst du folgendes ein:
      Feldtitel: Englisches Portal
      Feldinfo: Diese Portalseite wird Benutzern angezeigt die als Boardsprache English gewählt haben. Wenn hier nichts (oder 0) Eingetragen ist, wird die Standardseite des IM-Portals angezeigt.
      Configname: english_portal
      Feldwerte: (Hier nichts eintragen!)
      Optionen: (Hier nichts eintragen!)
      Kontrollart: textbox
      Block: Portal Config
  4. Klick auf 'absenden'.

Nun hast du in der Portalkonfiguration ein Feld in dem du die ID der Englischen Portalseite definieren kannst. 8)
Trägst du dort nichts oder 0 ein, dann wird die als Standard definierte Portalseite angezeigt.

Wenn du weitere Sprachen hinzufügst, brauchst du nur die Schritte im ACP zu wiederholen und dabei english gegen die zusätzliche Sprache auszutauschen. 8)
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Nächste

Zurück zu phpBB2 Support



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste

cron