Beiträge von axl-g

    Joomla 4.3.3

    lokaler Testserver

    php 8.1.10


    Ich versuche den Pathway wie folgt zu setzen:

    Code
    $app = JFactory::getApplication();
    $pathway = $app->getPathway();
    $pathway->addItem('Fahrzeuge', 'index.php/fahrzeuge');
    $pathway->addItem($this->fahrzeugartname);

    Als link erwarte ich:

    192.168.xxx.xxx/Jtest/index.php/fahrzeuge


    stattdessen bekomme ich aber:

    192.168.xxx.xxx/Jtest/index.php/fahrzeuge/component/gdv4/?view=fahrzeuge&fahrzeugart=Transporter&fahrzeugartname=Transporter&Itemid=101

    Eine solche Seite wird natürlich nicht gefunden.


    Der Teil nach /fahrzeuge/ entspricht in etwa der Seite auf der der Breadcrumb steht, genauer:

    192.168.xxx.xxx/Jtest/index.php?option=com_gdv4&view=fahrzeuge&fahrzeugart=Transporter&fahrzeugartname=Transporter


    Das Object $pathway hat folgenden Inhalt:


    Verwende ich die Schreibweise

    Code
            $app = JFactory::getApplication();
            $pathway = $app->getPathway();
            $pathway->addItem('Fahrzeuge', 'index.php?option=com_gdv4&view=gdv4');
            $pathway->addItem($this->fahrzeugartname);

    erhalte ich diesen funktionierenden Link:

    192.168.xxx.xxx/Jtest/index.php/component/gdv4/?view=gdv4


    Wo habe ich da einen Fehler?


    Anleitungen für das Handling mit pathway habe ich leider nichts verwendbares gefunden.


    Besten Dank für Eure Unterstützung.

    Joomla 3.10.11

    JDownloads 3.9.8.7

    Referenzseite: systembott.de/index.php/download


    Ausgangssituation:

    Es gibt die Kategorien Preislisten, AGB und Flyer, die alle öffentlich zugänglich sind. Es gibt verschiedene Preislisten für Handel oder verarbeitendes Gewerbe. Die Kategorien werden alle in der Übersicht dargestellt.


    Ziel:

    Die Preislisten sollen zukünftig nicht mehr öffentlich zugänglich sein. Die spezifischen Preislisten sollen aber weiterhin per Link abgerufen werden können. Dieser Link kann per email oder Newsletter mitgeteilt werden. Ausserdem soll der Download für die im Shop angemeldeten Kunden, natürlich der Branche entsprechende Liste, verfügbar sein. Aus den Preislisten für die jeweiligen anderen Branchen soll kein "Staatsgeheimnis" gemacht werden. Ich will sie aber auch nicht so einfach zugänglich für jedermann oder die anderen Branchen präsentieren.


    Bisherige Versuche der Lösung:

    1. Kategorie Preisliste auf nicht veröffentlicht gesetzt.
      Ergebnis: Downloadlink gibt Fehlermeldung
    2. Kategorie Preisliste Zugriffsebene auf registriert gesetzt
      Ergebnis: Downloadlink gibt Fehlermeldung, wenn User nicht registriert ist
    3. neuen Download einrichten ohne Kategorie
      Ergebnis: nicht möglich, leere Kategorien gibt es nicht.

    verworfene mögliche Lösungsansätze:

    1. Anstatt der Kategorienübersicht von JDownloads ein eigenes Menü für die Downloads einzurichten, das nur auf die zulässigen Kategorien verweist.
      - verworfen weil mir das zu umständlich und unflexibel erscheint
    2. Eigene Seite für die jeweilige Preisliste
      - verworfen, weil ich dann nicht die Übersicht von JDownloads nutzen kann und aufwändig

    Hat jemand eine Idee, wie ich den Zugriff auf eine dieser spezifischen Preislisten ermöglichen kann, ohne dass sie so ohne weiteres für jeden sichtbar sind?

    Wenn ich

    Code
    $option['driver'] = 'pgsql';

    verwende bekomme ich keine Fehlermeldung, aber ein leeres Ergebnis. Wenn ich aber

    Code
    $option['driver'] = 'pdo_pgsql';

    verwende (nach diesem: https://docs.joomla.org/Potent…ity_issues_in_Joomla_4/de), bekomme ich die Fehlermeldung "Unable to load Database Driver: pdo_pgsql". Laut Sysinfo ist der Treiber aber enabled.


    Hat denn noch niemand mit externen PostgresDatenbanken gearbeitet?

    Die Postgre liegt auf dem gleichen Rechner wie die Joomlainstallation (localhost).


    Hoster bin ich selbst, ist ja eine lokale Testinstallation.


    Den Abschnitt mit dem

    Code
    $option['driver'] = 'pgsql';
    $option['host'] = 'localhost';
    $option['port'] = '5432';
    $option['user'] = '***';
    $option['password'] = '***';
    $option['database'] = '***';
    $option['prefix'] = '';
    $dbt = JDatabaseDriver::getInstance($option);

    habe ich mittlerweile in die function __construct() verschoben.

    Beim Test mit den Zugangsdaten und dem Treiber für die zweite mysql-Datenbank funktioniert das jetzt. Der Zugriff auf die postgresql aber immer noch nicht.

    Anscheinend kann ich gar nicht auf externe Datenbanken zugreifen. Ich habe eine weitere lokale Installation vorgenommen und versuche auf eine Tabelle in dieser zweiten Installation zu zu greifen. Ich bekomme aus einer strukturell identischen Tabelle, aber keine Daten aus Installation zwei, ebenfalls mysqli, sondern immer aus Installation 1.

    Ich hoffe, ich habe es einigermassen verständlich ausgedrückt.


    Ich habe schon versucht die bestehende Datenbankverbindung zu schließen mit

    $db->disconnect();

    $db->freeResult();

    $db->close();

    was aber alles nur zu Fehlermeldungen geführt hat (Call to a member function close() on null).

    Joomla 4.2.6

    lokaler Testserver (WIN10 mit Xampp)

    php 8.1.10

    DB 10.4.25-MariaDB


    Hallo,


    ich muss Daten von einer postgresql abholen und in meine J4 Installation einbringen. Postgre V14 läuft auf dem Rechner, auf dem auch Joomla läuft.


    Wenn ich mit den üblichen php Anweisungen zugreife bekomme ich die richtigen Daten

    Code
    $dbconn = pg_connect("host=localhost dbname=**** user=**** password=***")
                    or die('Verbindungsaufbau fehlgeschlagen: ' . pg_last_error());
    $query = 'SELECT * FROM dealer_vehicles';
    $result = pg_query($query) or die('Abfrage fehlgeschlagen: ' . pg_last_error());

    Wenn ich aber versuche mit der folgenden Joomla-Syntax zu zugreifen,

    bekomme ich mit var_dump($this->items) immer dieses Ergebnis:

    bool(false)


    Was mache ich falsch?


    Habe festgestellt, dass

    Code
    $dbt = JDatabaseDriver::getInstance($option);

    in J4 deprecated ist. Aber

    Code
    $dbt = (new Joomla\Database\DatabaseFactory)->getDriver('pgsql', $option);

    funktioniert auch nicht.

    Ich hab mich nicht weiter mehr damit beschäftigt.


    Im Moment versuche ich mich noch an Tests meiner Komponente für J4, aber da scheint gar nichts mehr zu laufen. Krieg schon Probleme wenn ich einen dump von $this ausgeben will. (bin aber auch nur Hobbyprogrammierer)

    Ok, hab für mich eine Lösung gefunden (4.2.6):

    - im Administratortemplate eine user.css angelegt

    - eingefügt: ":root {font-size: 14px;}"

    - abgespeichert

    und schon ist die Schriftgröße und Aufteilung der Seite erträglich, wenn auch in Teilen noch seeehr großzügig.

    Joomla 3.9.[immer aktualisierte Version]

    eigene Komponente, läuft noch in Entwicklungsumgebung, lokal und auch auf Webserver


    Problemstellung:

    täglich wird von einem Verwaltungsprogramm eine zip-Datei mit csv und Bildern auf den Webserver hochgeladen. Diese Datei muss entpackt, die csv-Daten in die Datenbank geschrieben und die Bilder ins richtige Verzeichnis kopiert werden. Das ist mittlerweile auch schon alles programmiert und läuft auf Knopfdruck problemlos ab. Die Aufgabe ist nun, dass dieses Entpacken und Datenbankschreiben täglich nachts vollautomatisch durchgeführt werden soll.


    Cron habe ich nicht. Also habe ich überlegt, ob ich das per Task in der Aufgabenplanung unseres lokalen Miniservers machen könnte. Funktioniert, aber bei jedem neuen Start bekomme ich einen neuen Browsertab. Schließen per Task geht anscheinend nicht. Nächste Überlegung war der Einsatz von Java Script. Angeblich kann Javascript aber kein Fenster schließen, das es nicht selbst geöffnet hat, also gleiches Problem wie zuvor.


    Hat jemand eine Idee wie ich das machen könnte? J4.1 kann das vielleicht - wäre zukünftig dann eine neue Aufgabe für mich - , aber das wird noch ein paar Wochen dauern bis ich umgestellt habe, ich brauche also eine Übergangslösung.


    Danke für jede Idee und allen ein frohes Osterfest!


    Alexander

    In Bezug auf Sicherheit, möglichen Hacks und dadurch eventuelle Spamverbreitung bei den Besuchern deiner Webseite, wäre eine alte Joomlaversion nicht gerade empfehlenswert.

    Gerade bei dem einen Kunden, wo ich wegen einer selbst erstellten Komponente an Joomla gebunden bin, kriege ich kein Budget für Anpassungen des Backends.

    Bei den anderen Projekten werde ich mich jetzt wohl doch mal bei Wordpress umsehen, das soll bedeutend weniger Schmerzen beim Update machen.

    Über Geschmack kann man ja bekanntlich streiten. Darum will ich das Farbkonzept gar nicht in Frage stellen.


    Aber was sehr nervt ist diese übergroße raumgreifende Darstellung. Die Seiten, insbesondere der Editor wird daurch sehr unübersichtlich, weil man immer wieder nach unten rollen muss und die Seite nie ganz in den Überblick bekommt. Arbeiten mit dem Editorfenster macht definitiv keinen Spass. Darum will ich mich jetzt nach einem alternativen Template umsehen. Hat jemand einen Tip?