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

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

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

18. Mär 2015, 19:42

Ich weiss nicht was du da falsch gemacht hast ;)
Einfach nochmal von vorne beginnen und alles neu aufsetzen wäre hier mein Tip :mrgreen:

Benutzeravatar
ralf.schlott
Beiträge: 625
Registriert: 5. Dez 2007, 21:22
Wohnort: Hamburch
Kontaktdaten: Website

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

18. Mär 2015, 21:27

Hab den Fehler gefunden.
Alles gut

Sorry fürs verrückt machen. Mehr verrate ich dann aber auch nicht :D
- Danke für Redaxo! -
http://www.prenzlweb.de

Benutzeravatar
ralf.schlott
Beiträge: 625
Registriert: 5. Dez 2007, 21:22
Wohnort: Hamburch
Kontaktdaten: Website

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

19. Mär 2015, 14:12

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
- Danke für Redaxo! -
http://www.prenzlweb.de

g4tom
Beiträge: 3
Registriert: 12. Mai 2010, 17:14

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

27. Mär 2015, 12:26

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?

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

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

27. Mär 2015, 12:59

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.

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

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

10. Aug 2015, 22:05

### 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`)

Benutzeravatar
ralf.schlott
Beiträge: 625
Registriert: 5. Dez 2007, 21:22
Wohnort: Hamburch
Kontaktdaten: Website

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

11. Aug 2015, 16:24

Sehr schön.

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

Ralf
- Danke für Redaxo! -
http://www.prenzlweb.de

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

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

11. Aug 2015, 17:01

Du kannst die in die EPs hängen und kopieren was du willst :D

Benutzeravatar
cukabeka
Beiträge: 821
Registriert: 31. Mai 2006, 00:01
Wohnort: Aschaffenburg

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

8. Sep 2015, 14:52

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?
Viele Grüße
cukabeka

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

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

8. Sep 2015, 20:06

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); 

Benutzeravatar
cukabeka
Beiträge: 821
Registriert: 31. Mai 2006, 00:01
Wohnort: Aschaffenburg

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

9. Sep 2015, 08:51

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?
Viele Grüße
cukabeka

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

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

14. Sep 2015, 10:04

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

Benutzeravatar
cukabeka
Beiträge: 821
Registriert: 31. Mai 2006, 00:01
Wohnort: Aschaffenburg

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

14. Sep 2015, 12:06

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?
Viele Grüße
cukabeka

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

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

14. Sep 2015, 12:13

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

KoljaAidam
Beiträge: 5
Registriert: 9. Apr 2013, 16:51

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

16. Okt 2015, 15:14

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 :)

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

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

16. Okt 2015, 15:54

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 :)

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

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

16. Okt 2015, 16:07

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...

KoljaAidam
Beiträge: 5
Registriert: 9. Apr 2013, 16:51

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

16. Okt 2015, 16:28

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.

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

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

16. Okt 2015, 16:35

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).

KoljaAidam
Beiträge: 5
Registriert: 9. Apr 2013, 16:51

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

17. Okt 2015, 12:17

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.

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

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

19. Okt 2015, 08:41

Hej,

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

Wäre damit nicht das Problem behoben?

vg Thomas

KoljaAidam
Beiträge: 5
Registriert: 9. Apr 2013, 16:51

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

20. Okt 2015, 16:17

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

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

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

20. Okt 2015, 16:28

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

Zurück zu „Allgemeines [R4]“