Beiträge von axl-g

    Joomla ist halt menügesteuert.
    Ich habe dein Anliegen noch nicht genau verstanden, hast es ja mittlerweile auch gelöst, aber wenn ich was von Modulen und Startseite lese, muss ich immer an den "Advanced Module Manager" denken, der mir schon oft bei derartigen Problemen geholfen hat.

    Mein Problem war, dass mir bei der mehrstufigen Komponenten "Kategorienliste -> Objektliste -> Objekt" der Bezug zum Menüpunkt der Kategorienliste verloren gegangen ist und ich wußte nicht, wie ich diesen Bezug in die nächste Stufe mitnehmen konnte. Vielleicht konnte ich es damit besser erklären.
    Vielleicht aber auch anschaulicher auf der (zwar noch aktuellen, aber alten) Internetseite: https://graf-nutzfahrzeuge.de/fahrzeuge

    Kategorie (zB. Transporter) -> Liste -> einzelnes Fahrzeug

    Noch zur Ergänzung:

    Damit auch die Pagination einwandfrei verlinkt muss im zweiten Codefenster <form> wie folgt angepasst werden:

    PHP
    <form action="<?php echo JRoute::_('index.php?option=com_gdv4&view=fahrzeuge&Itemid=' . $vehiclesItemId); ?>" id="fahrzeuge" class="gdv4" method="post"> 

    Ich habe eine Lösung gefunden. Falls es jemanden interessiert:

    Wichtig ist also nicht <form>, sondern dass bei <input> unter value die Menu Item Id mit aufgeführt wird. Beim Aufruf des einzelnen Objektes (Fahrzeug) aus der Liste analog vorgehen:

    Das Formular benötige ich hier für was anderes, den Aufruf habe ich daher nur als Link ausgeführt. Aber auch hier ist die Menu Item Id wichtig.

    Fazit: bei forms, links und auch pathway immer die Menu Item Id mitgeben!

    Hallo,

    ich arbeite an einer Komponente die Datenblätter von gebrauchten Fahrzeugen darstellt. Es soll die neue Version dieser Seite werden: graf-nutzfahrzeuge.de/fahrzeuge

    Der Einstieg soll erfolgen über einen Menüpunkt "Fahrzeugkategorien".
    Die URL lautet hier: Jtest/index.php/fahrzeugkategorien?view=gdv4
    erwartet hätte ich Jtest/fahrzeugkategorien, was ja so auch funktioniert.

    Durch Anklicken einer Kategorie soll eine Liste von Fahrzeugen aufgerufen werden. Ich verwende

    PHP
    <form id="kategorien" method="post" action="<?php echo Route::_('fahrzeuge?'); ?>" >
    </form>

    hier erhalte ich analog: Jtest/index.php?option=com_gdv4&view=fahrzeuge&fahrzeugart=Transporter
    hier hätte ich gerne Jtest/fahrzeuge?fahrzeugart=Transporter

    Analog um nun das einzelne Fahrzeug auf zu rufen:

    PHP
    <form id="fahrzeuge" method="post" action="<?php echo Route::_('fahrzeug?'); ?>" >
    </form>

    Hintergrund ist, dass ich bestimmte Module auf der Seite nur auf der Startseite anzeigen lassen will. Bei Aufruf der Fahrzeugkategorien funktioniert das auch, wenn ich aber die Fahrzeuge (liste) aufrufe, springt das System aber nicht in den Menüpunkt Fahrzeuge sondern in die Startseite und zeigt mir ausser der Fahrzeugliste auch die installierten Module an. Das gleiche passiert dann auch, wenn ich über die Breadcrumbs zurück zu den Fahrzeugkategorien springen will.

    Eine default.xml exisiert für jede View und ich habe auch jeweils einen Menüpunkt angelegt. Wenn ich diese Menüpunkte anklicke habe ich jeweils eine korrekte Verlinkung auf die entsprechende View (bei fahrzeuge natürlich mit ?fahrzeugart=Art, manuell ergänzt). Die Module werden dann nicht angezeigt.

    Wie muss ich in den forms die Menüpunkte korrekt aufrufen? Oder was muss ich im Menü einstellen? Habe ich einen Denkfehler irgendwo?

    Beste Grüße aus Neustadt

    Alexander

    Mit dem Ordner von ausserhalb habe ich überhaupt kein Problem, das ist das lokale System.

    Ich habe es nur mit ins Spiel gebracht um zu zeigen, dass der Zugriff IMMER mit dem Schrägstrich möglich ist.

    Das Problem tritt erst auf, wenn ich mit dem online-System arbeite, dort greife ich auf den images Ordner von Joomla zu. Und zwar einmal ohne den Schrägstrich bei php Zugriffen, und einmal brauche ich den Schrägstrich, wenn ich mit Javascript zugreife.

    Das Template ist ein Child von Cassiopeia mit wenigen CSS-Anpassungen.

    Das lokale Verzeichnis ist ein Verzeichnis ausserhalb des Joomla-Stammverzeichnisses, aber gleiche Festplatte.

    Hier noch eine weitere Information, die nach meinen heutigen Recherchen vielleicht auch von Bedeutung sein könnten:

    Lokal läuft Joomla auf einem Apache Webserver unter Windows, während die online-Installation auf einem Apache unter Linux läuft. Vielleicht hat das jeweilige Server-OS einen Einfluss auf die Pfadangabe, was allerdings nicht erklärt, warum online mal mit und einmal ohne einleitenden Schrägstrich geroutet wird.

    Joomla 4.4.3

    php-Version online 8.1.27

    php-Version lokal 8.1.10

    online noch in nicht-öffentlicher Testversion, Vorgängerversion mit J3 hier: https://graf-nutzfahrzeuge.de/fahrzeuge?view=fahrzeuge

    (auf ein beliebiges Fahrzeugbild klicken, in der Einselansicht mit dem Mauszeiger über die kleinen Vorschaubilder fahren. Das ist der gewünschte Effekt)

    Hallo,

    ich habe ein eigenartiges, weil unterschiedliches Verhalten bei Pfadangaben in der online und in der lokalen Installation.

    Beim Verweis auf ein Bilderverzeichnis muss ich in der lokalen Version den Pfad so angeben:

    /Daten/Fahrzeuge/Fahrzeugbilder/ - mit einleitenden Schrägstrich

    und bei der online Version so:

    images/fahrzeugbilder/ - ohne einleitenden Schrägstrich

    Da ich die Pfadangabe sowieso irgendwo hinterlegen muss (Tabelle #__gdv4_config), könnte ich damit eigentlich leben, wenn nicht ein Folgefehler auftreten würde. Der tritt auf, wenn ein Javascript ausgeführt wird. Im einen Fall (lokal) findet das Script die Bilder, im anderen (online) nicht. Das heißt, die Vorschaubilder werden immer angezeigt. Beim Überfahren mit dem Mauszeiger verschwindet in der Online-Version aber das Hauptbild und erscheint auch bei mouseout nicht wieder. Das andere Bild wird gar nicht erst in der großen Ansicht angezeigt. Lokal funktioniert alles einwandfrei. Das ausserdem installierte Karoussell für das große Bild funktioniert in beiden Installationen.

    Wenn ich in der Online-Version den einführenden Schrägstrich setze, kann ich auf kein Bild mehr zugreifen, wenn ich ihn in der lokalen Version weg lasse genauso.

    Setze ich im Javascript den Schrägstrich, funktioniert es in der Online-Version, aber nicht mehr in der lokalen.

    Was läuft da schief?

    Das ist der Code mit dem Script:

    PHP
    <php $bilderpfad = $this->bildpfad;
    .....
    foreach ($bilder as $bild) {
    $bild_src = $bilderpfad . $bild; ?>
    <div class="fahrzeug_vorschaubild col-xl-2 col-lg-2 col-md-2 col-sm-3" >
    <a onmouseover="javascript:changeImg('<?php echo $bild_src; ?> ')" onmouseout="javascript:changeImg('<?php echo $bilderpfad . $bilder[0]; ?> ')"> 
    <img src="<?php echo $bild_src; ?>" alt="<?php echo $marke_modell; ?>, Interne Nummer: <?php echo $interne_nummer; ?>">  
    </a>
    </div>
    <?php } ?>

    Ich habe das jetzt entsprechend dem Vorschlag von Sieger66

    Zitat

    so lösen können:

    Code
    $result = JFactory::getDbo()->insertObject($tableName, $entry);

    Allerdings dauert das bei 10 Tabellen mit insgesamt ca. 17.000 Zeilen ganz schön lange, fast 4 Minuten.

    Das ist die vollständige Funktion:

    Joomla 4.4.2

    eigene Komponente

    läuft auf einem öffentlichen Server mit php 8.1.27, in einem geschützten Testbereich

    mysql 8.0.32

    Hallo,

    ich stehe irgendwie auf dem Schlauch. Beim Versuch den Inhalt einer XML-Datei in die Datenbank ein zu pflegen, bekomme ich folgende Fehlermeldung:

    Error inserting data into `#__dealer_vehicles`: Column count doesn't match value count at row 1

    Der Fehler tritt bereits bei der ersten Tabelle auf. Wenn ich in der XML-Datei diese Tabelle herausnehme, habe ich den gleichen Fehler auch bei der nächsten Tabelle.

    Der (meiner Meinung nach) relevante Code sieht so aus:

    Wobei die Query für Fields (columns) und Values so aussieht:

    $query->values:

    Code
    object(Joomla\Database\Query\QueryElement)#756 (3) {  ["name":protected]=>  string(2) "()"  ["elements":protected]=>  array(6) {    [0]=>    int(170218)    [1]=>    int(1400)    [2]=>    int(1)    [3]=>    NULL    [4]=>    float(1600)    [5]=>    float(1904)  }  ["glue":protected]=>  string(3) "),("
    }

    $query->columns:

    Code
    object(Joomla\Database\Query\QueryElement)#757 (3) {  ["name":protected]=>  string(2) "()"  ["elements":protected]=>  array(6) {    [0]=>    string(23) "`dealer_vehicle_number`"    [1]=>    string(16) "`vehicle_number`"    [2]=>    string(23) "`out_is_ready_for_sale`"    [3]=>    string(25) "`out_sales_contract_date`"    [4]=>    string(30) "`out_recommended_retail_price`"    [5]=>    string(16) "`out_sale_price`"  }  ["glue":protected]=>  string(1) ","
    }

    Mir fällt dabei auf, dass 'glue' bei den values "),(", bei den columns aber "," ist.

    Die Datenbanktabelle hat ebenfalls 6 Spalten.

    Ich habe auch schon versucht, die Values mit '$db->quoteName((string)' einzusetzen, das Ergebnis war aber das Gleiche.

    Hat jemand eine Idee, was ich da falsch mache?

    Danke für jede Information.

    Wie geht das einklappen? Mit einer user css oder gibt es einen Schalter dafür? Ich tappe was J4 betrifft noch ziemlich im Nebel und hatte noch nicht die Zeit mich intensiv damit zu beschäftigen.

    Ich wäre jetzt zunächst mal auf die Suche gegangen nach Ausblenden des Moduls beim Menüpunkt Virtuemart. Vielleicht gibt es aber auch noch eine schnellere oder bessere Möglichkeit.

    Viel verschenkter Platz.

    Produktansicht: Durch die beiden Navigationsleisten links schieben sich Teile der wichtigen Informationen nach rechts aus dem Bild. Die Dropdown-Buttons gehen über die volle Breite und belegen dadurch schon die Hälfte des Daten-Arbeits-Bereiches. Die Buttons am oberen Rand sind so groß und zahlreich, dass sie zweizeilig angezeigt werden müssen und trotzdem teilweise rechts aus dem Bild wandern.

    Bestellansicht: Die obere Leiste mit den Filter und Auswahlmöglichkeiten ist unaufgeräumt und braucht dadurch viel zu viel Raum.

    Insgesamt: Die Schrift in der VM Navigation ist ok, im Datenbereich zu groß. Das kommt aber möglicherweise vom Template des Admin. In der späteren Produktivversion werde ich die Schrift per user.css wieder kleiner einstellen, vielleicht hilft das ja. Ich habe das auch in einem früheren Thread mal thematisiert.

    Nicht falsch verstehen: Ich will hier nicht rummeckern, ich teile nur meine Eindrücke.

    So, ich hab mich jetzt einfach mal getraut, habe virtuemart nicht deinstalliert und allen Warnungen zum Trotz J4.4 installiert. Und siehe da: es funktioniert. Auf den ersten Blick läuft der Shop. Natürlich muss das Frontend Template noch entwickelt werden.

    Die Backendansicht von Virtuemart in J4 ist zumindest in der VM-Version 4.0.12 eine einzige Katatstrophe! Mal sehen ob es besser wird, wenn ich dann auf die nächste Version update.

    Ich habe ja php auf 8.0 gesetzt (wobei das ja schon recht eigenartig ist, 8.0 wird nur noch bis Dezember supported).

    Ich habe verschiedene Reihenfolgen versucht, unter anderem zuerst das Paket. Beanstandet wird das fehlen der Manifestdatei. Die ist aber im Ordner administrator/manifests/packages vorhanden.

    Ziel ist zunächst mal J4. Dann sehen wir weiter.

    Du solltest die Migration von J3 nach J4 nicht mit PHP 8.2 machen. Da sind Probleme vorprogrammiert. Ich würde PHP 8.0 empfehlen!

    Hilft leider auch nichts. Das Problem liegt anscheineind darin, dass sich virtuemart 4.0.12 weder updaten noch deinstallieren lässt. Nach einer manuellen Deinstallation läuft weder Frontend noch Backend. Nichts geht dann mehr. Hab mittlerweile gut 15 Stunden verbraten für nichts. Das zahlt mir kein Mensch.

    Hallo,

    kennt jemand eine Anleitung wie die Daten (Kunden, Produkte) von Virtuemart von einer J3.10 auf eine neue leere J5 umgezogen werden kann?

    Die Migration von 3 auf 4 gelingt trotz stundenlanger Vorebereitung und deinstallieren sämtlicher Erweiterungen einschließlich VM nicht. X(

    Ich hätte besser gleich eine neue Seite aufgesetzt.

    Joomla 4.4

    noch lokal installiert

    Hallo,

    ich möchte zusammen mit meiner Komponente auch gleich einige benötigte Bilder installieren. Die Bilder liegen im Verzeichnis \images\gdv4 des Installationspaketes. Die Bilder sollen in das "images"-Verzeichnis, Unterordner "gdv4".

    Wie muss die Anweisung in der Manifestdatei aussehen.

    Ich habe bisher versucht:


    <files folder="images" destination="/images">

    <folder>gdv4</folder>

    </files>

    oder

    <files folder="images" destination="images">

    <folder>gdv4</folder>

    </files>

    oder

    <files folder="images">

    <folder>gdv4</folder>

    </files>

    oder (im Anschluss an <extension type="component">...</extension>)

    <extension type="file" method="install" version="4">

    <name>gdv4</name>

    <fileset>

    <files folder="images" target="images">

    <folder>gdv4</folder>

    </files>

    </fileset>

    </extension>

    Die Komponente wurde immer einwandfrei installiert, aber mein Verzeichnis gdv4 mit den Bildern nicht.

    Bin froh um jeden Tipp.

    Joomla Version: 4.3.3
    PHP Version: PHP 8.1.x
    Hoster: lokal

    Hallo Alle,

    Beim filtern der Listeneinträge meiner Komponente werden von der filter_search Leerzeichen entfernt. Z.B. suche ich nach "xxx zzz", erhalte ich ein leeres Ergebnis, obwohl dieser Eintrag in der Liste enthalten ist.

    Wenn ich mir den Inhalt von $app->input mit var_dump anzeigen lasse, ist im "data"-Objekt der Eintrag

    Code
    ["filter_search"]=>    string(7) "xxx zzz"

    korrekt angegeben.

    Mit $app->input->get('filter_search') bekomme ich aber die Ausgabe "xxxzzz" ohne Leerzeichen.

    Das fieldset sieht in der Ausgabe so aus ("xxx zzz" steht für: "Schmitz Gotha"):

    Und in php sieht es so aus:

    Wenn ich mir in der onclick-Methode mit alert den Wert von "filter_search" anzeigen lasse, ist das Leerzeichen korrekt vorhanden.

    An welcher Stelle verschwindet das Leerzeichen, wie kann ich es erhalten?