"Custom fields" als mehrspaltiges Design nutzen oder Alternativlösung gesucht

  • Moin Joomlaner,


    ich suche eine Möglichkeit, die mir folgende Lösung bietet:


    Formulare zur Eingabe von Informationen im Backend, custom fields wäre da genau das, was ich suche ... oder etwas Vergleichbares

    ABER ...

    die Ausgabe meiner ausgefüllten Backendfelder sollte im Frontend mehrspaltig nebeneinander erscheinen.

    Von Haus aus setzt custom fields alle Felder brav untereinander. In meinem Fall wären so 3 oder 4 Spalten mit Feldern nebeneinander schöner.

    So dass man z. B. hinterher 4 Themen untereinander hat, 4 andere Themen parallel daneben und wieder 4 andere ausgefüllte Felder daneben, halt mehrspaltig angezeigte, ausgefüllte Custom Fields im Frontend. Weiß jemand, wie ich dieses Ergebnis erziele? Falls es mit irgendeiner Komponente, Plugin etc. einfacher ist, wäre das auch okay aber custom fields find ich schon gut.


    Vielen Dank im voraus, Snafu

  • Im Frontend soll es nur eine Art tabellarische Ansicht sein, in die auch niemand etwas einträgt, die wird dem Frontendbesucher also lediglich angezeigt und mehr nicht. Er wird zu keiner Interaktion aufgefordert. Der Backend-Admin füllt quasi beispielsweise im Backend 20 Felder aus (im BE können die 20 Felder auch gern alle untereinander stehen) - nur im Frontend sollten die 20 Begriffe, die der Admin via Custom Fields eingetragen hat, dann in mehreren Spalten nebeneinander stehen, z. B. 5 Begriffe in Spalte 1 untereinander, 5 Begriffe daneben in Spalte 2, untereinander, 5 Begriffe daneben in Spalte 3 untereinander und daneben 5 Begirffe in Spalte 4, untereinander.


    Ziel ist, dass man nicht für viel Textinhalt runtersrollen muss, sondern dass der Frontendbesucher die 20 individuell vom BE-Admin eingegebenen Begriffe möglichst auf einem Blick, sehen kann.

  • Ich kann dir aus Zeitgründen für den Moment nur das sagen:


    - Dreh und Angelpunkt für die Ausgabe der Felder sind die JLayouts

    /components/com_fields/layouts/fields/render.php

    und

    /components/com_fields/layouts/field/render.php


    - Für diese kann man in seinem Template Overrides anlegen. Auch welche, die dann z.B. nur für Beiträge gelten.


    - Man kann Feldern im Backend auch Ausgabe-CSS-Klassen zuweisen. Weiß nicht, ob hilfreich.


    Weiteres ist dann abhängig von dem Template, z.B. welche Bootstrap-Version es verwendet oder irgendwas anderes als Bootstrap, damit man diese Mehrspaltigkeit hinbekommt. Das Ganze soll dann ja sicherlich auch responsiv sein.

  • Eventuell auch nützlich:


    https://www.dev-insider.de/cus…ds-in-joomla-37-a-615010/


    https://www.hosteurope.de/blog…tom-fields-ein-dreamteam/


  • Vielen Dank für die bestimmt nützlichen Hinweise, ich gehe denen mal nach und melde mich hier zeitnah, ob ich es damit gelöst bekomme - oder ob ich irgendwo nicht weiter weiß!


    Besten Dank schonmal bis hier!!!

  • Dank eures Hinweises habe ich nun herausgefunden, dass ich durch einen Wert in den Feldklassen (im Backend), 3 Spalten erzeugen kann. In meinem Fall gebe ich hier in die Feldklassen den Wert col-md-4 ein (Template Jumbotron). Einziger Schönheitsfehler, die Zeilenabstände in der Frontend-Ansicht sind noch recht hoch. Sieht aus, als wenn man bei Word mit einem Zeilenabstand von 180% arbeiten würde.


    Weiß hier zufällig jemand, wie ich den Zeilenabstand für die Ansicht im Frontend - meiner Custom Fields verringern kann, auf z. B. nur 80% ?

    Wäre das auch hier > /components/com_fields/layouts/field/render.php ... einzustellen? Oder wie/wo mach ich das?


    Vielen Dank und viele Grüße!

  • Hier ist der (aktuelle) Link:


    https://aog-customers.de/osmakler2021/immobilien-angebote


    Wenn du da runterscrollst, siehst du, dass ich es mit 3 Spalten immerhin geregelt bekomme, ABER ... die Zeilenabstände sind eben fast so weit auseinander, als würde man immer eine Zeile dazwischen leer lassen.


    Im Backend habe ich unter Optionen bei Eingabemaske-Optionen und Ausgabe-Option, jeweils bei Feldklasse folgendes eingetragen: col-md-4

    Hab aber auch schon einige Optionen mit anderen Werten probiert und auch col-md-4 nicht jeweils immer in beiden Feldern: Eingabe u. Ausgabe einzutragen ... Automatische Anzeige: Nach Inhalt


    Sowohl die render.php unter components/com_fields/layouts/field als auch unter fields hab ich geöffnet - aber wusste hier leider nicht, was ich da im Quellcode ändern muss, um den Zeilenabstand zu verkleinern.

  • Hallo,


    Da Du folgendes eingetragen hast: col-md-4 sehe ich in der custom.css, Zeile 44

    Code
    .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
        padding-bottom: 1em;
    }

    Man könnte es ändern auf (extra Zeile) in die custom.css eingeben:

    Code
    .col-md-4 {
    padding-bottom: 0;  
    }

    wäre temporär so:


    Aber: würde wahrscheinlich alle .col-md-4 betreffen.


    Würde einen anderen Klassen-Namen reingeben & diesen dementsprechend formatieren.


    Liebe Grüße

    Christine

  • Würde einen anderen Klassen-Namen reingeben & diesen dementsprechend formatieren.

    oder eventuell einen weiteren Klassen-Namen ergänzen

    also statt

    alt:

    Im Backend habe ich unter Optionen bei Eingabemaske-Optionen und Ausgabe-Option, jeweils bei Feldklasse folgendes eingetragen: col-md-4

    neu:

    col-md-4 meinekleinenfelder

    und in der custom.css am ende z.B.:


    Code
    .col-md-4.meinekleinenfelder {
    padding-bottom: 0px;  
    }

    oder z.B.:


    Code
    dd.col-md-4.meinekleinenfelder {
    padding-bottom: 0px;  
    }
  • Hey super, danke euch! Ich habe es mal um den Code und den dementsprechenden Feldgruppeneintrag für


    .col-md-4.spacer {

    padding-bottom: 1px;

    }


    ergänzt. Jetzt passt es. Super, vielen Dank!!!!!!

    "By the way" eine letzte Frage hierzu: Weiß jemand von euch zufällig, wo man die von mir gesetzten Begriffe (bis zum Doppelpunkt) in bold setzen kann? (Bis Doppelpunkt bold, den Feldeintrag selbst als normale Schrift so lassen)

    Ein Beispiel:

    Art des Objektes: Studentenwohnung

  • Heute wollte ich daran weiterarbeiten, habe nur ein Wort geändert und nun sind die Begriffe seitlich vertauscht. Also bislang stand dort z. B.


    Art des Objekts: Studentenwohnung


    Jetzt steht da aber: Studentenwohnung Art des Objekts:


    Ich hatte nur ein Wort geändert und dann wieder rückgängig gemacht, außerdem hatte ich ein Joomla Update gemacht.

    Leider weiß ich nicht, ab wann genau er jetzt anfing, die Tabelle falsch rum anzuzeigen.


    Wie bekomme ich das wieder richtig rum? Ich finde gerade keine Option in den Einstellungen im Backend.

    Die Stichwörter (das Fettgedruckte) soll selbstverständlich immer links stehen, so wie es schon war.


    Falls es wer weiß, vielen Dank für eure Hilfe.

  • Weiß hier zufällig jemand, wie ich den Zeilenabstand für die Ansicht im Frontend - meiner Custom Fields verringern kann, auf z. B. nur 80% ?

    Wäre das auch hier > /components/com_fields/layouts/field/render.php ... einzustellen? Oder wie/wo mach ich das?


    Hast du die Datei render.php vielleicht geändert? Sieht sie noch so aus, wie hier: joomla-cms/render.php at 3.10-dev · joomla/joomla-cms (github.com)


    Insbesondere der letzte Teil


    PHP
    <?php if ($showLabel == 1) : ?>
        <span class="field-label <?php echo $labelClass; ?>"><?php echo htmlentities($label, ENT_QUOTES | ENT_IGNORE, 'UTF-8'); ?>: </span>
    <?php endif; ?>
    <span class="field-value <?php echo $renderClass; ?>"><?php echo $value; ?></span>


    bestimmt, die Anzeige des Labels vor dem Wert, wenn die Anzeige des Labels in den Optionen aktiviert ist.


    Oder nutzt du ein Override , in dem die Anzeige des Labels und des Wert vertauscht ist?

  • Hey Astrid,


    an der render hab ich nichts geändert. Auch erst nicht an der css-Datei. Allerdings hab ich im css im nach hinen was an ...


    dd.col-md-4.meinekleinenfelder {

    padding-bottom: 0px; geändert, und eine neue Tabelle erstellt, dann ging es auf einmal. Den genauen Fehler konnte ich nicht erkennen.

    }

    Aber vielen lieben Dank dir für die Hilfe.

    Jetzt muss ich nur noch herausfinden, wie ich mein Breezingforms-Formular darunter anzeigen lassen kann ... aber dafür habe ich ein neues Thema erstellt, will hier die Themenordnung wahren :)


    Viele Grüße, Snafu