form:time Taglib - einfach Zeitfelder einbinden

Dieser Bereich dient dazu, eure Tricks und Erweiterungen vorzustellen, damit diese auch andere Anwender nutzen können. // This area can be used to publish your tricks and extensions to the APF to be used by other developers.
Benutzeravatar
dr.e.
Administrator
Beiträge: 4538
Registriert: 04.11.2007, 16:13:53

Re: form:time Taglib - einfach Zeitfelder einbinden

Beitrag von dr.e. » 27.02.2011, 21:51:31

Hallo Werner,

sorry, den Post hatte ich nicht mehr im Kopf. Habe den Effekt analysiert und er hängt mit einer Einschränkung des Parsers zusammen, dass die Tag-Namen nur durch Leerzeichen zu ihren Attributen getrennt sein dürfen. Ansonsten müsste der Tag-Parser mit regulären Ausdrücken arbeiten und wäre um Welten langsamer. Das wirkt sich in diesem Fall deshalb aus, da immer zuerst nach dem exakten String des Tags gesucht wird und daher ein

Code: Alles auswählen

<form:time
auch in einem

Code: Alles auswählen

<form:timecaptcha
vorkommt. Schaust du dir den Benchmarker dazu an, sieht man auch 2x ein
(html_taglib_form) ***::__Children[(form_taglib_time) ***]::onParseTime()
und
(form_taglib_time) ***::transform()
Aus diesem Grund muss natürlich die längere Tag-Definition an den Anfang gestellt werden - völlig korrekt bemerkt! :roll:

Diese Einschränkung mag natürlich jetzt problematisch erscheinen jedoch ist sie eine Grundlage der Implementierung des Tag-Parsers Page-Controllers und ein "Geheimnis" der guten Performance des APF. Ich würde daher ungerne darauf verzichten. Die notwendige Anpassung habe ich im SVN getroffen (Commit #1228), wir sollten dieses für die Formulare daher nicht wieder haben.
Viele Grüße,
Christian

welworx
Beiträge: 620
Registriert: 27.09.2010, 19:29:44

Re: form:time Taglib - einfach Zeitfelder einbinden

Beitrag von welworx » 28.02.2011, 02:16:05

Geheimnis
.. ah so ist das also .. tricksen wo es geht :D
Hauptsache es funktioniert!

Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: form:time Taglib - einfach Zeitfelder einbinden

Beitrag von jwlighting » 06.03.2011, 20:59:14

Hallo,

toll, wieder etwas, dass das APF bereichert und lohnenswerter macht!

Kann man sich hier nicht das __appendZero() sparen, und statt date('G') date('H') verwenden?

Code: Alles auswählen

// preset today's time on startup
        if (!isset($_REQUEST[$name])) {
            $hours->setOption2Selected($this->__appendZero(date('G')));
            $minutes->setOption2Selected($this->__appendZero(date('i')));
            if ($this->__ShowSeconds != false) {
                $seconds->setOption2Selected(date('s'));
            }
            // end if
        }
http://de3.php.net/manual/de/function.date.php

LG :)

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4538
Registriert: 04.11.2007, 16:13:53

Re: form:time Taglib - einfach Zeitfelder einbinden

Beitrag von dr.e. » 06.03.2011, 21:09:39

Für's presetting hast du Recht, allerdings für die übrigen Fälle ist das nicht so einfach. Was man jedoch schöner implementieren könnte ist der Inhalt der Methode. Dort wäre ein sprintf() einfacher. Ich baue das bei Gelegenheit mal an. :)
Viele Grüße,
Christian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4538
Registriert: 04.11.2007, 16:13:53

Re: form:time Taglib - einfach Zeitfelder einbinden

Beitrag von dr.e. » 12.03.2011, 12:34:51

Anpassung ist eingebaut und in 1.14 eingecheckt.
Viele Grüße,
Christian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast