+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Komponente für Contentgenerierung/Contenbearbeitung über Formulare

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

    Standard Komponente für Contentgenerierung/Contenbearbeitung über Formulare

    Hallo,

    Ich habe folgendes vor:
    Ein Verein will auf seiner Homepage Spieler, Mannschaften, Funktionäre, Matchberichte, Upcoming Events (Termine für Spiele,...) speichern.

    Dazu habe ich bereits die Joomla! Datenbank um die Tabellen mit den jeweiligen Beziehungen ergänzt. Registrierte User sollen nun per Formulare fähig sein einen Matchbericht zu schreiben, dieser soll dann, sobald abgesendet, als Content in der Homepage dargestellt werden. Natürlich soll er auch Spieler,usw... einfügen/bearbeiten/löschen können, das soll alles im Frontend über ein Formular passieren. Sodass der User absolute keine Ahnung haben muss, sondern nur die Daten eingeben muss und der Rest wird vom CMS erledigt.

    Habe mir mal Breezing Forms angesehen, aber ich komme damit überhaupt nicht zurecht...

    Habe bereits Formulare mit HTML/PHP erstellt mit denen ich Daten aus einer Datenbank angezeigt habe und sie auch löschen/bearbeiten/erstellen konnte.

    Meine Frage ist, ist für dieses Vorhaben eine Komponente die beste Lösung? Schließlich muss ja die Komponente die Daten im Frontend darstellen können und ebenfalls die Formulare die das Bearbeiten möglich machen sollen.

    Was mir nicht ganz klar ist, wie kann ich dann die Daten aus meinen eigenen Tabellen über das Backend verwalten zb. Archivieren von Matchberichten!?

    Bin dankbar für jeden Rat&Tipp!

  2. #2
    Neu an Board
    Registriert seit
    23.09.2008
    Beiträge
    49
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Habe mir mal als Beispiel Komponente diese hier installiert.

    http://joomla.cocoate.com/beispiel-komponente-hallowelt

    Und wollte einfach statt
    PHP-Code:
    $greeting "Hallo Welt!";
    $this->assignRef'greeting'$greeting );
    parent::display($tpl); 
    den usernamen des eingeloggte user ausgeben
    PHP-Code:
        global $mainframe;
        
    $user =& JFactory::getUser();
            
    $this->assignRef'user',    $user );
            
    parent::display($tpl); 
    Allerdings gibt er da nichts aus.
    Mit dem müsste es doch klappen oder?
    global $mainframe;
    $user =& JFactory::getUser();

  3. #3
    Hat hier eine Zweitwohnung Avatar von progandy
    Registriert seit
    25.06.2007
    Beiträge
    1.939
    Bedankte sich
    13
    Erhielt 640 Danksagungen
    in 577 Beiträgen

    Standard

    Du musst naturlich Schritt 15.1.5 Das Template (/component/com_hallo/views/hallo/tmpl/
    default.php) anpassen

  4. #4
    Neu an Board
    Registriert seit
    23.09.2008
    Beiträge
    49
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    <?php // no direct access
    defined('_JEXEC') or die('Restricted access'); ?>
    <h1><?php echo $this->user; ?></h1>

    Sollte ja so gehen oder?

  5. #5
    Hat hier eine Zweitwohnung Avatar von progandy
    Registriert seit
    25.06.2007
    Beiträge
    1.939
    Bedankte sich
    13
    Erhielt 640 Danksagungen
    in 577 Beiträgen

    Standard

    Ja. assignRef("user"... wird zu this->user.
    //Edit: aber ein Objekt kannst du nicht mit echo ausgeben. Du musst eine bestimmte Eigenschaft auswählen (am besten schon vor assignRef) oder print_r($user); verwenden, um das ganze Objekt anzuzeigen.

  6. #6
    Neu an Board
    Registriert seit
    23.09.2008
    Beiträge
    49
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Habe mir mal auf die schnelle ein Formular gebastelt, wo dem Benutzer eine Art Frontendmenü sichtbar sein soll, wo er dann Berichte editieren, verfassen, löschen kann.
    Habe aber ein Problem (untersten beiden Funktionen).

    In der Funktion Matchbericht hole ich mir per $_post eine Variable ($mannschaft), ich will in der Funktion matchbericht_erstellen auf diese Variable zugreifen, schaffe das aber nicht, wäre dankbar wenn mir jemand eine Lösung sagen könnte.

    PHP-Code:
    <?
    global $mainframe;
    $user =& JFactory::getUser();

    if(
    $user->username == "")
      die(
    "Nicht eingeloggt");

    echo 
    "<form action=\"formulare\" method=\"POST\">";

    switch (
    $user->username) {
        case 
    "KM":
            
    $rechte="Kampfmannschaft";
            break;
        case 
    "U23":
            
    $rechte="Reserve";
            break;
        case 
    "U19":
            
    $rechte="U19";
            break;
        case 
    "U17":
            
    $rechte="U17";
            break;
        case 
    "U15":
            
    $rechte="U15";
            break;
        case 
    "U14":
            
    $rechte="U14";
            break;
        case 
    "U13":
            
    $rechte="U13";
            break;
        case 
    "U12":
            
    $rechte="U12";
            break;   
        case 
    "U11":
            
    $rechte="U11";
            break; 
        case 
    "U10":
            
    $rechte="U10";
            break;   
        case 
    "U9":
            
    $rechte="U9";
            break;   
        case 
    "U8":
            
    $rechte="U8";
            break;  
        case 
    "admin":
            
    $rechte="Alle Mannschaften";
            break;   
    }


    if(!isset(
    $_POST["action"]))
        
    show($rechte);
    else
    {
        switch(
    $_POST["action"])
        {
            case 
    "Matchbericht"matchbericht();break;
            case 
    "Mannschaftsfoto aktualisieren"update_mannschaftsfoto();break;
            case 
    "Spieler"insert_spieler(); break;
            case 
    "Matchbericht erstellen"matchbericht_erstellen(); break;
            case 
    "Matchbericht bearbeiten"matchbericht_bearbeiten(); break;
            case 
    "Matchbericht loeschen"matchbericht_löschen(); break;
            default: die(
    "Unbekannte Funktion gefunden");
        }
    }

    function 
    show($rechte)

        echo 
    "<p>Ihr Rechte: $rechte</p>";
        if(
    $rechte=="Alle Mannschaften")
        {
          echo <<<HTML
          <table align=middle>
          <tr>
            <td>Waehlen Sie eine Mannschaft aus, die Sie bearbeiten moechten</td>
            <td>
            <select name="mannschaft">
            <option value="Kampfmannschaft" selected="selected">Kampfmannschaft</option>
            <option value="Reserve">Reserve</option>
            <option value="U19">U19</option>
            <option value="U18">U18</option>
            <option value="U17">U17</option>
            <option value="U16">U16</option>
            <option value="U15">U15</option>
            <option value="U14">U14</option>
            <option value="U13">U13</option>
            <option value="U12">U12</option>
            <option value="U11">U11</option>
            <option value="U10">U10</option>
            <option value="U9">U9</option>
            <option value="U8">U8</option>
            </select>
            </td>
          </tr>
          <tr><td><input type="submit" name="action" value="Matchbericht"></td></tr>
          <tr><td><input type="submit" name="action" value="Mannschaftsfoto aktualiseren"></td></tr>
          <tr><td><input type="submit" name="action" value="Spieler"></td></tr>
          </table>
    HTML;
        }
        else
        {
          echo <<<HTML
          <table align=middle>
          <tr>
            <td>Waehlen Sie eine Mannschaft aus, die Sie bearbeiten moechten</td>
            <td>
            <select name="mannschaft">
            <option value="$rechte" selected="selected">$rechte</option>
            </select>
            </td>
          </tr>
          <tr><td><input type="submit" name="action" value="Matchbericht"></td></tr>
          <tr><td><input type="submit" name="action" value="Mannschaftsfoto aktualiseren"></td></tr>
          <tr><td><input type="submit" name="action" value="Spieler"></td></tr>
          </table>
    HTML;
        }
        echo 
    "</form>";
    }

    function 
    matchbericht()
    {
      
    $mannschaft=$_POST["mannschaft"];
        
    //Matchberichte anzeigen    
      
    echo <<<HTML
      <p>Matchberichtmenue: $mannschaft</p>
      <table align=middle>
         <tr>
           <td><input type="submit" name="action" value="Matchbericht erstellen"></td>
           <td><input type="submit" name="action" value="Matchbericht bearbeiten"></td>
           <td><input type="submit" name="action" value="Matchbericht loeschen"></td>
         </tr>
         </table>
    HTML;
        

    }

    function 
    matchbericht_erstellen()
    {
      
    }

    ?>

  7. #7
    Neu an Board
    Registriert seit
    23.09.2008
    Beiträge
    49
    Bedankte sich
    3
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    beitrag kann gelöscht werden!

+ Antworten

Lesezeichen

Berechtigungen

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