Beiträge von axl-g

    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?

    Ich habe eine Lösung gefunden:

    Code
    @media print {
      .site-grid, .blog-item, .blog-items{
          display: contents;
      }
    }

    Funktioniert in FF, Edge und Chrome.


    Ergänzung: Bei Chrome bzw Edge scheint es ohne diese CSS_Einstellung nur zu funktioniern, weil sie die Grid-Einstellungen anders (falsch?) interpretieren. Jedenfalls zerschießt es im Chrome das Tabellenlayout mit und ohne die @media print Anweisungen.

    Tatsächlich! Das scheint ein Firefox-Problem zu sein. Mit Chrome und Edge geht es bei mir auch.


    Ob der Voschlag von Stef resp. Re:later die Lösung bringt, kann ich erst nächste Woche ausprobieren.


    Den Vorschlag auf der Seite von Kulturbanause mit dem page-break habe ich ausprobiert. Bei jedem Element zwischen Body und der Tabelle. Bringt leider nichts.


    Danke für die Hinweise.


    Btw: kennt jemand eine Lösung ähnlich den DevTools mit der man die CSS der Druckdatei untersuchen kann? Oder gibt es die in den DevTools und ich habe sie nur übersehen?

    Template Cassiopeia

    Beim Ausdruck eines Inhaltes, der mehr als eine Druckseite lang ist, steht auf der ersten Siete nur der Titel. Die Breadcrumbs, die Inhaltsüberschrift und der Inhalt beginnt erst auf der zweiten Seite. Inhalte, die weniger als eine Seite lang sind, werden korrekt auf das erste Blatt gedruckt.


    Wo kann man einstellen, dass alle Inhalte gleich auf Blatt eins gedruckt werden?

    Ich habe jetzt mal testweise URL-Rewrite eingestellt. Jetzt geht es.

    192.168.xxx.xxx/Jtest/index.php/fahrzeuge hat aber vorher schon funktioniert wenn ich es manuell eingegeben habe.


    Andererseits bekomme ich, wenn ich die zweite Version verwende, weiterhin die alten hässlichen Links. Es kann doch nicht sein, dass man zwei Versionen programmieren muss, eine für URL-Rewrite und eine ohne!