Modulvorstellung: MultiDomains

Hilfe zu Modulen und Tags
NaN

Re: Modulvorstellung: MultiDomains

Post by NaN »

Andiministrator wrote:
@NaN: Wie hast Du Dein PHP Error Reporting eingestellt? Meins steht auf

Code: Select all

error_reporting  =  E_ALL & E_NOTICE & E_STRICT
Damit kann ich keine Warnmeldungen sehen.
steht bei mir nur auf E_ALL.
Damit sehe ich so ziemlich alles.
(Teste unter PHP 5.2.13 auf 'nem Mac)
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: Modulvorstellung: MultiDomains

Post by nockenfell »

nockenfell wrote: Bin gerade am Testen des Moduls. Daraus ergibt sich folgende Frage:

Ich habe eine Seite mit folgender stark vereinfachte Strukur:

1 Hauptseite
2 Seite
 2.1 Seite
 2.2 ...
3 Seite mit anderer Domain
 3.1 ...
4 Seite

Die Weiterleitung der 2. Domain auf die Seite 3 funktioniert problemlos. Dargestellt wird dabei das gleiche wie bei der Hauptdomain. Nun erscheinen jedoch alle Menüpunkte mit der Zweitdomain. Ich möchte jedoch nur den 3-er Stamm mit der Zweitdomain erreichbar haben. Sobald aus diesem Bereich herausgesurft wird, soll wieder die Hauptdomain gelten.

Zu sehen hier:
http://www.lernholz.com (Hauptdomain)
http://www.lerncd.eu (zweitdomain)
Hab dies nun wieder kontrolliert. Die Hauptdomain wird nun wieder sauber geschrieben.

Ein Feature das noch gut wäre:

Folgeseiten mit gleicher Domain.

Im oben genannten Beispiel ist die Seite 3 mit der Zweitdomain definiert worden. Nun soll auch die Seiten 3.1, 3.2, 3.3, etc mit dieser Domain erreichbar sein, ohne dass man diese jedesmal umschreiben muss.
[this message is written with 100% recycled bits]
Andiministrator

Re: Modulvorstellung: MultiDomains

Post by Andiministrator »

NaN wrote: steht bei mir nur auf E_ALL.
Damit sehe ich so ziemlich alles.
(Teste unter PHP 5.2.13 auf 'nem Mac)
Falls noch Warnmeldungen kommen, gib mal bescheid, bei mir kommt nix mehr.
nockenfell wrote: Ich habe eine Seite mit folgender stark vereinfachte Strukur:

1 Hauptseite
2 Seite
  2.1 Seite
  2.2 ...
3 Seite mit anderer Domain
  3.1 ...
4 Seite

Im oben genannten Beispiel ist die Seite 3 mit der Zweitdomain definiert worden. Nun soll auch die Seiten 3.1, 3.2, 3.3, etc mit dieser Domain erreichbar sein, ohne dass man diese jedesmal umschreiben muss.
Das sollte bereits funktionieren, MultiDomains arbeitet rekursiv. Geht bei Dir nicht?
Also dass die Menüpunkte derzeit nur mit der gleichen Domain dargestellt werden, ist klar, das hab ich ja schon als Feature Request eingestellt.
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: Modulvorstellung: MultiDomains

Post by nockenfell »

Andiministrator wrote: Das sollte bereits funktionieren, MultiDomains arbeitet rekursiv. Geht bei Dir nicht?
Also dass die Menüpunkte derzeit nur mit der gleichen Domain dargestellt werden, ist klar, das hab ich ja schon als Feature Request eingestellt.
Ups. Ich hatte hier einen internen Seitenlink. Somit war die "Hauptseite" der 2. Domain auf der gleichen Ebene wie die weiteren Seiten. Hier wäre es toll wenn du auch auf interne Seitenlinks weiterleiten könntest.

2. interner Seiitenlink auf 2.1
2.1 (hier drauf war die Weiterleitung definiert)
2.2

Wenn nun auf die Seite 2. eine Weiterleitung erstellt werden könnte, würde dies die Navigation vereinfachen. (z.B. eine Navigation flach ab Ebene 2ff)
[this message is written with 100% recycled bits]
NaN

Re: Modulvorstellung: MultiDomains

Post by NaN »

Andiministrator wrote:
Also dass die Menüpunkte derzeit nur mit der gleichen Domain dargestellt werden, ist klar, das hab ich ja schon als Feature Request eingestellt.
Im Zusammenhang mit AdvancedContent kam mir dazu eine Idee.
Wenn man die gewünschte Domain auch als Inhaltseigenschaft einer Seite speichern würde, dann könnte man (vorrausgesetzt der Parameter loadprops des MenuManagers funktioniert so wie beschrieben) im Menütemplate über das $node Objekt darauf zugreifen und den Link zum Menüpunkt nicht über $node->url sondern z.B. über $node->custom_url darstellen.
(Wobei custom_url eine zusätzliche Inhaltseigenschaft sein soll, die entweder über einen Inhaltsblock vom Typ dropdown und einem Plugin welches die Domains des MultiDomain Moduls auflistet oder eine bereits vordefinierte Eigenschaft die das automatisch macht.)

Derzeit lädt der MenüManager mit loadprops=1 allerdings nur die Extra-Eigenschaften hinzu.
Ich überlege gerade, ob ich beim AdvancedContent Modul einfach eine Extra-Eigenschaften durch ein Dropdown ersetze, welches an dieser Stelle die Domains des MultiDomain Moduls auflistet.

Dann könnte man im Menütemplate über z.B. $node->extra3 auf die gewünschte Domain zugreifen.
Allerdings habe ich dann das Problem, dass AdvancedContent nicht mehr zu 100% kompatibel zum Standard Inhalt ist.
Jeder, der bereits alle drei Extra Felder benötigt wird dann Probleme bekommen, wenn er eine bereits bestehende Seite auf AdvancedContent umstellen will.

Dieses MultiDomain Zeug finde ich so dermaßen interessant, dass ich es mir als Basis-Eigenschaft einer Seite wünschen würde.
Jedoch müsste man eine Menge Code umschreiben, um in allen Funktionen, die in irgendeiner Weise Links generieren, diese Eigenschaft zu prüfen und den Link entsprechend abzuändern.

Ich frage mich, ob man nicht schneller ans Ziel kommt, wenn man den umgekehrten Weg gehen würde.
Also nachdem das Template vollständig verarbeitet wurde, es nochmal zu parsen, jeden Link, der mit der root URL beginnt, nach dem Seitenalias bzw. der Seiten-Id aufzudröseln, mit den Seiten denen eine Domain zugewiesen wurde zu vergleichen und dann die root URL im Link mit der entsprechenden Domain zu ersetzen.
Das Ganze könnte ebenfalls über einen Event (ContentPostRender) gesteuert werden und würde sozusagen wie ein Prefilter funktionieren.
Andiministrator

Re: Modulvorstellung: MultiDomains

Post by Andiministrator »

nockenfell wrote: Einen kleinen Bug habe ich dennoch entdeckt. Wenn als "Seite" bei der URL Weiterleitung nichts definiert wird, wird als URL
www.domain.de/.htm
generiert. Dies ist natürlich nicht korrekt. Entweder musst du beim Speichern abfangen das immer eine Seite ausgewählt ist, oder beim zusammenstellen der Extension schauen ob du überhaupt ein Alias hast.
nockenfell wrote: Ups. Ich hatte hier einen internen Seitenlink. Somit war die "Hauptseite" der 2. Domain auf der gleichen Ebene wie die weiteren Seiten. Hier wäre es toll wenn du auch auf interne Seitenlinks weiterleiten könntest.
Sollte beides in Version 1.3.1 gelöst sein.

Ich habe irgendwie manchmal Probleme beim Update des Moduls, weiß aber nicht, woran das liegen könnte. Das upgrade.php sieht eigentlich sauber aus ...
Hattet Ihr auch schon Probleme beim Modulupdate?
Andiministrator

Re: Modulvorstellung: MultiDomains

Post by Andiministrator »

NaN wrote: Im Zusammenhang mit AdvancedContent kam mir dazu eine Idee.
Wenn man die gewünschte Domain auch als Inhaltseigenschaft einer Seite speichern würde, dann könnte man (vorrausgesetzt der Parameter loadprops des MenuManagers funktioniert so wie beschrieben) im Menütemplate über das $node Objekt darauf zugreifen und den Link zum Menüpunkt nicht über $node->url sondern z.B. über $node->custom_url darstellen.
(Wobei custom_url eine zusätzliche Inhaltseigenschaft sein soll, die entweder über einen Inhaltsblock vom Typ dropdown und einem Plugin welches die Domains des MultiDomain Moduls auflistet oder eine bereits vordefinierte Eigenschaft die das automatisch macht.)
Man kann auch ohne loadprops eine zusätzliche Eigenschaft laden, mittels eines Tags. Dies hatte ich z.B. mit dem Plugin menuiimage demonstriert: http://dev.cmsmadesimple.org/projects/menuimage
NaN wrote: Derzeit lädt der MenüManager mit loadprops=1 allerdings nur die Extra-Eigenschaften hinzu.
Ich überlege gerade, ob ich beim AdvancedContent Modul einfach eine Extra-Eigenschaften durch ein Dropdown ersetze, welches an dieser Stelle die Domains des MultiDomain Moduls auflistet.
Dann könnte man im Menütemplate über z.B. $node->extra3 auf die gewünschte Domain zugreifen.
Allerdings habe ich dann das Problem, dass AdvancedContent nicht mehr zu 100% kompatibel zum Standard Inhalt ist.
Jeder, der bereits alle drei Extra Felder benötigt wird dann Probleme bekommen, wenn er eine bereits bestehende Seite auf AdvancedContent umstellen will.
Eine andere Möglichkeit wäre, die Domain im AdvancedContent via Eingabefeld direkt einzutragen (vielleicht sogar in einem eigenen Tab, wo man DevDomain, ZusatzDomains, etc angeben könnte.. Dann würde ich mein Modul um einen Schalter erweitern, der angibt, ob die Domains direkt oder via AdvancedContent verwaltet werden. Wo ich die Daten im Endeffekt her beziehe ist ja egal.

Den ganzen Code im AdvancedContent Modul aufgehen zu lassen, wäre zuviel, oder was meinst Du?
NaN wrote: Ich frage mich, ob man nicht schneller ans Ziel kommt, wenn man den umgekehrten Weg gehen würde.
Also nachdem das Template vollständig verarbeitet wurde, es nochmal zu parsen, jeden Link, der mit der root URL beginnt, nach dem Seitenalias bzw. der Seiten-Id aufzudröseln, mit den Seiten denen eine Domain zugewiesen wurde zu vergleichen und dann die root URL im Link mit der entsprechenden Domain zu ersetzen.
Das Ganze könnte ebenfalls über einen Event (ContentPostRender) gesteuert werden und würde sozusagen wie ein Prefilter funktionieren.
Das wäre natürlich auch eine Idee, den Inhalt einfach nochmal zu parsen. Dann bräuchte man kein Plugin. Werd ich mal drüber nachdenken.

Wir können die Diskussion über die Zusammenarbeit der Module auch gern in einen extra Thread auslagern, falls es mehr wird. Bei Bedarf auch ins englische Developer Forum, vielleicht kann dort der ein oder andere Dev ja auch noch nen Tipp geben. Was meinst Du?
Last edited by Andiministrator on Thu May 27, 2010 8:33 pm, edited 1 time in total.
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: Modulvorstellung: MultiDomains

Post by nockenfell »

Andiministrator wrote:
nockenfell wrote: Ups. Ich hatte hier einen internen Seitenlink. Somit war die "Hauptseite" der 2. Domain auf der gleichen Ebene wie die weiteren Seiten. Hier wäre es toll wenn du auch auf interne Seitenlinks weiterleiten könntest.
Sollte beides in Version 1.3.1 gelöst sein.

Ich habe irgendwie manchmal Probleme beim Update des Moduls, weiß aber nicht, woran das liegen könnte. Das upgrade.php sieht eigentlich sauber aus ..
Hattet Ihr auch schon Probleme beim Modulupdate?
Die Weiterleitung auf die Root-Seite funktioniert nun tadellos. Was nicht geht, ist ein Interner Seitenlink als Ziel auszuwählen. Kannst du das umsetzen?

Probleme hatte ich bisher nie beim Modulupdate. Einzig braucht es jedesmal eine Aktualisierung. Ist das notwendig?
Andiministrator wrote: Wir können die Diskussion über die Zusammenarbeit der Module auch gern in einen extra Thread auslagern, falls es mehr wird. Bei Bedarf auch ins englische Developer Forum, vielleicht kann dort der ein oder andere Dev ja auch noch nen Tipp geben. Was meinst Du?
Dann teilt schön die URL des Threads mit, damit ich weiter diskutieren und testen kann.
[this message is written with 100% recycled bits]
Andiministrator

Re: Modulvorstellung: MultiDomains

Post by Andiministrator »

nockenfell wrote: Die Weiterleitung auf die Root-Seite funktioniert nun tadellos. Was nicht geht, ist ein Interner Seitenlink als Ziel auszuwählen. Kannst du das umsetzen?
War nur eine Template-Sache. Hab die Version 1.3.1 nochmal neu hochgeladen (war ja noch frisch) ;)
nockenfell wrote: Probleme hatte ich bisher nie beim Modulupdate. Einzig braucht es jedesmal eine Aktualisierung. Ist das notwendig?
Meistens schon ...
nockenfell wrote: Dann teilt schön die URL des Threads mit, damit ich weiter diskutieren und testen kann.
Mal sehen, was NaN sagt, aber wenn wir dafür nen neuen Thread aufmachen, schreiben wir die URL selbstverständlich hier rein.
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: Modulvorstellung: MultiDomains

Post by nockenfell »

Andiministrator wrote:
nockenfell wrote: Die Weiterleitung auf die Root-Seite funktioniert nun tadellos. Was nicht geht, ist ein Interner Seitenlink als Ziel auszuwählen. Kannst du das umsetzen?
War nur eine Template-Sache. Hab die Version 1.3.1 nochmal neu hochgeladen (war ja noch frisch) ;)
Jetzt funktionierts. Echt cool dieses Modul. Auf die Zusammenarbeit mit NaNs AdvancedContent wird spannend.
[this message is written with 100% recycled bits]
NaN

Re: Modulvorstellung: MultiDomains

Post by NaN »

Andiministrator wrote:
Falls noch Warnmeldungen kommen, gib mal bescheid, bei mir kommt nix mehr.
Die Meldungen kommen leider immer noch.
Habe die letzte Version aus dem SVN probiert.

Es geht im Prinzip nur darum, dass wenn ich eine Domain hinzufügen will, nach einer Domain mit der ID 0 gesucht wird.
Da diese nicht existiert (die IDs beginnen immer mit 1, da auto_increment die letzte gefundene ID immer um eins erhöht. Die letzte ID ist am Anfang immer "nichts", und das + 1 = 1 ;) ), kann das Array $domaininfo die Indizes (domain, devdomain, prefix, page_id, actice, notes) nicht enthalten, weil die DB Abrage einfach nichts zurückliefert.
Das Array ist leer.
Du greifst aber ohne zu prüfen, ob diese Indizes existieren (also ohne zu prüfen, ob eine Domain gefunden wurde) auf dessen Indizes zu.
Daher kommen diese Notices.
Du musst also für den Fall, dass keine Domaininfos gefunden werden, dafür sorgen, dass $domaininfo ein Array mit den nötigen Indizes ist.
Dazu musst Du eigentlich nur zwei Zeilen ändern.

Ändere mal in der function.admin_domains.php die Zeile 22:

Code: Select all


// Get domain info
	$domaininfo = $db->GetRow('SELECT page_id,domain,devdomain,prefix,active,notes,created_date,modified_date FROM '.cms_db_prefix().'module_multidomains WHERE id = ?', array($domain));

in das hier:

Code: Select all


// Get domain info
	# mod by NaN 29.05.2010; if no domain info found -> create defaut domain info array to fix php notices
	if(!$domaininfo = $db->GetRow('SELECT page_id,domain,devdomain,prefix,active,notes,created_date,modified_date FROM '.cms_db_prefix().'module_multidomains WHERE id = ?', array($domain))) {
		$domaininfo = array('domain'=>'', 'devdomain'=>'', 'prefix'=>'', 'page_id'=>'', 'active'=>'', 'notes'=>'');
	}
	#---

Und dann fehlt bei all Deinen Scripten das abschließende ?>
Vermutlich lässt sich das Modul deshalb auch nicht deinstallieren bzw. vielleicht kommt es ja deswegen zu Problemen beim Upgrade.
Last edited by NaN on Sat May 29, 2010 2:45 pm, edited 1 time in total.
Andiministrator

Re: Modulvorstellung: MultiDomains

Post by Andiministrator »

@NaN
Habe Deinen Vorschlag eingearbeitet, einschließlich Deines Kommentars ;)    Habe das gleiche auch bei den Weiterleitungen gemacht, da dürfte das Problem auch bestanden haben. Ich bekomme irgendwie keine Notices von PHP, vielleicht sollte ich doch mal wieder auf Linux/FreeBSD umsteigen ...
Die Änderungen sind im SVN bereits eingecheckt und werden bei der nächsten Version mit veröffentlicht.

Die schließenden ?> meiner PHP Dateien habe ich absichtlich durch // EOF ersetzt (?> ist ja nicht zwingend), damit hat man im Normalfall weniger Probleme. Siehe dazu z.B. http://php.net/manual/de/language.basic-syntax.instruction-separation.php

Vielen Dank nochmal für Deine Mühen!
gbock
Forum Members
Forum Members
Posts: 27
Joined: Thu Dec 24, 2009 12:05 pm

Re: Modulvorstellung: MultiDomains

Post by gbock »

hallo,

Mir ist die Funktionalität und Handhabung nicht ganz klar...

www.abc.de/admin > ich gelange NUR in das CMS für abc.de ???
www.bcd.de/admin > ich gelange NUR in das CMS für bdc.de ???

Bei beiden seriten habe ich komplett unterschiedlich Baumstruktur und Layout hinterlegt?

Vielen Dank
PS: gibt es irgendwo vielleicht Screenshots des Moduls ?
Andiministrator

Re: Modulvorstellung: MultiDomains

Post by Andiministrator »

Nein, da hast Du etwas falsch verstanden. Das Modul ist dazu gedacht, mehrere Domains mit einem Backend zu verwalten. Also egal, mit welcher Domain Du ins Backend (.../admin/) gehst, Du bist immer im selben Backend.

Im Anhang 2 Screenshots ...
Attachments
multidomains2.png
multidomains1.png
gbock
Forum Members
Forum Members
Posts: 27
Joined: Thu Dec 24, 2009 12:05 pm

Re: Modulvorstellung: MultiDomains

Post by gbock »

Danke!

und unter Inhalte> Seiten habe ich dann eine Hierarchie mehr?

also zb:
www.abc.de
> home
> produkte
>> produkt a
>> produkt b
> kontakt

www.bcd.de
> lösungen
>>lösung a
>>lösung b
> wissenswertes
> diverses
>> diverses a
>> diverses b

also für jede Domain ein seperater Baum?
Post Reply

Return to “Module und Tags”