WebRex - Open Source CMS

Im Entwickler-Forum können Implementierungsdetails sowie Alternativen der Umsetzung diskutiert werden. // Here, developers can discuss implementation details of features of their projects.
Benutzeravatar
dr.e.
Administrator
Beiträge: 4533
Registriert: 04.11.2007, 16:13:53

Re: WebRex - Open Source CMS

Beitrag von dr.e. » 08.01.2012, 15:57:18

Hallo Nico,

für meinen Geschmack sollte die Entscheidung im Controller getroffen und die Ausgabe im Template definiert werden. Hierzu kannst du z.B. den <html:template />-Tag nutzen. So trennst du Darstellung und Logik weiterhin sauber.
Viele Grüße,
Christian

TipTop
Beiträge: 193
Registriert: 25.08.2011, 22:37:08
Wohnort: Klagenfurt, Österreich
Kontaktdaten:

Re: WebRex - Open Source CMS

Beitrag von TipTop » 11.03.2012, 18:53:43

Hi

Ich wollte heute den Context deaktivieren, die Frage ist aber wie?


Die GORM-Config-Inis liegen derzeit bspw. am folgenden Ort:
wwwroot/apps/config/webrex/system/data/webrex/DEFAULT_webrex_objects.ini
wwwroot/apps/config/webrex/system/data/webrex/DEFAULT_webrex_relations.ini

Und die .ini für DIServiceManager:
wwwroot/apps/config/webrex/system/data/webrex/DEFAULT_serviceobjects.ini

Das 2. webrex-Verzeichnis, welches durch den Context zustande kommt, stört da ein wenig. Ich möchte den Context aber nur für Config-Dateien innerhalb von wwwroot/apps/config/webrex/system entfernen, da er für Module wie UMGT ja eig. ganz praktisch ist.

Grüße
Nico

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: WebRex - Open Source CMS

Beitrag von Megger » 12.03.2012, 11:03:34

Für einzelne Ordner kannst du den Context so ohne weiteres allerdings nicht abstellen!

Möglich wäre es mit einem kleinen Umweg, dafür müsstest du allerdings eine andere Dateiendung verwenden http://adventure-php-framework.org/Seit ... mitContext
Also alle Konfigurationen, die nicht mit Context aufgerufen werden sollen, bräuchten eine andere Dateiendung, damit du einen weiteren IniConfigurationProvider registrieren kannst, bei diesem allerdings die Context Behandlung ausstellst
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

TipTop
Beiträge: 193
Registriert: 25.08.2011, 22:37:08
Wohnort: Klagenfurt, Österreich
Kontaktdaten:

Re: WebRex - Open Source CMS

Beitrag von TipTop » 12.03.2012, 15:11:16

Gut dann verzichte ich lieber generell auf den Context. Wie kann ich diesen komplett und möglichst einfach abschalten? Ich denke eine Möglichkeit wäre über die Bootstrap, indem ich über ConfigurationManager::retrieveProvider() mir den INI-ConfigProvider hole und über BaseConfigurationProvider::setOmitContext() den Context abschalte. Sollte dann so aussehen:

Code: Alles auswählen

<?php
// include the pagecontroller
require_once '../apps/core/pagecontroller/pagecontroller.php';

// context abschalten
$iniProvider = ConfigurationManager::retrieveProvider('ini');
$iniProvider->setOmitContext(true);

import('core::frontcontroller', 'Frontcontroller');
$frontController = &Singleton::getInstance('Frontcontroller');
$frontController->setLanguage($lang);
echo $frontController->start('webrex::system::pres::templates', 'backend');
 
oder löst man das anders?

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: WebRex - Open Source CMS

Beitrag von Megger » 12.03.2012, 16:56:09

Sollte so eigentlich funktionieren und auch die einfachste Möglichkeit sein
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

TipTop
Beiträge: 193
Registriert: 25.08.2011, 22:37:08
Wohnort: Klagenfurt, Österreich
Kontaktdaten:

Re: WebRex - Open Source CMS

Beitrag von TipTop » 13.03.2012, 15:30:28

Megger hat geschrieben:Sollte so eigentlich funktionieren und auch die einfachste Möglichkeit sein
Ja, haut hin. Der Pager verwendet wohl den StatementConfigurationProvider - für diesen muss ich ebenfalls den Context deaktivieren. Nur hat jemand ne Ahnung wo und mit welchem Namen der registriert wird?


Edit:
Habe versucht in der Bootstrap-Datei mit folgendem Code den Context für den StatementConfigurationProvider zu deaktivieren:

Code: Alles auswählen

import('core::database::config', 'StatementConfigurationProvider');
ConfigurationManager::registerProvider('sql', new StatementConfigurationProvider());
$sqlConfigProvider = ConfigurationManager::retrieveProvider('sql');
$sqlConfigProvider->setOmitContext(true); 
Jemand ne Idee, wieso das nicht funkioniert?

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: WebRex - Open Source CMS

Beitrag von Megger » 13.03.2012, 17:27:20

Spontan würde ich es so machen:

Code: Alles auswählen

