Beiträge von LukasHH

    Ich denke mit einem Plugin wäre das nicht so sinnvoll. Ein Modul wäre aus meiner Sicht besser geeignet. Das Modul könnte Felder jeweils für HTML, CSS und JS beinhalten, in denen man seinen Code einträgt. Im Beitrag dann mit {loadmoduleid xx} die Ausgabe steuern. Vorteil wäre, das Du mehrere verschiedene anlegen kannst. Als Anhalt für solch ein Modul könnte das mod_custom sein.

    "Only Use In Subform

    Das heißt lediglich, dass das Feld nur in der Subform angezeigt werden soll. Mittels der Subform kannst Du Felder gruppieren, die zusammengehören und dynamisch in der Anzahl hinzugefügt werden können.


    Ganz unten habe ich das Subform definiert und darüber sind die 2 Felder, die in der Subform enthalten sind.


    Im Beitrag, wenn ich den erstelle sieht das dann so aus:


    Über das Feld "Media" kann man ein Bild auswählen, aber keinen Ordner. Durch die Subform, kann man mehrere Bilder individuell angeben.


    Im Frontend werden die Bilder als Liste ausgegeben, daher sollte man dann noch entsprechend ein Override erstellen, um die Anzeige im Frontend zu optimieren.

    Ich habe jetzt mal zwei PR erstellt. Wer mag, kann gerne einmal testen und Feedback geben, welches die bessere Alternative ist.


    1. Lösungsansatz - das Calendar Form Field belassen

    Release 4.0.4-alpha · LukasHH/mod_itcs_reservation_calendar
    This is the alpha-version for testing the issiu #3 . See the Pull Request #5 for test.
    github.com


    2. Lösungsansatz - eigenes Form Field (Datum) auf Basis des HTML5 <input type="date">

    Release 4.0.4-alpha1 · LukasHH/mod_itcs_reservation_calendar
    This is the second Test-Version to Fixes #3 See the Pull Request #4 for test.
    github.com

    Wenn ich es richtig sehe kann ich Felder immer nur einmal innerhalb eines Beitrags mit Daten befüllen und beim nächsten Mal würde ich die Überschreiben anstatt zu ergänzen.

    Du kannst Die Felder auch in einem Subform-Feld hinzufügen, dann kannst Du auch mehrere Einträge in einem Beitrag hinzufügen.
    Wenn Typ/Modell gleich bleibt, dann kannst Du es auch separat mit dem Subform und nur innerhalb des Subform, die anderen beiden Felder.

    Das Phänomen tritt scheinbar hauptsächlich auf, wenn in der Joomla-Konfiguration eine Zeitzone eingestellt ist.


    In der XML der Subform ist beim Calendar-Field filter="server_utc" hinzugefügt, da ansonsten das Datum mit Uhrzeit des Servers gespeichert wird. Gerade unter Joomla 4 wird immer die aktuelle Uhrzeit +/- mitgespeichert. Unter Joomla 3 scheint es etwas anders zu sein, da immer von 00:00 Uhr ausgegangen wird.

    Ich habe jetzt 2 Lösungsansätze und bin mir noch unschlüssig, welcher der bessere wäre:


    1. Lösungsansatz - das Calendar Form Field belassen


    Beim Auslesen und weiter verarbeiten der gespeicherten Daten (in der helper funktion), das Datum mit dem nachfolgenden Code in das ursprünglich gewählte Datum umwandeln.

    PHP
    // erstelle aus dem String ein Datum
    $cal_day = new Date($item->cal_day, new \DateTimeZone('UTC'));
    
    //weise die Zeitzone aus der Joomla-Konfiguration zu
    $cal_day->setTimezone(new \DateTimeZone(Factory::getConfig()->get('offset')));
    
    // setze die Uhrzeit auf 00:00 Uhr
    $cal_day->setTime(0, 0, 0);


    2. Lösungsansatz - eigenes Datum Feld erstellen


    Ich habe ein eigenes Form-Field auf Basis des HTML5 Element erstellt, welches nur das Datum und unabhängig von den Zeitzonen speichert.

    HTML
    <input type="date" id="date" name="date">

    Damit es jedoch durch das Calendar-Field ersetzt werden kann, muss man vorher eine mögliche Uhrzeit herausnehmen, so dass als Value-Wert nur das Datum in Form von "YYYY-MM-DD" übergeben wird.

    Was meint Ihr, was der bessere Lösungsansatz wäre?
    Oder gibt es noch etwas ganz anderes?

    Ich denke, damit bist Du sehr gut bedient. Von dem was Ihr braucht, könnte man vieles mit Joomla selbst machen. Nur halt für die Listenfunktion mit Filter und Download, müsste schon mindestens eine Erweiterung her. Bei dem was nett wäre, das wären dann weitere Erweiterungen. Ich glaube, das hat Wicked auch mit drin.

    Wenn Ihr die Mitglieder als Benutzer anlegt, dann können die Ihr Profil auch selbst ändern. Hat auch den Vorteil, dass Ihr einen internen Mitgliederbereich aufbauen könnt. Das haben wir auf unserer Vereinsseite ebenfalls. Da wir eine separate Vereinsverwaltung haben, habe ich ein Plugin im Einsatz, welches uns automatisch informiert, wenn jemand Änderungen an seinem Profil (Adresse o.ä.) vorgenommen hat. Aber das brauchst Du bei Wicked nicht.

    Frage am besten den Entwickler, die sind sehr nett und hilfsbereit. Übrigens, wenn Du zum JoomlaDay 2022 kommst, dann kannst Du ihn auch persönlich kennenlernen. Soweit ich weiß ist er immer dabei. :)

    Moin moin,

    in meinem Modul "Simple Reservation Calendar" verwende ich in einer Subform XML das Calendar Form Field.

    mod_itcs_reservation_calendar/subform.xml at main · LukasHH/mod_itcs_reservation_calendar
    This modul create a simple reservation calender. It is developed for Joomla 4 and can be used under Joomla 3.10. - mod_itcs_reservation_calendar/subform.xml at…
    github.com


    Das Modul hatte ich vor einiger Zeit angepasst, dass es unter Joomla 3.10.x und unter Joomla 4.x lauffähig ist. Allerdings habe ich immer wieder Probleme mit den gespeicherten Datum-Angaben, da das Form-Field immer eine Uhrzeit mit speichert.


    Ich habe herausgefunden, dass sich beim Speichern der Daten Joomla 3 und Joomla 4 unterschiedlich verhalten. Ich habe das Modul jeweils auf beide Joomla Versionen installiert und zur selben Zeit die gleichen Tage eingestellt. In der globalen Konfiguration von Joomla ist Berlin als Zeitzone eingestellt, was aktuell +2h zur UTC Zeit bedeutet.


    Nachdem ich (fast zur selben Zeit) jeweils den 05.09.2022 ausgewählt hatte, werden die Daten wie folgt gespeichert.

    In Joomla 3 wird gespeichert: 04.09.2022 22:00:00

    In Joomla 4 wird gespeichert: 05.09.2022 07:25:13

    Gibt es eine Möglichkeit dem Calendar Feld beizubringen, dass nur das gewählte Datum gespeichert wird? Unabhängig von den Zeitzonen und Uhrzeit?

    Macht es eher Sinn ein eigenes Form-Field (HTML5 input type=date) zu erstellen?
    bisher noch nicht vorhanden: https://github.com/joomla/joomla-cms/pull/37456
    Mein Test: https://jsfiddle.net/LukasHH/4pqw0o58/

    Für J3 hatte ich mal ein Override beschrieben, wie man die Bereiche in Tabs darstellen kann. Auf der gleichen Weise funktioniert das auch unter J4.
    https://www.j-over.de/de/templ…rofil-darstellung-in-tabs

    Ich habe das für unsere Vereinswebseite. Da ist das Benutzerprofil komplett aus Custom-Fields. Die Felder sind einer Feldgruppe zugewiesen und die Feldgruppe wird dann im Frontend genauso wie im Backend in einzelnen Tabs dargestellt.

    Man muss an den entsprechenden Stellen die nachfolgenden Zeilen einfügen

    PHP
    <?php echo HTMLHelper::_('bootstrap.startTabSet', 'usersprofile', array('active' => 'core')); ?>
    
    <!-- startet ein Tab -->
    <?php echo HTMLHelper::_('bootstrap.addTab', 'usersprofile', $group, JText::_($fieldset->label)); ?>
    <?php echo HTMLHelper::_('bootstrap.endTab'); ?>
    <!-- beendet ein Tab -->
    
    <?php echo HTMLHelper::_('bootstrap.endTabSet'); ?>

    Das habe ich noch nicht ausprobiert, da ich andere Sachen zum Download anbiete. Ich denke aber, dass es über das "Preview" möglich ist. Das können zwei Verschiedene Dateien sein. Im Preview eine abgespeckte und zum Download die Vollversion sein. Preview kann dabei immer sichtbar sein, während der Download selbst eingeschränkt werden kann.