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/
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/
Modul im Modul einbinden
Gibt es ein Modul mit dem ich ein Modul im Modul einbauen kann?
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
Ich hab nen Button der bei Hover neuen Inhalt Offenbart.
Noch wird der neue Inhalt per REX_PHP_VALUE bereitgestellt.
Ich tippe also den neuen Inhalt in ein Editor Fenster
von meinem Button Modul.
Ich Möchte im Button Modul aber nur ein weiteres Modul auswählen müssen
welches dann den neuen Inhalt bereitstellt.
Noch wird der neue Inhalt per REX_PHP_VALUE bereitgestellt.
Ich tippe also den neuen Inhalt in ein Editor Fenster
von meinem Button Modul.
Ich Möchte im Button Modul aber nur ein weiteres Modul auswählen müssen
welches dann den neuen Inhalt bereitstellt.
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
Re: Modul im Modul einbinden
na hi,
ich habe gerade ein aehnliches problem - ein kunde will die shareFunktion eingebaut haben - in jedem block. nun weiss er aber auch nich so genau, welche er braucht. ich dachte - genau wie bei den templates - koennte ich REX_MODUL[ID] in jedes modul einbinden. aendert sich die shareFunktion, aendere ich nur an einer stelle... oder gibt es hierfuer eine andere moeglichkeit?
dank euch
beyben
ich habe gerade ein aehnliches problem - ein kunde will die shareFunktion eingebaut haben - in jedem block. nun weiss er aber auch nich so genau, welche er braucht. ich dachte - genau wie bei den templates - koennte ich REX_MODUL[ID] in jedes modul einbinden. aendert sich die shareFunktion, aendere ich nur an einer stelle... oder gibt es hierfuer eine andere moeglichkeit?
dank euch
beyben
Re: Modul im Modul einbinden
Hi beyben!
Du könntest auf den EP "SLICE_SHOW" zurückgreifen. Der wird immer dann aufgerufen, wenn ein Block/Slice angezeigt wird.
Du könntest auf den EP "SLICE_SHOW" zurückgreifen. Der wird immer dann aufgerufen, wenn ein Block/Slice angezeigt wird.
Re: Modul im Modul einbinden
hi xong,
dank dir! aber kannst du mir EP "SLCIE SHOW" uebersetzen? hab ich noch nie gehoert....
beyben
dank dir! aber kannst du mir EP "SLCIE SHOW" uebersetzen? hab ich noch nie gehoert....
beyben
Re: Modul im Modul einbinden
Hi beyben!
EP steht für "Extension Point". Dazu gibt es auch eine kleine Doku: http://www.redaxo.org/de/doku/extension-points/?mid=18
Sorry, mein Fehler. =)beyben hat geschrieben: dank dir! aber kannst du mir EP "SLCIE SHOW" uebersetzen? hab ich noch nie gehoert....
EP steht für "Extension Point". Dazu gibt es auch eine kleine Doku: http://www.redaxo.org/de/doku/extension-points/?mid=18
Re: Modul im Modul einbinden
hey xong,
hab dank - da hab ich was zu lesen und lernen....
beyben
hab dank - da hab ich was zu lesen und lernen....
beyben
Re: Modul im Modul einbinden
aber REX_TEMPLATE[id] | warum nicht auch REX_MODUL[id] <- diese kann man (muss ja nich) dann bei den modulen benutzen... is ja nur ne weiter moeglichkeit es einfach zu halten... und auch (mir zumindest) logisch
beyben
beyben
Re: Modul im Modul einbinden
das Thema ist ja schon etwas älter. Nun überlege ich aber auch gerade etwas in der Art umzusetzen.
also praktisch ein Mastermodul in dem man andere Module aufrufen kann. Sinn würde das bezüglich HTML5-Semantik machen, die mit der bisherigen Aneinanderreihung von Modulen an gewissen Stellen schwierig wird.
Meine Überlegung wäre im Mastermodul Module per ajax aufzurufen. Speichern dürfte nur im Mastermodul möglich sein, wobei alle Module in nur einen Slice gespeichert werden. Um alle Werte und Einstellungen unter zu bringen könnte eine JSON-Struktur zur Speicherung helfen. Allerdings müssten die benötigten Funktionen bzw. Klasse wohl in einem Addon hinterlegt werden.
Nun gut ist erst mal nur ein Gedanke. Vielleicht hat ja noch jemand Ideen dazu...
also praktisch ein Mastermodul in dem man andere Module aufrufen kann. Sinn würde das bezüglich HTML5-Semantik machen, die mit der bisherigen Aneinanderreihung von Modulen an gewissen Stellen schwierig wird.
Meine Überlegung wäre im Mastermodul Module per ajax aufzurufen. Speichern dürfte nur im Mastermodul möglich sein, wobei alle Module in nur einen Slice gespeichert werden. Um alle Werte und Einstellungen unter zu bringen könnte eine JSON-Struktur zur Speicherung helfen. Allerdings müssten die benötigten Funktionen bzw. Klasse wohl in einem Addon hinterlegt werden.
Nun gut ist erst mal nur ein Gedanke. Vielleicht hat ja noch jemand Ideen dazu...
Re: Modul im Modul einbinden
http://www.redaxo.org/de/forum/allgemei ... 19403.htmlAllerdings müssten die benötigten Funktionen bzw. Klasse wohl in einem Addon hinterlegt werden.
http://www.redaxo.org/de/forum/allgemei ... ml#p108400
Re: Modul im Modul einbinden
wie praktisch - gesehen hab ich das auch schon aber noch gar nie näher angeschaut
Re: Modul im Modul einbinden
Es ist wirklich praktisch
Z.B. hab ich ein Bild Modul sowie ein Text + Bild Modul. Beide Module haben den gleichen Ausgabe-Code was das Ausgeben des Bildes angeht. Die Methode dazu landet in der globalen Klasse, in den beiden Modulen steht dann:
Was ich mir auch angewöhnt hab: ich habe mittlerweile keinerlei Programmlogik mehr in meinen Templates. Alles wird hübsch und schön in Methoden verpackt mit den Vorteilen:
- Logik ist nur noch an einer Stelle
- Die Templates werden viel übersichlicher und lesbarer
- Der Code kann wiederverwendet werden z.B. auch in Modulen
Und so sieht dann ein Template aus:
Falls es für jemanden interessant ist
Z.B. hab ich ein Bild Modul sowie ein Text + Bild Modul. Beide Module haben den gleichen Ausgabe-Code was das Ausgeben des Bildes angeht. Die Methode dazu landet in der globalen Klasse, in den beiden Modulen steht dann:
Code: Alles auswählen
echo rex_globals::generateImgTag('REX_FILE[1]', 'REX_VALUE[7]', 'REX_VALUE[2]', 'REX_VALUE[3]', 'REX_VALUE[4]', 'REX_VALUE[8]', 'REX_LINK_ID[1]', 'REX_VALUE[5]');
- Logik ist nur noch an einer Stelle
- Die Templates werden viel übersichlicher und lesbarer
- Der Code kann wiederverwendet werden z.B. auch in Modulen
Und so sieht dann ein Template aus:
Code: Alles auswählen
REX_TEMPLATE[2]
<!DOCTYPE html>
<html lang="<?php echo seo42::getLangCode(); ?>">
<head>
<meta charset="utf-8" />
<title><?php echo seo42::getTitle(); ?></title>
<meta name="description" content="<?php echo seo42::getDescription(); ?>" />
<meta name="keywords" content="<?php echo seo42::getKeywords(); ?>" />
<meta name="robots" content="<?php echo seo42::getRobotRules();?>" />
<?php echo $smartIncluder->getCSS(); ?>
<link rel="canonical" href="<?php echo seo42::getCanonicalUrl(); ?>" />
<?php echo rex_globals::getFavIconLinkTag(); ?>
</head>
<body>
<div id="shadows"></div>
<div id="header">
<div class="inner">
<div id="logo">
<a href="<?php echo rex_globals::getStartArticleLink(); ?>"><?php echo rex_string_table::getString('logo_title1'); ?> <span><?php echo rex_string_table::getString('logo_title2'); ?></span></a>
<p><?php echo rex_string_table::getString('logo_description'); ?></p>
</div>
<div id="header-image">
<?php echo rex_globals::getHeaderImageTag($this); ?>
</div>
</div>
</div>
<div id="main">
<div id="sidebar">
<div id="mainmenu">
<p><?php echo rex_globals::getLinkTag(rex_string_table::getString('category_id_mainmenu'), true); ?></p>
<?php echo rex_navigation_ex::getMenuByCategory(rex_string_table::getString('category_id_mainmenu'), 2); ?>
</div>
<div id="extramenu">
<p><?php echo rex_globals::getLinkTag(rex_string_table::getString('category_id_extramenu'), true); ?></p>
<?php echo rex_navigation_ex::getMenuByCategory(rex_string_table::getString('category_id_extramenu'), 3); ?>
</div>
</div>
<div id="content">
<div id="breadcrumb">
<?php echo rex_globals::getBreadcrumbNavigation(); ?>
</div>
<div class="seperator"></div>
<?php echo rex_globals::getGooglePlusButton(); ?>
<?php echo rex_globals::getFaceBookButton(); ?>
<div class="clearer"></div>
<?php echo $this->getArticle(); ?>
</div>
<div class="clearer"></div>
</div>
<div id="footer">
<div id="toplink"><a href="#top">nach oben</a></div>
<div id="ribbon"><a href="<?php echo rex_globals::getStartArticleLink(); ?>"><?php echo rex_globals::getDomainWithoutWww();?><span> - <?php echo rex_string_table::getString('footer_linktext'); ?></span></a></div>
<div id="links">
<div class="inner">
<div class="left">
<?php echo rex_globals::getArticleContent(rex_string_table::getString('article_id_footer_link_clouds')); ?>
</div>
<div class="right">
<ul>
<?php echo rex_globals::getArticleContent(rex_string_table::getString('article_id_footer_link_list')); ?>
</ul>
</div>
<div class="clearer"></div>
</div>
</div>
<div id="copyright">
<?php echo rex_globals::getArticleContent(rex_string_table::getString('article_id_footer_text')); ?>
<img width="318" height="109" src="<?php echo rex_globals::getImageFile('logo.png'); ?>" alt="" />
</div>
</div>
<?php echo $smartIncluder->getJS(); ?>
<?php echo rex_tracking_code::getTrackingCode(); ?>
</body>
</html>
Re: Modul im Modul einbinden
Danke für das Beispiel. Sieht echt übersichtlich aus so.. werde ich wohl künftig auch so machen