$statementConfigurationProvider = new StatementConfigurationProvider();
$statementConfigurationProvider->setOmitContext(true);
ConfigurationManager::registerProvider('sql', $statementConfigurationProvider);
Bei deiner Variante dürfte registrierst du zwar einen neuen StatementConfigurationProvider und beziehst diesen auch, "schreibst" aber die Änderungen nicht wieder zurück! Zumindestens bei mir im aktuellen Quellcode wird keine Referenz zurückgeliefert bzw. übergeben
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

TipTop
Beiträge: 193
Registriert: 25.08.2011, 22:37:08
Wohnort: Klagenfurt, Österreich
Kontaktdaten:

Re: WebRex - Open Source CMS

Beitrag von TipTop » 13.03.2012, 18:45:56

Jetzt hat es funktioniert - danke vielmals! :)

TipTop
Beiträge: 193
Registriert: 25.08.2011, 22:37:08
Wohnort: Klagenfurt, Österreich
Kontaktdaten:

Re: WebRex - Open Source CMS

Beitrag von TipTop » 24.03.2012, 18:22:07

Ich werde Mehrsprachigkeit direkt ins CMS implementieren. Für jede Seite, die man erstellt, muss eine Sprache aus einer Select-Liste selektiert werden. Ich dachte daran, eine Datenbanktabelle anzulegen mit folgenden Attributen:

ent_language
- LanguageID
- DisplayName
- IsoCode

Im folgenden eine List der Sprachen. Links der 2-Stellige Language Code, rechts der Name der Sprache (allerdings immer in Englisch)

Code: Alles auswählen

aa "Afar"
ab "Abkhazian"
af "Afrikaans"
am "Amharic"
ar "Arabic"
as "Assamese"
ay "Aymara"
az "Azerbaijani"
ba "Bashkir"
be "Byelorussian"
bg "Bulgarian"
bh "Bihari"
bi "Bislama"
bn "Bengali" "Bangla"
bo "Tibetan"
br "Breton"
ca "Catalan"
co "Corsican"
cs "Czech"
cy "Welsh"
da "Danish"
de "German"
dz "Bhutani"
el "Greek"
en "English" "American"
eo "Esperanto"
es "Spanish"
et "Estonian"
eu "Basque"
fa "Persian"
fi "Finnish"
fj "Fiji"
fo "Faeroese"
fr "French"
fy "Frisian"
ga "Irish"
gd "Gaelic" "Scots Gaelic"
gl "Galician"
gn "Guarani"
gu "Gujarati"
ha "Hausa"
hi "Hindi"
hr "Croatian"
hu "Hungarian"
hy "Armenian"
ia "Interlingua"
ie "Interlingue"
ik "Inupiak"
in "Indonesian"
is "Icelandic"
it "Italian"
iw "Hebrew"
ja "Japanese"
ji "Yiddish"
jw "Javanese"
ka "Georgian"
kk "Kazakh"
kl "Greenlandic"
km "Cambodian"
kn "Kannada"
ko "Korean"
ks "Kashmiri"
ku "Kurdish"
ky "Kirghiz"
la "Latin"
ln "Lingala"
lo "Laothian"
lt "Lithuanian"
lv "Latvian" "Lettish"
mg "Malagasy"
mi "Maori"
mk "Macedonian"
ml "Malayalam"
mn "Mongolian"
mo "Moldavian"
mr "Marathi"
ms "Malay"
mt "Maltese"
my "Burmese"
na "Nauru"
ne "Nepali"
nl "Dutch"
no "Norwegian"
oc "Occitan"
om "Oromo" "Afan"
or "Oriya"
pa "Punjabi"
pl "Polish"
ps "Pashto" "Pushto"
pt "Portuguese"
qu "Quechua"
rm "Rhaeto-Romance"
rn "Kirundi"
ro "Romanian"
ru "Russian"
rw "Kinyarwanda"
sa "Sanskrit"
sd "Sindhi"
sg "Sangro"
sh "Serbo-Croatian"
si "Singhalese"
sk "Slovak"
sl "Slovenian"
sm "Samoan"
sn "Shona"
so "Somali"
sq "Albanian"
sr "Serbian"
ss "Siswati"
st "Sesotho"
su "Sudanese"
sv "Swedish"
sw "Swahili"
ta "Tamil"
te "Tegulu"
tg "Tajik"
th "Thai"
ti "Tigrinya"
tk "Turkmen"
tl "Tagalog"
tn "Setswana"
to "Tonga"
tr "Turkish"
ts "Tsonga"
tt "Tatar"
tw "Twi"
uk "Ukrainian"
ur "Urdu"
uz "Uzbek"
vi "Vietnamese"
vo "Volapuk"
wo "Wolof"
xh "Xhosa"
yo "Yoruba"
zh "Chinese"
zu "Zulu"
Nun dachte ich daran, in die Spalte IsoCode den 2-stelligen Language-Code reinzuschreiben und in der Spalte DisplayName eben den Namen der Sprache. Nur wäre dann halt jede Sprache in der Select-List in englischer Schreibweise. Könnte das problematisch sein oder kann man einem CMS-Nutzer die Wahl der richtigen Sprachen zutrauen? Falls nicht, müsste ich jede Sprache in jede Sprache übersetzen. Dann würde ich die Spalte DisplayName aus der Tabelle ent_language herausnehmen. Dafür lege ich eine INI-Datei an die dann in etwa so aussieht:

Code: Alles auswählen

[de]
af = "Afrikanisch"
de = "Deutsch"
en = "Englisch, Amerikanisch"
; usw. usf.

[en]
af = "Afrikaans"
de = "German"
en = "English, American"
; usw. usf.

[fr]
; .... 

Also, nochmal zurück zur eigentliche Frage: Reicht es die Sprachen in Englisch anzuführen?

Grüße

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: WebRex - Open Source CMS

Beitrag von dave » 24.03.2012, 22:23:47

Reicht es in Englisch?

Ich denke ja, denn immer wieder stosse ich auf Software, die die Sprachauswahl auch lediglich in Englisch anbietet. Soviel sollte zumutbar sein ...

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: WebRex - Open Source CMS

Beitrag von dave » 25.03.2012, 17:20:28

Was ich übrigens auch noch gefunden habe zwecks Sprache:

Die jeweilige Sprache in ihrer Übersetzung bzw. mit ihren Schriftzeichen. Damit kann der entsprechende User auf jeden Fall was anfangen, auch wenn er/sie kein Englisch beherrscht ;)

Beispiel:

Deutsch | English | Español | Français | Indonesian | Italiano | Türkçe | Русский | Português | العربية | ไทย | Nederlands | 中文(简体) | 中文(繁体) ... gefunden auf http://www.koramgame.com/

TipTop
Beiträge: 193
Registriert: 25.08.2011, 22:37:08
Wohnort: Klagenfurt, Österreich
Kontaktdaten:

Re: WebRex - Open Source CMS

Beitrag von TipTop » 27.03.2012, 12:44:46

dave hat geschrieben:Was ich übrigens auch noch gefunden habe zwecks Sprache:

Die jeweilige Sprache in ihrer Übersetzung bzw. mit ihren Schriftzeichen. Damit kann der entsprechende User auf jeden Fall was anfangen, auch wenn er/sie kein Englisch beherrscht ;)

Beispiel:

Deutsch | English | Español | Français | Indonesian | Italiano | Türkçe | Русский | Português | العربية | ไทย | Nederlands | 中文(简体) | 中文(繁体) ... gefunden auf http://www.koramgame.com/
Für ein Game ist diese Lösung noch i.O., aber wenn ich als deutschsprachiger eine Website in Chinesisch order Arabisch entwickeln muss, kann ich ja die Schriftzeichen nicht den Sprachen zuordnen - ich denke, ich bleib bei der Englischen Variante.

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: WebRex - Open Source CMS

Beitrag von dave » 27.03.2012, 16:27:51

TipTop hat geschrieben:
dave hat geschrieben:Was ich übrigens auch noch gefunden habe zwecks Sprache:

Die jeweilige Sprache in ihrer Übersetzung bzw. mit ihren Schriftzeichen. Damit kann der entsprechende User auf jeden Fall was anfangen, auch wenn er/sie kein Englisch beherrscht ;)

Beispiel:

Deutsch | English | Español | Français | Indonesian | Italiano | Türkçe | Русский | Português | العربية | ไทย | Nederlands | 中文(简体) | 中文(繁体) ... gefunden auf http://www.koramgame.com/
Für ein Game ist diese Lösung noch i.O., aber wenn ich als deutschsprachiger eine Website in Chinesisch order Arabisch entwickeln muss, kann ich ja die Schriftzeichen nicht den Sprachen zuordnen - ich denke, ich bleib bei der Englischen Variante.
Wieso entwickeln? Die wird doch dann nur übersetzt und das macht eine Fachperson, die damit umgehen kann ... oder irre ich mich?

TipTop
Beiträge: 193
Registriert: 25.08.2011, 22:37:08
Wohnort: Klagenfurt, Österreich
Kontaktdaten:

Re: WebRex - Open Source CMS

Beitrag von TipTop » 30.03.2012, 16:17:09

dave hat geschrieben:Wieso entwickeln? Die wird doch dann nur übersetzt und das macht eine Fachperson, die damit umgehen kann ... oder irre ich mich?
Mehrsprachige Websites habe ich eigentlich bisher immer so realisiert: um die Seitenverwaltung (z.B. in einem CMS) habe ich mich gekümmert - sprich, Seiten habe ich erstellt. Von einem Übersetzter habe ich dann die Texte erhalten und Sie in den Seiteninhalt eingepflegt. Nehmen wir an, ich muss nun ein paar Seiten erstellen und für diese als Sprache Chinesisch auswählen. Woher soll ich aber wissen, ob 中文(简体), ไทย oder العربية Chinesisch ist? Verstehst worauf ich hinaus will?

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: WebRex - Open Source CMS

Beitrag von dave » 30.03.2012, 20:25:54

Klar, verstanden :) Jeder hat eben so seine eigene Vorgehensweise.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast