+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Aus einem Modul heraus eine Komponente zur Arbeit triggern - Wie geht das?

  1. #1
    War schon öfter hier
    Registriert seit
    24.11.2008
    Beiträge
    117
    Bedankte sich
    8
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Aus einem Modul heraus eine Komponente zur Arbeit triggern - Wie geht das?

    Hallo Gemeinde,

    ich bin ein Joomla Neuling und habe ein grundsätzliches Verständnisproblem.

    Ich habe mir eine Komponente geschrieben, mit der ich im Backend Projekte (id, name, author, kategorie, beschreibung, bild, veröffentlicht) in die datenbank schreiben kann. Im Frontend habe ich einen Menülink auf meine Komponente, sodass bei Klick darauf die Namen aller veröffentlichten Projekte in der Joomla Content Komponente als Links ausgegeben werden. Bei Klick auf einen Link, wird ein Projekt geöffnet und seine Daten dargestellt. Das habe ich mithilfe von Literatur geschrieben, da mir das Konzept um die MVC-Programmierung innerhalb Joomlas noch sehr unklar ist.

    Ich habe nun im nächsten Schritt an anderer Stelle im Frontend ein Modul platziert, welches aktuelle eine Tabelle mit Checkboxen hält. Jede dieser Boxen steht für einen Filter. Nun möchte ich gern, dass beim Klick auf eine dieser Checkbox das Formular ausgeführt und die Komponente getriggert wird, ihrerseits wieder Ausgaben an den Content zu schicken. Selber kann das Modul zwar mit der DB interagieren, aber die Ausgaben sollen ja im Content erscheinen und nicht an der Modul-Position.

    Mein Problem ist nun:

    Wie schaffe ich es zum einen, erstmal über nur die eine Datei mod_meinmodul.php per "onclick=this.form.submit()" meine Komponente anzusprechen und sie anzuweisen, den Filternamen als Parameter zu nehmen und mittels dieses Parameters alle passenden Projekte aus der DB zu holen und im Kontentbereich auszugeben?

    Und wie wäre das logisch aufzuteilen, wenn ich das ganze mittels mod_meinmodul.php, helper.php und tmpl/default.php anlegen will? Ich suche schon wie verrückt nach einem guten Tutorial, in dem diese Zusammenhänge erklärt werden, aber werde einfach nicht fündig.

    Ich hoffe daher sehr auf die gute Hilfe von euch Profis.

    Viele Grüße,

    Clubnite

  2. #2
    War schon öfter hier
    Registriert seit
    24.11.2008
    Beiträge
    117
    Bedankte sich
    8
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Weiß niemand rat?

  3. #3
    War schon öfter hier
    Registriert seit
    24.11.2008
    Beiträge
    117
    Bedankte sich
    8
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Könnte mir denn bitte nochmal jemand helfen? Es ist wirklich ungemein wichtig und dringend... Ich erwarte ja keinen Code - nur einen Hinweis, wie vorzugehen ist und ob ich vielleicht in die völlig falsche Richtung bzw. zu kompliziert denke...

  4. #4
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    du musst das formular lediglich an deine komponente senden...

    entweder per "form action"
    also
    <form action="<?php echo JRoute::_( 'index.php?option=com_deine_komponente' ); ?>".. >

    oder du schickst es einfach an die index.php von joomla und gibst zwei hidden input mit auf den weg

    einmal
    HTML-Code:
    <input type="hidden" name="option" value="com_deine_komponente" />
    damit joomla weiß, das er das formular an deine komponente weiterleiten soll und einmal
    HTML-Code:
    <input type="hidden" name="task" value="irgendein_task" />
    sozusagen der einstiegspunkt in deine komponente...
    du kannst dann ggf., wenn nicht dein standart controller aufgerufen werden soll noch
    HTML-Code:
    <input type="hidden" name="controller" value="irgendein_controller" />
    angeben.

    somit schickst du das formular an deine komponente, an irgendeinen_controller und rufst die methode irgendein_task auf

    um das mal besser zu verdeutlichen
    PHP-Code:
    <form action="<?php echo JRoute::_'index.php' ); ?>" method="post" name="deinFormular" >
    <input type="text" name="textbox" />
    <input type="hidden" name="task" value="filtern" />
    <input type="hidden" name="controller" value="test" />
    <input type="hidden" name="option" value="com_deine_komponente" />
    <input type="submit" value=" Absenden " />
    </form>
    wenn du jetzt im controller test.php eine methode hast die filtern heißt, könntest du dir das formular, in diesem beispiel die textbox abfangen und verarbeiten...

    also
    PHP-Code:
    function filtern()
    {
      
    $inhalt_der_textbox JRequest::getVar('textbox');
      die(
    $inhalt_der_textbox);

    dat klappt dann natürlich mit allen formular-elementen...

  5. #5
    War schon öfter hier
    Registriert seit
    24.11.2008
    Beiträge
    117
    Bedankte sich
    8
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Prima, das geht jetzt auch endlich! Vielen vielen Dank! Irgendwie werd mit der Zeit immer "blinder" je länger ich über dem Code brüte. Geht das nur mir so?

    Dann mach ich mich jetzt mal an die weitere Ausarbeitung der Interaktion....

+ Antworten

Lesezeichen

Berechtigungen

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