Hallo zusammen,
ich bin seit ein paar Tagen mich in die Materie der Komponenten einzuarbeiten.
Mein Projekt ist eine eigene, an meine Bedürfnisse angepasste Komponente zur Mitgliederverwaltung.
Das ganze habe ich mit den Beispielen com_auto und com_hello auch soweit hinbekommen dass ich ein Admin-Menü habe sowie im Frontend meine Daten als Tabelle untereinander angezeigt bekomme.
Editieren, Anlegen und Löschen von Benutzern geht, im Frontend kann ich auch separieren zwischen anzuzeigenden und versteckten Mitgliedern.
Mein Problem ist nun, dass ich gerne bei den entsprechenden Mitgliedern eine Detailseite aufrufen möchte.
Das erzeugen eines Links mit der entsprechenden ID im Link klappt auch, nur schaffe ich es leider nicht, auch nach suchen in diversen Foren (deutsch, englisch, Google..) in meiner Komponente eine Detailseite einzubauen.
Ich bin der Meinung dass das Problem bei den Models und Views liegt :(
Hier mal mein bisheriger Code der Frontend-Komponente:
/models/igml.php
/views/igml/view.html.phpCode:<?php // Check to ensure this file is included in Joomla! defined('_JEXEC') or die(); jimport('joomla.application.component.model'); /** *IGML Component IGML Model * */ class IGMLModelIGML extends JModel { function _getActiveMemberQuery( &$options ) { // TODO: Cache on the fingerprint of the arguments $db = JFactory::getDBO(); $id = @$options['id']; $select = 'a.*'; $from = '#__igml AS a'; $wheres[] = 'a.hidemember = 0'; $query = "SELECT " . $select . "\n FROM " . $from . "\n WHERE " . implode( "\n AND ", $wheres ) . "\n ORDER BY a.id"; return $query; } function getActiveMemberList( $options=array() ) { $query = $this->_getActiveMemberQuery( $options ); $result = $this->_getList( $query ); return @$result; } } ?>
/views/igml/tmpl/default.phpCode:<?php jimport( 'joomla.application.component.view'); class IGMLViewIGML extends JView { function display($tpl = null) { $model =&$this->getModel(); $active = $model->getActiveMemberList(); $this->assignRef( 'active', $active ); parent::display($tpl); } } ?>
Leider komme ich nicht weiter und benötige nun an dieser Stelle einen Tipp oder einen Ruck in die Richtige Richtung um diesen Teil meiner Komponente zu vollenden.Code:<?php defined('_JEXEC') or die('Restricted access'); ?> <table align="center" cellpadding="3" cellspacing="1" border="0" width="600px"> <tr> <th colspan="4"><h3><?php echo JText::_( 'ACTIVE_MEMBER' ); ?></h3></th> <tr> <td width="150px"><b><?php echo JText::_( 'NICKNAME' ); ?></b></td> <td width="150px" align="center"><b><?php echo JText::_( 'NAME' ); ?></b></td> <td width="100px" align="center"><b><?php echo JText::_( 'ICQ' ); ?></b></td> <td width="200px"><b><?php echo JText::_( 'STATUS' ); ?></b></td> </tr> <?php // Auslesen der Datensätze im Array foreach($this->active as $active) { $link = JRoute::_( 'index.php?option=com_igml'. $active->id ); ?> <tr> <td valign="middle"><a href="<?php echo $link; ?>"><?php echo $active->nickname; ?></a></td> <td valign="middle"><?php echo $active->name; ?></td> <td valign="middle" align="center"><?php echo $active->icq; ?></td> <td valign="middle"> <? if ($active->ismember == 0) { echo '<span class=a>Inaktiv</span>'; } else { echo $active->customstatus; } ?> </td> </tr> <?php } ?> </table>
Macht man das eigendlich in einer Komponente oder wäre es geschickter auf ein Modul auszuweichen?
Gruss,
Michael


LinkBack URL
About LinkBacks
Zitieren
Lesezeichen