+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Componente wird nicht angezeigt

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

    Standard Componente wird nicht angezeigt

    Hallo Zusammen,

    ich bin gerade dabei eine eigene Componente für joomla 1.0.15 mit Hilfe von dem OpenBook zu erstellen.

    Die Installation klappt schon ohne Probleme, wenn ich jedoch nun diese Componente unter dem Main Menü verlinke, erhalte ich immer den Fehler das diese Seite nicht existiert.

    Einbinden tue ich dies über Menü -> MainMenü -> New -> Componentes (Component).

    Die XML Datei schaut wie folgt aus:

    Code:
    <?xml version="1.0" ?>
    <mosinstall type="component">
      <name>Mitglieder Suche</name>
      <files>
      <filename>suser_frontend.php</filename>
      </files> 
      <install>
        <queries>
          <query>Create table jos_suser(id INT NOT NULL AUTO_INCREMENT, Vorname   CHAR(250) NOT NULL, NACHNAME CHAR(250) NOT NULL, EMailAdr Text, Tel CHAR(250), PRIMARY KEY (id) );
          </query>
        </queries>
       </install>
       <uninstall>
        <queries>
          <query>DROP TABLE jos_suser;</query>
        </queries>
       </uninstall>
       <installfile>
        <filename>install.suser.php</filename>
       </installfile>
       <administration>
        <menu>MitgliederSuche</menu>
        <submenu>
          <menu act="all">Manager</menu>
        </submenu>
        <files>
          <filename>suser_admin.php</filename>
          <filename>suser_admin.php.html</filename>
          <filename>suser_class.php</filename>
          <filename>suser_create.php</filename>
          <filename>suser_edit.php</filename>
          <filename>suser_frontend.php</filename>
        </files>
    Im Verzeichnis Components/com_mitgliedersuche ist auch die suser_frontend.php enthalten, die Datenbank wird auch richtig angelegt und habe ich auch zum testen mit Inhalt gefüllt.

    die suer_frontend.php schaut so aus:

    PHP-Code:
    <?php
    defined
    '_VALID_MOS' ) or die( 'Direct Access to this script is not allowed');
    $query 'SELECT * FROM jos_suser';
    $database->setQuery$query );
    $rows $database->loadObjectList();
    echo 
    '<div align="center"><table width="50%">';
    foreach(
    $rows as $row)
    {
    echo 
    '<tr><td bgcolor="#DDDDDD">&nbsp;'.$row->pair.'</td>';
    echo 
    '<td style='.'"border:1px solid #DDDDDD;text-align:right">'.$row->points.'&nbsp;</td></tr>';
    }
    echo 
    '</table></div>';
    ?>

    Im Menü wird die Componente über folgenden Link Zusatz aufgerufen:

    com_mitgliedersuche&Itemid=28

    Kann mir einer vllt sagen woran das liegen kann?

    Vielen Dank,

    skalldem

  2. #2
    Gehört zum Inventar Avatar von blaulichttreff
    Registriert seit
    30.04.2007
    Ort
    Heidenrod
    Beiträge
    7.703
    Bedankte sich
    134
    Erhielt 2.557 Danksagungen
    in 2.421 Beiträgen

    Standard

    damit die komponente aufgerufen werden / funktionieren kann, muss die php-datei der komponente im frontend (bei dir frontend.php) den gleichen namen wie die komponente haben. sie müsste also mitgliedersuche.php heißen.
    Gruß Sascha
    Viele kennen Google, aber nur wenige scheinen es zu nutzen Problem gelöst? | Joomla FAQ
    FF Springen

  3. #3
    Neu an Board
    Registriert seit
    20.06.2007
    Beiträge
    13
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Hi,

    vielen dank Funktioniert nun

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

    Standard

    hey, ich bins leider mal wieder.

    eine "einfache" Komponente mit Hilfe des OpenBooks von Joomla habe ich erstellt und läuft auch ohne Probleme. Jedoch will ich diese nun erweitern. Im Administratorbereich, will ich einen weiteren Submenue eintrag haben, worüber ich eine weitere Tabelle "bearbeiten" kann. Den weiteren Eintrag zu erstellen ist kein Problem, jedoch bekomme ich das aufrufen nicht hin. Ich denke mir mal ich weiß auch woran es liegt, jedoch schaffe ich es nicht den Fehler zu beheben. In meiner admin.suser.php steht unter anderem folgendes drin:

    PHP-Code:
    require_once($mainframe->getPath('class'));
    require_once(
    $mainframe->getPath('admin_html'));
    $id mosGetParam$_REQUEST'cid', array(0) );
    if (!
    is_array$id )) {
          
    $id = array(0);
       }
      if ((
    $act == 'all'))
         
    $task="listItems";
      switch (
    $task) {
         case 
    "listItems"listItems($option); break;
         case 
    "edit"edit($option$id[0]); break;
         case 
    "new"edit($option''); break;
         case 
    "save"save($option); break;
         case 
    "delete"delete($option$id); break;
         case 
    "publish"publish($option'1'$id); break;
         case 
    "unpublish"publish($option'0'$id); break;
    }
    function 
    listItems($option) {
    global 
    $database;
    $database->setQuery("SELECT * FROM #__suser"." ORDER BY id");
    $rows $database->loadObjectList();
    HTML_suser::listItems($option$rows);
    }
    .... 
    Ich habe mir nun gedacht, ich setzte einfach eine Abfrage rein die schaut ob act = all ist, wenn ja führer das uns das aus, wenn aber act=katbearbeiten dann führe das und das ist.

    Also so ungefähr:

    PHP-Code:
    if ($act == 'all'){
    der Code von oben
    }
    elsif ($act=='katbearbeiten'){
    aufruf der Einstellungen für den zweiten Menueeintrag

    Jedoch erhalte ich dann immer wieder die Fehlermeldung
    "Fatal error: Call to undefined function listitems() in C:\xampp\htdocs\joomla\administrator\components\co m_suser\admin.suser.php on line 12"

    Setzte ich nun "includes" von den classen und der admin.suser.html.php mit in die erste if abfrage, kommt immer wieder das gleiche.

    Habe mir auch schon andere Komponenten angeschaut um zu verstehen wie es dort gelöst wurde, jedoch muss ich zu geben das ich es nie so ganz verstanden habe...

    Hoffe einer von euch kann mir helfen!

    Wenn benötigt, kann ich die Komponente auch mal hochladen.

    Vielen Dank und viele Grüße,
    Skalldem

  5. #5
    Verbringt hier viel Zeit
    Registriert seit
    31.05.2008
    Beiträge
    801
    Bedankte sich
    0
    Erhielt 268 Danksagungen
    in 214 Beiträgen

    Standard

    Zitat Zitat von skalldem Beitrag anzeigen
    "Fatal error: Call to undefined function listitems() in C:\xampp\htdocs\joomla\administrator\components\co m_suser\admin.suser.php on line 12"
    listitems() wurde nicht definiert.
    Code:
    require_once($mainframe->getPath('class'));
    require_once($mainframe->getPath('admin_html'));
    Die zwei Sachen musst du natürlich immer aufrufen.

    Aber mal etwas ganz anderes: Bist du dir sicher, dass es sich jetzt noch lohnt eine Joomla! 1.0 Komponente zu schreiben?
    siehe letzter Absatz
    lg Måria

+ Antworten

Lesezeichen

Berechtigungen

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