[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Website Manager - Multidomain AddOn für REX 4.5+ - Seite 4
Seite 4 von 4

Re: [v3.0.1] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 18. Mär 2015, 19:42
von RexDude
Ich weiss nicht was du da falsch gemacht hast ;)
Einfach nochmal von vorne beginnen und alles neu aufsetzen wäre hier mein Tip :mrgreen:

Re: [v3.0.1] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 18. Mär 2015, 21:27
von ralf.schlott
Hab den Fehler gefunden.
Alles gut

Sorry fürs verrückt machen. Mehr verrate ich dann aber auch nicht :D

Re: [v3.0.1] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 19. Mär 2015, 14:12
von ralf.schlott
Also beim Anlegen von Seite2 wurde irgendwie für rex2_modules und rex2_templates nur je eine Tabelle mit Views(0) angelegt. Deshalb schrieben Module und Templates immer vice versa.
Haben nun bei Seite 2 die beiden Tabellen gelöscht und neu aus rex_ kopiert. Nun funktioniert alles.

Kann mir nicht vorstellen, dass das ohne zutun des Addons geschah.

Ansonsten großartiges Addon.

Gruß Ralf

Re: [v3.0.1] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 27. Mär 2015, 12:26
von g4tom
Ich hab zwei Probleme mit dem Website-Manager (aktuelle Version mit Redaxo 4.6.1 und RexSEO42 4.1.1):

Der User 2 für die Domain 2 hat keine Administratorrechte. Wenn er einen neuen Artikel in seiner Domain anlegt, dann wird generated2/files/seo42_pathlist.php seiner Domain zusätzlich auch noch in den generated/files/seo42_pathlist.php geschrieben. Damit stimmen natürlich nicht mehr die URLs der Basis-Domain – bis man den System-Cache wieder leert. Bekommt der User 2 dagegen Administratorrechte, gibt es das Problem nicht. Da die Redakteure aber keine Admin-Rechte haben sollen, umgehe das Problem im Moment so, dass die Basis-Domain nur fürs Backend verwendet wird.

Auch das zweite Problem hat mit Benutzerrechten und dem Platzhalter-Addon opf_lang zu tun: mit Administratorrechten sehe ich als User 2 im Backend die richtige Platzhalter-Tabelle rex2_b_1_opf_lang. Ohne Admin-Rechte sehe ich dagegen die rex_b_1_opf_lang. Im Frontend von Domain 2 wird der Inhalt von rex2_b_1_opf_lang angezeigt. Hier umgehe ich das Problem damit, dass die Benutzer nicht zwingend Zugriff auf das Addon brauchen und ich alle Platzhalter als Admin bearbeite.
Würde mit dem Addon String Table das Problem nicht bestehen?

Re: [v3.0.1] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 27. Mär 2015, 12:59
von RexDude
Zu 1.) Es scheint in der Tat ein Problem zu geben, wenn der User nur für eine bestimmte Website das Recht hat (also nicht für alle). DIksussion dazu bitte weiter hier: https://github.com/RexDude/website_manager/issues/52 Falls du einen Fix liefern kann wäre es cool. Das User sich über ne andere Domain als die Masterdomain einloggen habe ich nie (bzw. noch nicht) getestet bzw. berücksichtigt übrigens :D

Zu 2.) Nimm hier am besten das String Table Addon. Zum ofp_lang kann ich nix sagen. Trage string_table bei den zu reinstallierenden Addons ein, wenn jede Website ihre eigenen Keys/Values haben soll. Bei gleichen Datenbestand musst du sonst ein VIEW anlegen...näheres dazu in der Readme.

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 10. Aug 2015, 22:05
von RexDude
### Version 3.1.0 - 10. August 2015

* Fixed #53: Beim Abspeichern der Einstellungen gingen diese verloren (nur Einstellungen die disabled waren)
* Folgende Extension Points inkl. Beispiel-Anwendung in der Readme wurden hinzugefügt: `WEBSITE_BEFORE_CREATED`, `WEBSITE_AFTER_CREATED`, `WEBSITE_BEFORE_DESTROYED`, `WEBSITE_AFTER_DESTROYED`. Es wird empfohlen die Extension Points zu nutzen anstelle der Custom Dateien (z.B. `create_website.after.inc.php`)

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 11. Aug 2015, 16:24
von ralf.schlott
Sehr schön.

Kommt das eigentlich noch, dass man Templates kopieren kann bei Neuanlage einer Domain?

Ralf

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 11. Aug 2015, 17:01
von RexDude
Du kannst die in die EPs hängen und kopieren was du willst :D

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 8. Sep 2015, 14:52
von cukabeka
Hi dude :)

Ich versuche gerade, einen fallback zu bauen und habe in der Doku auch was gefunden:

Code: Alles auswählen

//Multiwebsite fallback: If current article empty, get from Master
$article = new rex_article("REX_ARTICLE_ID");
if ( $article->getArticle() == "") {
	$REX['WEBSITE_MANAGER']->websiteSwitch(1, function() {
		#$article = new rex_article("REX_ARTICLE_ID");
		#echo $article->getArticle();
		$slice = OOArticleSlice::getSlicesForArticleOfType("REX_ARTICLE_ID", 2");
		Print_r($slice);
	});
};

$Slice bleibt aber leer, obwohl es auf der Master-Seite voll ist. Gibt es irgendwelche Einschränkungen?

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 8. Sep 2015, 20:06
von RexDude
Hey Dude,

was willst du genau machen? websiteSwitch() brauchst glaub nicht sondern einfach dass hier:

Code: Alles auswählen

// ausgabe des slices mit id = 40 von website mit id = 3
echo $REX['WEBSITE_MANAGER']->getWebsite(3)->getSlice(40); 

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 9. Sep 2015, 08:51
von cukabeka
hi, danke für deine Antwort!

Also, ich habe mich gegen die Slice-Variante entschieden, weil ich beim Fallback zwar einigermaßen sicher sein kann, dass es bei beiden Seiten auch künftig eine gleiche Artikel-Struktur geben wird, ich also mit REX_ARTICLE_ID denselben Artikel erwische. Ich glaube aber, mit REX_SLICE_ID gibt das schon kurzfristig nur Durcheinander. Darum möchte ich die Slices des Artikels mit derselben ID haben.

Ziel ist, dass der Content zwar weitgehend identisch ist, dass aber auf den Tochterseiten vorhandene Inhalte diejenigen der Masterseite überschreiben. Möglichst auf Slice-Ebene, d.h. wenn im Master ein REX_MEDIA[1] eingebunden ist, soll das von dort genommen werden und nur dann von der Tocherseite überschrieben werden, wenn dort auch das REX_MEDIA[1] befüllt wurde.

An sich wäre das ja mit dem vorgeschlagenen Code möglich, aber ich verstehe nicht ganz, wie ich auf die Variablen außerhalb der function(){} zugreifen kann.

Ginge zB etwa sowas hier?

Code: Alles auswählen

//Multiwebsite fallback: If current article empty, get from Master
$article = new rex_article("REX_ARTICLE_ID");
if ( $article->getArticle() == "") {
   $REX['WEBSITE_MANAGER']->websiteSwitch(1, function() {
      $tochter_article = new rex_article("REX_ARTICLE_ID");
      $tochter_slice = OOArticleSlice::getSlicesForArticleOfType("REX_ARTICLE_ID", 2");
   });
};
echo $tochter_article->getArticle(); 
print_r($tochter_slice);
Also, andersrum: ich weiß, es funktioniert so nicht. :D Aber wie dann? Mit einem return? Oder einem static oder einem global irgendwo?

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 14. Sep 2015, 10:04
von RexDude
Hey,

also ich finde dass eine gute Idee sich einfach auf die ID's blind zu verlassen bzw. auf den Benutzer der die die Cats/Arts genauso anlegen muss das die ID's passen. Besser ist es z.B. die ID über die String Table auszulagern und nachdem man den entsprechenden Cat/Art angelegt hat diese dort einzutragen. So hab ichs bis jetzt immer gemacht. String Table muss dann zum Reinstall in die Einstellungen mit rein.

Du darfst die REDAXO "Platzhalter" nicht verwenden meine ich. Benutze mal die REDAXO Variablen

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 14. Sep 2015, 12:06
von cukabeka
Hi, danke für deinen Tipp!
Ich verstehe nicht ganz, wie du das mit dem String Table meinst. Das heißt, du legst einen key an, zB "ID_IMPRESSUM" und schreibst dann auf seite A "15" rein und aus Seite B "98" oder wie? Und dann? Ich verstehe die Idee nicht so richtig. :) Wie machst du das genau?

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 14. Sep 2015, 12:13
von RexDude
Ja genaso mein ichs :) Je nachdem wo du dich befindest gibts dann über rex_string_table::getString('id_impressum') (ich würds kleinschreiben :P) die passende ID aus :D

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 16. Okt 2015, 15:14
von KoljaAidam
Hi, vielen Dank für das einwandfreie Addon!!!

