+ Antworten
Ergebnis 1 bis 6 von 6

Thema: Frage zu select.genericlist Komponentenprogrammierung

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

    Standard Frage zu select.genericlist Komponentenprogrammierung

    Hi,

    ich hoffe hier kann mit ggf. jemand helfen. Google und andere Foren haben zwar Lösungsansätze, ich kann diese aber aus irgend einem Grund nicht in meinem Code verbraten.Bei forum.joomla.org wolle/konnte mir auch bisher keiner helfen also versuche ich es mal hier.

    Ich habe mir in den letzen Tagen mittels einiger netter Tutorials das Grundgerüst der Komponenten-Progammierung für Joomla 1.5 beigebracht. Nun habe ich eine kleine Komonente in der man User und Kategorien anlegen kann. Da die Kategorie Tabelle von Joomla mir nichts bringt, möchte ich auf eine eigene zurückgreifen. Also habe ich in meiner Datenbank zwei Tabellen: 1. jos_komponentenname 2. jos_komponentenname_category (Will hier den Name der Komponente nicht preisgeben )

    Ich möchte nun im default view beim erstellen einer neuen Kategorie, eine dropdown-liste mit allen angelegten Usern haben in welcher ich mir einen aussuchen kann und diesen als Chef der Kategorie deklarieren kann. Mein Problem ist nun wie ich die Anzeige der Dropdown-Liste und die übergabe der Auswahl sowie das Speichern realisiere.

    Folgendes habe ich mir schon zusammen gefummelt:


    Model Category:
    PHP-Code:

    function _buildQuery()
       {
          
    $query ' SELECT prename, surname FROM #__component ';

          return 
    $query;
       }

    function &
    getUser()
       {
          
    // Load the data
          
    if (empty( $this->_data ))
          {
             
    $query $this->_buildQuery();
             
    $this->_user $this->_getList$query );
          }
          return 
    $this->_user;
       } 
    view.html.php von category:
    PHP-Code:
    $user   =& $this->get('User'); 
    Des Weiteren habe ich was gefunden mit dem ich das Problem ggf. lösen könnte. Ich schaffe es nur nicht das ganze so anzuwenden dass es geht. Ebenso habe ich das Problem dass ich ja eine Liste aus der DB bekomme, aber eine array wahrscheinlich zum weiterarbeiten benötige. Außerdem möchte ich gerne in der DB nicht nur den Name des Users sondern dessen UID speichern. Also es müssten 2 Werte über die Dropdownliste als auswahl dann weitergegeben werden.
    PHP-Code:
    $lists['user'] = JHTML::_('select.genericlist'$user 'cid''class="inputbox" size="1"','cid''name'$category->user);
    $this->assignRef('lists'$lists); 
    das ganze sollte dann mit
    PHP-Code:
    <?php echo $lists['user']; ?>
    angezeigt werden.

    Wie gesagt, ich bekomme es so nicht zum laufen, ggf. gibt es jemand der sich 10 min. Zei nimmt mir das ganze kurz zu erklären.

    Gruß MrBrown

  2. #2
    Neu an Board
    Registriert seit
    01.04.2010
    Beiträge
    4
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    keiner da der eine antwort für mich hat?

  3. #3
    Hat hier eine Zweitwohnung
    Registriert seit
    14.01.2006
    Ort
    Nienburg
    Alter
    32
    Beiträge
    1.237
    Bedankte sich
    115
    Erhielt 471 Danksagungen
    in 368 Beiträgen

    Standard

    Schau dir dazu die JHtmlList Klasse an. Dort findest du eine Methode Namens users();
    Ein Beispiel fuer die Verwendung findet sich in: administrator\components\com_content\elements\auth or.php

    Hier wird wird die Selectbox allerdings als Parameter genutzt und wuerde somit nach dem Submit => Controller => Model => JTable auch als solcher gespeichert werden. Sofern du gedenkst in einer Liste nach eben dem Benutzer / Besitzer filtern zu lassen, muss hier JHtmlList als einfache Selectlist angewandt werden. (nicht $control_name.'['.$name.']')

    Der Wert der Auswahl, in dem Fall die Id laesst sich nach dem Absenden im Controller ueber JRequest holen und speichern.

    Erstellen der Kategorie => Eingabe aller noetigen Daten => Submit => Verarbeitung im Controller (save) und holen der Werte ueber JRequest => Fehlerpruefung (weiter/zurueck/redirect) => Uebergabe der Daten ans Model (store) => Uebergabe an JTable => Wieder im Controller pruefen ob das eintragen erfolgreich war => Abfragen des Tasks (save/apply) => Redirect auf die Uebersicht oder der Edit View.

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

    Standard

    Hey Matrikular,

    danke zunächst für deine Antwort.
    Die Methode users() bezieht sich doch aber auf die Joomla-Internen User wie Admins usw.
    Da ich aber eine eigenständige User-Tabelle besitze kann ich diese doch garnchicht anwendne oder verstehe ich das nun falsch?

    Was den rest angeht werde ich es mal versuchen.

    Danke auf jende Fall schon mal!

    Gruß MrBrown

  5. #5
    Hat hier eine Zweitwohnung
    Registriert seit
    14.01.2006
    Ort
    Nienburg
    Alter
    32
    Beiträge
    1.237
    Bedankte sich
    115
    Erhielt 471 Danksagungen
    in 368 Beiträgen

    Standard

    ja, das bezieht sich auf die in joomla angemeldeten / registrierten benutzer. woher kommen die benutzer die du im system dann zuweisen moechtest.

  6. #6
    Neu an Board
    Registriert seit
    01.04.2010
    Beiträge
    4
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    diese nutzer lege ich selbst an in der komponente.
    ich habe einen tab user und einen tab kategorien.
    user und kategorien werden völlig autark von joomla angelegt und dies
    auch in einer eigenen tabelle jos_komponentenname für die user und jos_komponentenname_category für die Kategorien.

+ Antworten

Lesezeichen

Berechtigungen

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