Warum werden leere "Selbsterstellte Felder" angezeigt?

  • Hallo Zusammen,


    eigentlich werden benutzerdefinierte Felder (fields) bei Joomla nur angezeigt, wenn etwas drin steht.


    Als ich Ende 2017 mit VirtueMart angefangen habe, war das auch bei den "Selbsterstellten Felder" noch so.


    Bei einem der ersten 2-3 Updates hat sich das geändert, seit dem werden auch leere "Selbsterstellte Felder" angezeigt.


    Da manche Felder erst dazu gekommen sind, nachdem schon mehrere hundert Artikel im Shop veröffentlicht waren, sind diese Felder bei den älteren Artikeln leer. Natürlich sollen die Felder, da wo es möglich ist, noch gefüllt werden. Trotzdem ist es unschön, dass bei manchen Artikeln eben derzeit mehrere leere Felder angezeigt werden. Zudem werden bei vielen Artikeln die ursprünglich (noch ohne Vorlage/Pattern) einzeln eingefügten Feldern mit Texten und Werten angezeigt. Bei manchen Artikeln gibt es Felder also auch doppelt, einmal mit Text/Wert und einmal leer. Ursprünglich ist sowas nicht aufgefallen, weil die leeren Felder ja nicht angezeigt wurden.


    Warum werden die "Selbsterstellten Felder" auch angezeigt, wenn sie leer sind? Gibt es dafür einen bestimmten Grund oder kann man das ändern/umstellen?


    Viele Grüße - Harald

  • Servus,


    man kann den Custom Fields sicher auch im Sublayout customfields.php eine Abfrage vorsetzen, ob sie leer sind oder nicht. Wie genau das geht, kann ich Dir aus dem Stehgreif auch nicht sagen, möglicherweise gibt es sogar einen Schalter in den Einstellungen des Custom Fields?


    Wäre interessant einmal hineinzuschauen, aber leider fehlt's im Moment an der Zeit.


    Grüße
    Stefan

  • Hallo Stefan,


    man kann jedes Feld bei jedem Produkt disablen. Das macht Sinn, wenn in einer Produktvariante das Feld nicht benötigt wird, meistens aktiviert man eher override, weil die Produktvariante einen anderen Wert/Text hat/bekommen soll.


    Das würde aber hier bedeuten, dass man jedes bereits eingetragene Produkt eben erneut öffnen muss, um entweder die leeren Felder zu disablen oder eben mit den entsprechenden Werten zu füllen. Beides macht viel Arbeit.


    Die alte Lösung (Ende 2017), dass leere Felder nie angezeigt wurden, war eigentlich angenehmer.


    Ich wundere mich eben, weil es früher (bis Ende 2017) schonmal so war und es sich dann nach einem der Updates geändert hat, ob es dafür einen Grund gab/gibt oder ob das eigentlich unbeabsichtigt verändert wurde.


    Vielleicht findest Du ja eine Erklärung dafür oder eine Möglichkeit, wie man das (wieder) ändern kann... ;)


    Viele Grüße - Harald

  • Dann braucht es wohl noch eine Einstellung "Auto", anzeigen wenn etwas da ist, ausblenden wenn leer.


    Am besten wäre, Du baust etwas in einem Testshop zum Anschauen und dann schicken wir den Entwicklern Deinen Link, damit die entscheiden können, ob die das einbauen wollen, ob das gewollt war oder nicht, usw.


    Grüße
    Stefan

  • Hier ist z.B. ein solches Produkt der Anfangstage:


    https://testshop.muvcom.de/ind…nge/greifling-eule-detail


    Die Felder Einstiegsalter und Material sind bei diesem Hersteller erst später eingefügt worden, deshalb werden die Felder bei älteren Produkten jeweils leer angezeigt, lieber wäre mir, dass sie einfach gar nicht angezeigt werden, bis etwas eingetragen wurde.


    Bei neuen Produkten ist das kein Problem, weil man dann entweder gleich was einträgt oder das Feld auf disable setzt, wenn es keinen Wert/Text für dieses Feld gibt.


    P.S.: Ich habe mir im Sommer ein paar Bücher, auch für PHP, gekauft und auch schon ein bißchen probiert, aber aktuell habe ich kaum Zeit da weiter zu machen... ;)


    Bei den ersten ca. 500 Produkten steht aber zumindest in diesen recht neuen Feldern noch nirgends was drin und ich finde es eben unschön, dass die leeren Felder angezeigt werden.

  • Servus, interessantes Problem. Also ich kenne es teilweise und habe etwas ähnliches erst gestern gefixed.


    Ich habe ein suchbares Customfield erstellt und das in ein Patternprodukt eingetragen (unveröffentlichtes Stammprodukt) und die leere Option tauchte im Dropdown auf.


    Also das ist in der Tat nicht so trivial wie es scheint in deinem Fall. Beispiel, man hat ne List von specs, die soll immer gleich aussehen, jeder kennt es, daß da mal Werte nicht eingetragen sind. Bzw nur X da steht für "ist vorhanden". Ich glaube daher sieht man auch die leeren. Denn sonst zerhauts einen ja das Format.


    Tja und wie jetzt die leeren verstecken? Gleich keinen Wrapper zeigen? oder nur im Wrapper nix zeigen. ich plädiere "gleich keinen Wrapper zeigen" und ne extra param im customfield, so kann man es wählen.


    Wäre ne Membership.


    Oder als override in customfield.php (sublayouts) unter case 'M' also line 445 einfach das einsetzen


    if(empty($customfield->customfield_value)) continue;


    müsste reichen.

  • Hallo Milbo,


    danke für Deine Antwort. Leider verstehe ich nicht so wirklich was Du meinst.


    Vor allem verstehe ich aber nicht, warum da jetzt eine Änderung am Shop nötig sein soll, weil es ja bis zu einem Update Ende 2017 schonmal so war. Es ist ja auch bei den anderen Fields in Joomla, z.B. bei den Kontakten so, dass nur die selbsterstellten Felder angezeigt werden, in denen auch was drin steht.


    Das erspart eine Menge Arbeit, wenn man ungenutzte Felder nicht in jedem einzelnen Produkt ausblenden muss, ganz besonders natürlich dann, wenn bei bestehenden Produkten nachträglich Felder dazu kommen, z.B. weil man sie im Patternprodukt nachträglich einfügt.


    Viele Grüße - Harald

  • Was Milbo meint, ist schnell erklärt.


    1. In Deinem Fall ist es gewünscht, dass die Selbsterstellten Felder nicht angezeigt werden.


    2. Es kann genauso erwünscht sein, dass die Selbsterstellten Felder immer angezeigt werden.
    Zum Beispiel, wenn man Produkte vergleichen möchte, ist es wichtig, immer alles Felder zu haben, die möglich sind, damit diese im Vergleich nebeneinander stehen.


    Die bisherige Lösung sieht Fall 2 vor. Fall 1 kann durch eine einzeilige Änderung, wie oben beschrieben, erzeugt werden.


    Milbo bietet an, einen Schalter in die Custom Fields einzubauen, mit dem man das individuell schalten kann. Das ist aber nicht ganz einfach. Solche gewünschten Features werden schon seit längerer Zeit bevorzugt eingebaut, wenn sich jemand bereit erklärt, mit einer Supporter-Mitgliedschaft diese Features zu sponsorn.


    Eine Mitgliedschaft kann man in den extensions.virtuemart.net kaufen:
    https://extensions.virtuemart.…pporter-membership-detail


    Soweit zu dem, was Milbo oben sagte, ich möchte aber auch noch etwas zur Support-Mitgliedschaft sagen:


    Das Projekt lebt von der Nutzergemeinschaft, und die Programmierer leben von diversen Einnahmen, die sich unter anderem aus Support-Mitgliedschaften zusammensetzen. Je mehr Unterstützer es gibt, desto mehr kann aktiv im VirtueMart Core entwickelt werden.
    Wenn nicht genug zusammenkommt, müssen die Entwickler entweder hungern, oder sich auf andere Arbeit konzentrieren, und die direkte Arbeit an VirtueMart vernachlässigen.


    Deshalb ist es eine gute Idee für VirtueMart-Betreiber, deren Shop ansehnliche Einnahmen beschert, diese Support-Mitgliedschaft auch OHNE einen Feature-Einbau zu wählen. Ich finde diese Lösung sehr gut, weil man im Grunde mit Null Ausgaben für das Shop-System in Ruhe einen Shop aufziehen kann. Wenn man anfängt, hat man oft kaum Reserven für teure Lösungen.


    VirtueMart ist eine vollwertige Shoplösung, die in vielen Bereichen besser ist, als teure Shop-Software. Dennoch überlässt VirtueMart es dem Shop-Betreiber selbst, den Erfolg zu teilen oder auch nicht. Fair ist es, ein wenig zu sponsorn, wenn der Erfolg da ist.


    Grüße
    Stefan


    PS. Nein, ich bekomme keine Prozente von den Support-Mitgliedschaften. Aber ich freue mich, wenn VirtueMart mit der freien, offenen Philosophie weiterhin "gesund" bleibt.

  • Hallo Stefan,


    vielen Dank für Deine klärenden Worte!


    Meine Ausgangsfrage danach, ob es einen bestimmten Grund dafür gibt, warum die leeren Felder auch angezeigt, werden ist somit beantwortet.


    Ich warte dann auch gerne auf den neuen Schalter, ich hatte befürchtet, ich muss den selber einbauen. Dazu reichen meine aktuellen Kenntnisse aber definitiv noch nicht aus.


    Auch wenn es manchmal vielleicht anders aussieht: Ich bin sehr zufrieden mit VirtueMart UND mit der Unterstützung hier!


    Ich hatte vorher 2 Mal fertige, gekaufte Shopsoftware, da gab es überhaupt keine Chance, Dinge zu ändern oder anzupassen, die einem nicht gefallen haben, viele Möglichkeiten gab es sogar gar nicht erst (mehrere Preise, mehrere Bilder, Gutscheine, etc.). Hier scheitere ich selbst höchsten an meinen mangelnden Kenntnissen...oder muss eben warten, bis es realisiert/geändert wird... ;)


    Bisher habe ich 2 oder 3 kostenpflichtige Plugins/Erweiterungen dazu gekauft, wobei die Preise sich in einem sehr angenehmen Rahmen halten und sich die Käufe bisher alle gelohnt haben!


    Alles in Allem bin ich also auch mit dem Finanzierungsmodell durchaus einverstanden, auch wenn sich meine Einnahmen durch den Shop derzeit noch sehr in Grenzen halten...aber das ist ja mein "Problem" und ein anderes Thema... ;)


    Viele Grüße - Harald

  • Ja, oder halt Bronze. Die Werbung dazu siehst du ja auch im VirtueMart Adminstrator Bereich (oder BE bzw Backend). Da gibts auch einen Link dazu, mit Beschreibung. Wenn man die Membership kauft und den Schlüssel einträgt, wird das ganze Grün, mit Support knopf, etc,...