Ich arbeite gerade daran, Artikel von 3 Seiten untereinander anzeigen zu können. Wegen der leichten Bedienbarkeit möchte ich das LinkMap Popup verwenden.
Jedoch bekomme ich immer das LinkMap der aktuellen im Backend geöffneten Seite angezeigt.

Hier mal etwas Code des Input Moduls, damit Ihr meinen Denkfehler nachvollziehen könnt:

Code: Alles auswählen

$REX['WEBSITE_MANAGER']->websiteSwitch(1, function() 
	{
    	$rexLinkButton = <<<EOT
		REX_LINK_BUTTON[1]
EOT;
		print $rexLinkButton;
	});
Ziel ist also den REX_LINK_BUTTON[1] relativ zu "$REX['WEBSITE_MANAGER']->websiteSwitch(1/2/3" anzuzeigen.

Habt Ihr vielleicht Ideen dazu?
Was muss ich machen, damit das klappt?
Zur Not dupliziere ich das LinkMap und mache es "website manager ready" aber das wird wohl nicht notwendig sein.

Danke :)

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 16. Okt 2015, 15:54
von RexDude
Kein Problemchen :D

Tja was du versuchst scheitert leider an dem REDAXO Konzepet der Variablen oder besser gesagt Platzhalter. REX_LINK_BUTTON[1] wird von REDAXO einfach ersetzt noch vor Codeausführung. D.h. um alles was drumherum steht wird keine Rücksicht genommen. Es müsste Link Button und Co. als PHP Variante geben, dann würde es sofort funzen :)

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 16. Okt 2015, 16:07
von RexDude
Wie ich mich gerade erinnert habe, hatte ich selber auch schon die Idee einer Multi-Website-Linkmap: https://github.com/RexDude/website_manager/issues/11
Aber ohne Patches etc. kommt man hier nicht wirklich weiter...

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 16. Okt 2015, 16:28
von KoljaAidam
Wie recht du doch hast....Natürlich wird die Variable vor Code interpretierung gesetzt :roll:
In dem Fall löse ich es am besten per Modul?
1. Das heißt ein Dropdown mit den Webseiten.
2. Manuell eingefügtes Link-Input-Feld.
3. Bei Klick auf den Button ein gesteuerter Aufruf von openLinkMap() der auf die korrekte Seite zugreift?!

Zu Punkt 3. eine Idee?
Vielleicht kurz die Seite wechseln (hin geht ja, zurück wäre schwierig)?

Oder ich mache es mit einer Aktion und erstelle je Webseite einen LinkMap-Link. Wäre aber *unschön*.

Sonst wird es wohl auf die von dir beschriebene Anpassung (https://github.com/RexDude/website_mana ... nc.php#L16) hinauslaufen.
Aber ich habs gerne Update kompatibel, ohne es immer anfassen zu müssen.

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 16. Okt 2015, 16:35
von RexDude
Leider stösst man hier mit der Thematik an die REDAXO Grenzen, sprich ohne Core Änderungen wirds schwierig denke ich. Weiss selber nicht wie ich das lösen würd...vielleicht im Modul eine SelectBox wo die Websites aufgelistet sind und dann eine 2. die abhängig von der ersten die Artikel der gerade ausgewählten Website anzeigt (im Stile der be_search Schnellnavigations-Selectbox) und so kommst du dann an Website ID und Artikel ID (ganz ohne Linkmap).

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 17. Okt 2015, 12:17
von KoljaAidam
Hi und danke für deine Antwort.
Ja, das ist sicher ohne LinkMap am einfachsten....ich erwäge es ernsthaft.
Ich sehe die unkomplizierteste Lösung mittlerweile in einem manuellem Aufruf des LinkMaps aus einem Modul heraus.
- Prinzipiell ist es möglich, da jede Seite ein eigenes LinkMap erstellen kann.
- Alles bleibt Updatefähig.
- Look and Feel bleibt erhalten.

Die Hürde steckt im ersetzen der URL. Direkt lässt sich das LinkMap leider nicht ansteuern zum Beispiel per:

Code: Alles auswählen

http://2.domain.de/redaxo/index.php?page=content&article_id=26&mode=edit&slice_id=20&clang=0&ctype=1&function=edit#

print '<a onclick="newLinkMapWindow(\'' . $REX['WEBSITE_MANAGER']->getWebsite(2)->getDomain() . '/index.php?page=linkmap&opener_input_field=\' + 1);">button</a>';

Sonst wäre das eine einfache Angelegenheit.

Dieser Versuch führt auch nicht dazu das sich die URL "korrigiert":

Code: Alles auswählen

$REX['WEBSITE_MANAGER']->websiteSwitch(1, function() 
{
	print '<div class="rex-widget">
        <div class="rex-widget-link">
            <p class="rex-widget-field">
                <input name="LINK[1]" id="LINK_1" value="" type="hidden">
                <input size="30" name="LINK_NAME[1]" value="" id="LINK_1_NAME" readonly="readonly" type="text">
            </p>
             <p class="rex-widget-icons rex-widget-1col">
                <span class="rex-widget-column rex-widget-column-first">
                    <a href="#" class="rex-icon-file-open" onclick="openLinkMap(\'LINK_1\', \'&clang=0&category_id=26\');return false;" title="Link auswählen" tabindex="34"></a>
                    <a href="#" class="rex-icon-file-delete" onclick="deleteREXLink(1);return false;" title="Ausgewählten Link löschen" tabindex="35"></a>
                </span>
            </p>
        </div>
    </div>';
});
Es ist halt so, dass ich dieses Feature benötige und aufgeben keine Option ist :)
Also, Zähne zusammenbeißen und durch :mrgreen: !
Und falls dir noch eine Idee kommt, immer her damit.

EDIT:
Die URL zu tauschen geht leider nicht, weil die Session über Subdomains nicht erhalten bleibt. Das heißt man muss sich je Subdomain erneut einloggen. Also alles auf Anfang.

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 19. Okt 2015, 08:41
von Thomas.Blum
Hej,

wie wäre es sich einen eigenen REX_LINK Button zu bauen?

Wäre damit nicht das Problem behoben?

vg Thomas

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 20. Okt 2015, 16:17
von KoljaAidam
Hi,

auf jeden Fall. Ich habe auch einige Zeit in dieser Richtung überlegt.
Aber :wink: ich habe mir jetzt eine CSS TreeView mit Checkboxen eingebaut. Hier die Gründe dafür:

- Ist intuitiv einfach zu bedienen und hübsch (LookAndFeel bleibt nicht erhalten :( )
- Man Sieht auf einen Blick, von welcher Webseite der Artikel kommt
- Bis ich mich in die Denkweise der LinkMap eingelassen habe, bräuchte ich noch einige Stunden (ist also kein copy & paste Aufwand für mich)
- Am System muss nichts angefasst werden alles bleibt Update-Kompatibel
- Das Modul hat nur ~50 Zeilen und das ist alles was es braucht (inkl. Treeview mit allem drum und dran), so schlank kriege ich die "customLinkMap" nicht :|

Grüße
Kolja

Re: [v3.1.0] Website Manager - Multidomain AddOn für REX 4.5

Verfasst: 20. Okt 2015, 16:28
von Thomas.Blum
Hej,

bei dem eigenen Button brauchst du keine custom Linkmap.

Ich meine du erstellst dir die

Code: Alles auswählen

REX_WEBSITEMANAGER_LINK_BUTTON
REX_WEBSITEMANAGER_LINKLIST_BUTTON
selber.

Dazu kopierst du dir diese Var[1], passt die Class und die Platzhalter an und definierst einen zusätzlichen param auf den du dann im speziellen via WebsiteManager reagieren kannst. Ist alles Theorie aber ich denke es könnte klappen. Zumindest würde ich in diese Richtung es probieren.

Code: Alles auswählen

REX_WEBSITEMANAGER_LINK_BUTTON[website="1"]

vg Thomas

[1] https://github.com/redaxo/redaxo4/blob/ ... nk.inc.php