Fehlermeldung "Class 'OReilly\Component\Filmtoaster\Site\Controller\BaseController' not found " unbakannter Ursache

  • Nach einem langen Wochenende habe ich mir deine Komponente installiert. Wie David schreibt, dein namespace ist falsch, schreib einfach

    Code
        <namespace path="src">PasswordGenerator\Component\Passwordgenerator</namespace>

    Allerdings kommt danach wieder ein Fehler .. die Datei administrator/components/com_passwordgenerator/passwordgenerator.php wird nicht gefunden.
    Du brauchst einen dispatcher.

    EDIT: Schau dir mal die aktuellen Komponenten im core an. Bücher hinken immer der aktuellen Entwicklung hinterher.

  • Das Problem ist nicht der fehlende Dispatcher (denn die provider.php verweist auf den Default Dispatcher) sondern die unvollständige provider.php, die keine Komponente registriert und die keinen korrekten Namespace angibt. Vergleich siehe hier:

    manual-examples/component-exampleform/com_exampleform/administrator/components/com_exampleform/services/provider.php at main · joomla/manual-examples
    Examples for manual tutorials. Contribute to joomla/manual-examples development by creating an account on GitHub.
    github.com
  • Grundsätzlich: es drängt sich der Eindruck auf, dass du ein paar Wissenslücken bei verschiedenen fundamentalen Themen hast. Das betrifft insbesondere Namespaces (https://www.php.net/manual/en/language.namespaces.php), Autoloading (https://manual.joomla.org/docs/general-c…sses-with-psr4/) und Dependency Injection (https://manual.joomla.org/docs/general-c…ency-injection/). Schau unbedingt nochmal intensiv in die vorhandene Dokumentation und verfügbare Beispielerweiterungen um die Grundkonzepte zu verinnerlichen, ansonsten ist es stochern im Nebel und das ist nicht so recht zielführend.

    Beispiel Serviceprovider:

  • Betreffs Wissenslücken muss ich dir teilweise zustimmen. Das wir jedoch kurz vor dem Ziel sind, bitte noch folgendes: Die Komponente wird ohne Fehlermeldung installiert. Im Backend ist sie unter "Komponenten" zu sehen. Klickt man jedoch darauf, erscheint:

    Fehler-nach-ZIP-27 hosted at ImgBB
    Bild Fehler-nach-ZIP-27 gespeichert in ImgBB
    ibb.co

    Grüße!

    Hiermit beenden Sie Ihre Windows-Sitzung / OK vielleicht ABBRECHEN

  • Letzter Versuch, versprochen. pardon

    Es gibt 2 DisplayController.php:

    Einen hier: com_passwordgenerator\site\src\Controller

    <?php

    namespace PasswordGenerator\Component\Passwordgenerator\Site\Controller;

    \defined('_JEXEC') or die;

    use Joomla\CMS\MVC\Controller\BaseController;

    class DisplayController extends BaseController
    {
    public function display($cachable = false, $urlparams = [])
    {
    parent::display();
    }
    }
    ?>

    Und einen hier: com_passwordgenerator\admin\src\Controller

    <?php

    namespace PasswordGenerator\Component\Passwordgenerator\Administrator\Controller;

    \defined('_JEXEC') or die;

    use Joomla\CMS\MVC\Controller\BaseController;

    class DisplayController extends BaseController
    {
    public function display($cachable = false, $urlparams = [])
    {
    // Lade die View für die Password-Komponente
    $view = $this->getView('password', 'html'); // 'password' ist der Name der View
    $view->display(); // Zeigt die View an
    }
    }

    Hiermit beenden Sie Ihre Windows-Sitzung / OK vielleicht ABBRECHEN

  • Hiermit beenden Sie Ihre Windows-Sitzung / OK vielleicht ABBRECHEN

  • Ich habe eine \site\services\provider.php des Inhalts

    angelegt. Darin soll mit

    $container->registerServiceProvider(new \Joomla\CMS\MVC\View\HtmlViewServiceProvider('PasswordGenerator'));

    die View registriert werden. "autoload_psr4.php" zuvor gelöscht. Caches geleert. Leider immer noch kein entsprechender Menüeintragstyp.

    Hiermit beenden Sie Ihre Windows-Sitzung / OK vielleicht ABBRECHEN