+ Antworten
Ergebnis 1 bis 2 von 2

Thema: render component (register/login) in own component (custom)

  1. #1
    Neu an Board
    Registriert seit
    23.11.2017
    Beiträge
    1
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard render component (register/login) in own component (custom)

    Hallo,

    # Einleitung

    Ich habe eine eigene "Shop"-Komponente geschrieben. In vier Schritten bis zum Warenkorb/Checkout.
    Dabei stets im Blick oben die Progress- und Menu -Bar. Schritt 3 ist die Authentifizierung (Register oder Login).
    Alle Seiten laufen über meinen Controller. Die Register/Login -Seite ist kombiniert.
    Dazu nutze ich ein Plugin, dass es mir an der Stelle sehr einfach macht:

    {component url='index.php?option=com_users&view=registration& format=raw'}
    {component url='index.php?option=com_users&view=login&return_ task=checkout&format=raw'}

    # Frage

    Wie schaffe ich das programmatisch ohne diese Erweiterung?

    Für Module habe ich schon die Lösung gefunden:

    PHP-Code:
    jimport'joomla.application.module.helper' );
    $module JModuleHelper::getModule'mod_login''title' );
    echo 
    JHtml::_('content.prepare'JModuleHelper::renderModule($module)); 
    Für Komponenten allerdings nicht.

    Wie kann ich das realisieren?
    Angehängte Grafiken
    Geändert von comodmw (23.11.2017 um 12:40 Uhr)

  2. #2
    Wohnt hier Avatar von Re:Later
    Registriert seit
    21.04.2014
    Ort
    Berlin
    Beiträge
    4.878
    Bedankte sich
    134
    Erhielt 1.898 Danksagungen
    in 1.691 Beiträgen

    Standard

    Bei deiner dritten Zeile ist das JHtml::_('content.prepare', ...) unnötig und wird eher zu Problemen führen (je nach Plugins, die ein Benutzer installiert hat) als dass es Sinn macht, das gerenderte Joomla-Login-Modul durch das Plugin-Event onContentPrepare zu schicken.

    Zum Ersatz von Plugin "Components Anywhere". Du kannst versuchen das Plugin zu "knacken", wie das Plugin das macht.
    Ich würde mir die Sache einfacher machen und es eben weiterverwenden (es wird seit vielen Jahren konstant gepflegt und geupdatet).
    Mit Aufruf der dann wohl so oder ähnlich aufzubauen ist.

    Code:
    echo JHtml::_('content.prepare', '{component url=\'index.php?option=com_users&view=registration&format=raw\'}');
    Oder suchst vielleicht nach
    joomla registration module
    und kupferst eines ab, das du dann integrierst und wie das mod_login renderst. Solche Module müssen konstant gepflegt und geupdatet werden, da man sich damit auch Sicherheits- oder wenigstens Spamlücken aufreißen kann, wie ich kürzlich beim Bereinigen einer betroffenen Kunden-Seite gelernt habe.

    Ein <iframe ...> ist wohl auch denkbar(?) Wenns mit Modul sein soll, vielleicht Wrapper-Modul, dass den Registrierungsview der User-Komponente einbindet.

    Als PopUp.

    Weitere Möglichkeit für eigene Komponente mal bestehende Komponenten wie JoomShopping oder ähnliche anschauen, die ja letztlich auch auf Joomla-Usern aufsetzen bzw. bei der Registrierung sich selbst "bespeisen" und Joomla.
    Joomlafachmann: https://www.ghsvs.de

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein