[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Modul im Modul einbinden - 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/
tichy
Beiträge: 175
Registriert: 23. Sep 2007, 23:43

Modul im Modul einbinden

5. Nov 2007, 18:13

Gibt es ein Modul mit dem ich ein Modul im Modul einbauen kann?

tichy
Beiträge: 175
Registriert: 23. Sep 2007, 23:43

6. Nov 2007, 13:13

per PHP oder so.

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

6. Nov 2007, 13:17

Hi,

du willst dir also aus Modulen ein paar Bausteine machen, mit denen du wiederrum neue Module baust? Sowas geht aktuell nicht.

Am besten gemeinsame Funktionalitäten in Klasse/Funktionen auslagern.

Viele Grüße,
Markus

tichy
Beiträge: 175
Registriert: 23. Sep 2007, 23:43

6. Nov 2007, 14:53

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.

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

6. Nov 2007, 15:55

Hi,

es wird nicht reichen, wenn man einfach ein Modul auswählt, da das Modul ja nur die Struktur enthält und keine Eingaben. Die Eingaben sind nur in Blöcken/Slices vorhanden

Gruß,
Markus

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: Modul im Modul einbinden

17. Jan 2011, 21:13

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

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: Modul im Modul einbinden

17. Jan 2011, 21:17

Hi beyben!

Du könntest auf den EP "SLICE_SHOW" zurückgreifen. Der wird immer dann aufgerufen, wenn ein Block/Slice angezeigt wird.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: Modul im Modul einbinden

17. Jan 2011, 22:18

hi xong,
dank dir! aber kannst du mir EP "SLCIE SHOW" uebersetzen? hab ich noch nie gehoert.... :oops:

beyben

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: Modul im Modul einbinden

17. Jan 2011, 22:30

Hi beyben!
beyben hat geschrieben: dank dir! aber kannst du mir EP "SLCIE SHOW" uebersetzen? hab ich noch nie gehoert.... :oops:
Sorry, mein Fehler. =)
EP steht für "Extension Point". Dazu gibt es auch eine kleine Doku: http://www.redaxo.org/de/doku/extension-points/?mid=18
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: Modul im Modul einbinden

18. Jan 2011, 10:37

hey xong,

hab dank - da hab ich was zu lesen und lernen.... :lol:

beyben

beyben
Beiträge: 367
Registriert: 30. Nov 2006, 14:04

Re: Modul im Modul einbinden

18. Jan 2011, 21:48

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

Benutzeravatar
webghost
Beiträge: 266
Registriert: 6. Okt 2010, 20:10
Kontaktdaten: Website

Re: Modul im Modul einbinden

10. Jan 2014, 18:34

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

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

Re: Modul im Modul einbinden

10. Jan 2014, 20:46

Allerdings müssten die benötigten Funktionen bzw. Klasse wohl in einem Addon hinterlegt werden.
http://www.redaxo.org/de/forum/allgemei ... 19403.html

http://www.redaxo.org/de/forum/allgemei ... ml#p108400

Benutzeravatar
webghost
Beiträge: 266
Registriert: 6. Okt 2010, 20:10
Kontaktdaten: Website

Re: Modul im Modul einbinden

11. Jan 2014, 12:03

wie praktisch :D - gesehen hab ich das auch schon aber noch gar nie näher angeschaut

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

Re: Modul im Modul einbinden

11. Jan 2014, 12:33

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:

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]');
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:

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>
Falls es für jemanden interessant ist :)

Benutzeravatar
webghost
Beiträge: 266
Registriert: 6. Okt 2010, 20:10
Kontaktdaten: Website

Re: Modul im Modul einbinden

11. Jan 2014, 18:19

Danke für das Beispiel. Sieht echt übersichtlich aus so.. werde ich wohl künftig auch so machen

Zurück zu „Allgemeines [R4]“