Da ist was faul (Fehler beim Erstellen einer eigenen Komponente)

  • Hallo!
    Beim Erstellen einer eigenen Komponente klappt es soweit. Klickt man aber die Schaltfläche "Neu", gibt es eine Fehlermeldung. Die angemeckerte Zeile ist aber okay.


    Wie gesagt: Die Zeile 19 im Skript edit.php ist okay.
    Gruß
    Streethawk68
    :)

    Hiermit beenden Sie Ihre Windows-Sitzung / OK vielleicht ABBRECHEN

  • <?xml version="1.0" encoding="utf-8"?>
    <extension type="component" version="3.0">


    <name>Kinoportal</name>
    <creationDate>24. Januar 2013</creationDate>
    <author>Tim Schuermann</author>
    <authorEmail>info@tim-schuermann.de</authorEmail>
    <authorURL>http://www.tim-schuermann.de</authorURL>
    <copyright>(C) Tim Schuermann</copyright>
    <license>GNU General Public License</license>
    <version>1.0.0</version> <!-- Versionsnummer der Komponente -->
    <description>Diese Komponente verwaltet die teuersten Filme aller Zeiten.</description>

    <install>
    <sql>
    <file charset="utf8" driver="mysql">sql/install.mysql.utf8.sql</file>
    </sql>
    </install>
    <uninstall>
    <sql>
    <file charset="utf8" driver="mysql">sql/uninstall.mysql.utf8.sql</file>
    </sql>
    </uninstall>

    <files folder="site">
    <filename>kinoportal.php</filename>
    <filename>controller.php</filename>
    <folder>models</folder>
    <folder>views</folder>
    </files>

    <administration>
    <menu>Kinoportal</menu>
    <files folder="admin">
    <filename>kinoportal.php</filename>
    <filename>controller.php</filename>
    <folder>sql</folder>
    <folder>views</folder>
    <folder>models</folder>
    <folder>tables</folder>
    <folder>controllers</folder>
    </files>
    </administration>


    </extension>

    Hiermit beenden Sie Ihre Windows-Sitzung / OK vielleicht ABBRECHEN

  • Das ist die installations XML-Datei aber nicht die für Fields, die aus dem fields Ordner ist gemeint. C:/xampp/htdocs/joomla/administrator/components/com_kinoportal/models/forms/filmbearbeitung.xml
    Da muss was im Format von

    Code
    ...
    <field name="mycalendar" type="calendar" default="5-10-2008" label="Select a date" description="" format="%d-%m-%Y" />
    ...


    usw. drin stehen.

  • Gute Nase! Da hatte Notepad++ mal wieder einen Umlaut deformiert. Jetzt komme ich weiter. Allerdings wenn man jetzt auf Neu klickt, wird nur das Feld für Produktionskosten, nicht das für Filmname eingeblendet. Das ist aber schon viel besser. Danke. Willst du diese .xml trotzdem sehen?

    Hiermit beenden Sie Ihre Windows-Sitzung / OK vielleicht ABBRECHEN

  • Das Problem hat sich nach vorne verlagert. Zwei inputBoxen sollen angezeigt werden: Filmname, Produktionskosten. Nur die Box für Produktionskosten wird angezeigt. Aber wir machen morgen weiter. Es ist spät und noch nicht Freitag. ;)

    Hiermit beenden Sie Ihre Windows-Sitzung / OK vielleicht ABBRECHEN

  • Dann poste administrator/components/com_kinoportal/views/<singular>tmpl/edit.php bzw. Dann poste administrator/components/com_kinoportal/views/<plural>tmpl/default.php und die administrator/components/com_kinoportal/models/forms/filmbearbeitung.xml im [ code ] Tag eingeschlossen.

  • ...\admin\views\filmbearbeitung\tmpl\edit.php:



    <?php defined('_JEXEC') or die;


    JHtml::_('behavior.tooltip');
    ?>
    <script type="text/javascript">
    Joomla.submitbutton = function(task)
    {
    Joomla.submitform(task, document.getElementById('kinoportal-form'));
    }
    </script>
    <form action="<?php
    echo JRoute::_('index.php?option=com_kinoportal&layout=edit&id='.(int) $this->film->id); ?>" method="post" name="adminForm" id="kinoportal-form">

    <fieldset>
    <legend>Filmdaten</legend>
    <ul>
    <li>
    <?php echo $this->form->getLabel('name'); ?>
    <?php echo $this->form->getInput('name'); ?>
    </li>
    <li>
    <?php echo $this->form->getLabel('kosten'); ?>
    <?php echo $this->form->getInput('kosten'); ?>
    </li>
    </ul>
    </fieldset>

    <input type="hidden" name="task" value="" />
    <?php echo JHtml::_('form.token'); ?>
    </form>


    ...\admin\views\filmliste\tmpl\default.php



    <?php defined('_JEXEC') or die;
    JHtml::_('behavior.multiselect');
    ?>


    <form action="<?php
    echo JRoute::_('index.php?option=com_kinoportal');
    ?>" method="post" name="adminForm" id="adminForm">

    <?php echo $this->seiten->getLimitBox(); ?>

    <table class="table table-striped" >
    <!-- Kopfzeile -->
    <thead>
    <tr>
    <th>
    <input type="checkbox" name="checkall-toggle" value=""
    onclick="Joomla.checkAll(this)" />
    </th>
    <th>Film</th>
    <th>Kosten</th>
    <th>ID</th>
    </tr>
    </thead>

    <!-- Hauptbereich mit den eigentlichen Inhalten -->
    <tbody>
    <?php foreach($this->filme as $i => $film): ?>
    <tr class="row<?php echo $i % 2; ?>">
    <td>
    <?php echo JHtml::_('grid.id', $i, $film->id); ?>
    </td>
    <td> <?php echo $film->name; ?> </td>
    <td> <?php echo $film->kosten; ?> </td>
    <td> <?php echo $film->id; ?> </td>
    </tr>
    <?php endforeach; ?>
    </tbody>

    <!-- Fußzeile -->
    <tfoot>
    <tr>
    <td> <?php echo $this->seiten->getListFooter(); ?> </td>
    </tr>
    </tfoot>
    </table>

    <input type="hidden" name="task" value="" />
    <input type="hidden" name="boxchecked" value="0" />
    <?php echo JHtml::_('form.token'); ?>
    </form>


    ...\admin\models\forms\filmbearbeitung.xml:



    <?xml version="1.0" encoding="utf-8"?>
    <form>
    <fieldset>
    <field
    name="id"
    type="hidden"
    />
    <field
    name="id"
    type="text"
    label="Filmname:"
    description="Geben Sie hier den vollstaendigen Filmnamen ein."
    size="100"
    class="inputbox"
    default=""
    />
    <field
    name="kosten"
    type="text"
    label="Produktionskosten:"
    description="Geben Sie hier die Produktionskosten in Mio. US-Dollar ein."
    size="40"
    class="inputbox validate-numeric"
    default=""
    />
    </fieldset>
    </form>


    :)

    Hiermit beenden Sie Ihre Windows-Sitzung / OK vielleicht ABBRECHEN

    • Hilfreich

    In der XML 2 x name="id", die müssen unique sein.


    Und die einszelnen Code-Abschnitte in einen Spoiler packen, damit man den Code besser lesen kann.

  • Ich teste also mal Spoiler (ob ich das verstanden habe) ...

    Hiermit beenden Sie Ihre Windows-Sitzung / OK vielleicht ABBRECHEN

  • Hallo! Ich habe gesehen, man kann Code mit Syntaxhighlighting posten. Wie geht das?
    Streethawk68
    :)


    Warum schaust Du nicht in unsere Anleitungen, bzw. siehst Dir die Iconleiste in dem Editor ein bisschen genauer an? Wie postet man Codes in diesem Forum, mit und ohne Spoiler