Coder Social home page Coder Social logo

yakamara / yform Goto Github PK

View Code? Open in Web Editor NEW
77.0 13.0 55.0 6.59 MB

YForm für REDAXO 5 – Formulare im Frontend und Backend mit Verwaltung von Datenbank-Tabellen.

License: MIT License

PHP 87.65% CSS 1.38% JavaScript 10.05% SCSS 0.92%
redaxo form form-builder php table-manager

yform's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yform's Issues

be_manager_relation

  • Javascripts funktionieren nicht
  • Wird als Typ ein "select" ausgewählt, kommt in der Datentabelle folgende Meldung: Die Tabelle wurde nicht gefunden

Values anderst sortieren

Ho!

Ich würde die Values von YForm anderst sortieren. Entweder generell anderst, so dass Eingabefelder, Dropdowns, Checkboxen und andere reguläre Formular-Elemente als erstes in der Liste stehen, oder so dass man die Optionen in den Einstellungen einfach via Drag&Drop sortieren kann.

Als Nice2Have könnte man die Sortierung dann als JSON exportieren / importieren, damit man das nicht in den anderen Installationen jedes Mal neu einstellen muss.

Aktuell ist es einfach etwas lästig bis man "Text" findet.

dragndrop

Die grünen Pfeile symbolisieren die Drag&Drop Geschichte :)

InnoDB / MyISAM

Yform legt Tabellen in MyISAM an. Sollte aber hier wohl in InnoDB sein.

Tableset importieren

Bekomme folgende Meldung, wenn ich das Test-Tableset verwende.

Es wurde keine Datei verwendet

Zuordnung von CSS-Klassen auf Felder

Wenn eine Class ausgewählt wird, wird diese dem Wrapper, z.B. form-group zugeordnet. Wenn man z.B. Redactor einsetzen will ist das nicht möglich. redactorEditor-full wird nicht dem Textfeld zugeordnet sondern dem Wrapper.

TableManager: be_medialist Felder ohne types nicht befüllbar

Wenn keine Dateitypen bei einer Medialist angegeben werden, ist der das Argument types leer. (&args[types]=&)
Daraus folgt, dass die Dateiliste im Mediapool immer leer ist, da der Parameter ja gesetzt ist.

Für mich habe ich das nun erstmal sehr notdürftig (und auf die Schnelle) in der Datei /redaxo/src/addons/yform/plugins/manager/ytemplates/bootstrap/value.be_medialist.tpl.php angepasst:
`<?php
$buttonId = $counter;
$params = [];
$name = $params['name'] = $this->getFieldName();
$value = $params['value'] = htmlspecialchars($this->getValue());
$categoryId = $params['category'] = intval($this->getElement(4));
$preview = $params['preview'] = $this->getElement(3);
$types = $params['types'] = trim($this->getElement(5));
if (!$params['types']) {
unset($params['types']);
}

$widget = rex_var_medialist::getWidget($buttonId, $name, $value, $params);
`
Das müsste ich noch genauer untersuchen, ob das reicht. Dann würde ich u.U. noch einen Pull-Request zusammenstellen.

Attribute für Inputfelder

Es wäre super, wenn es eine Möglichkeit gäbe, die Attribute (z.B. required, disabled, data usw.) und Klassen mit letztem Parameter für alle Inputfelder (auch Checkboxen und Radios) zu vergeben. Zur Zeit geht das nur mit "required" und "placeholder".

Reload im Modul

Ho!

Wenn ich im Modul auf eine der Value-Optionen klicke, lädt Redaxo via PJAX die Seite neu. Ich weiß nicht was hier geplant ist, aber cool wäre es wenn die Optionen dann direkt in das Textarea eingefügt werden. Vielleicht ist es das ja schon und wird nur durch PJAX unterbrochen.

lg Sascha

Wunsch: custom Ordner für value und ytemplates

Mir ist aufgefallen, dass nach einem Update auch selbst hinzugefügte VALUE und Ytemplates gelöscht werden. Ich würde mich über eine Lösung zur Ablage von eigenen Templates und Values freuen, die nicht bei einem Update überschrieben oder gelöscht werden.

/showtext.php - Textile Ausgabe

Falsch?

  if ($this->getElement(5) == '2') {
            $text = htmlspecialchars_decode($text);
            $text = str_replace('<br />', '', $text);
            $text = str_replace('&#039;', '\'', $text);
            $text = rex_a79_textile($text);
        }

YForm übergibt zu viel Information an die Action

Ho!

Wenn ich eine Action definiere in YForm und die ausführe, hat der Parameter viel zu viel Information doppelt und dreifach.

action|callback|MeineKlasse::methode

Das ist ein RAM-Killer und relativ umständlich zu nutzen. Der Output von nur einem Objekt ist mehrere tausend Zeilen lang wenn man ein paar Input-Felder definiert hat.

GUI

Die Eingabe wäre sicher benutzerfreundlicher, wenn der User via Drag&Drop die Eingabe-Widgets in ein Area ziehen und Sortieren kann. Mit einem Klick auf das Widget würde sich ein Layer/Overlay oder Accordion öffnen, in dem Optionen definiert werden wie Name, Titel, viele weitere Standard-Parameter und dann pro Widget eben für das Widget wichtige Parameter.

Das ganze würde dann als JSON gespeichert statt mit Pipe getrennt.

Hier wäre ein Beispiel - viel zu übertrieben aber so in etwa eben - http://formoid.com/

Und hier habe ich vor einiger Zeit mal einen Formulargenerator gebaut der mit solchen Daten arbeiten kann: https://github.com/Sioweb/Formulargenerator - als Beispiel wie der PHP-Code aussehen könnte. Der Generator ist enorm flexibel.

#disabled:disabled -> submit = value leer

Sofern ich disabled nutze wie z.B.:

text|OfferingTyp|Typ|Hallo||#disabled:disabled

erhalte ich nach dem senden des Formulars:

sprich das value ist leer..

Wenn ich das disabled weg lasse funktioniert alles wie gewünscht.

historie mit aufnehmen

so dass man datensaetze zurücksetzen kann oder änderungen zurückverfolgen kann, optional aktivierbar.

Beispielmodul "YForm Formbuilder"

Im "Backend Modul-Output" werden die Formulare gerendert. Hier sollte vielleicht nur eine Übersicht der gewählten Einstellungen dargestellt werden. (Oder irgendein Text "Ausgebe im Frontend").

LG
Oliver

Installer Error yform 1.0-beta3

Wollte gerade via Installer von beta2 auf beta3 updaten:

InvalidArgumentException thrown in /me/full/path/redaxo/src/core/lib/util/finder.php on line 50
Folder "/me/full/path/redaxo/src/addons/yform/data" not found!

#0 /me/full/path/redaxo/src/core/lib/util/dir.php(71): rex_finder::factory('/is/htdocs/wp11...')
#1 /me/full/path/redaxo/src/addons/.new.yform/update.php(3): rex_dir::copy('/is/htdocs/wp11...', '/is/htdocs/wp11...')
#2 /me/full/path/redaxo/src/core/lib/packages/package.php(226): include('/is/htdocs/wp11...')
#3 /me/full/path/redaxo/src/addons/install/lib/api_package_update.php(57): rex_package->includeFile('../.new.yform/u...')
#4 /me/full/path/redaxo/src/addons/install/lib/api_package_download.php(40): rex_api_install_package_update->doAction()
#5 /me/full/path/redaxo/src/core/lib/api_function.php(130): rex_api_install_package_download->execute()
#6 /me/full/path/redaxo/src/core/backend.php(131): rex_api_function::handleCall()
#7 /me/full/path/redaxo/src/core/boot.php(105): require('/is/htdocs/wp11...')
#8 /me/full/path/redaxo/index.php(9): require('/is/htdocs/wp11...')
#9 {main}

REDAXO 5.0.1
PHP 5.6.17

Ausgabe der Fehlermeldungen

1/
via Param bestimmen wo die Fehlermeldung erscheinen. Hintergrund: Manchmal schreibt man vor dem Formular noch html, damit es bei der Dankesmeldung nicht mit ausgegeben wird. Die Fehler sollten aber eigentlich zw. html und dem eigentlichen Formular dann erscheinen.

2/
Reihenfolge der einzelnen Meldungen. Aktuell erscheinen die einzelnen Meldungen alphabetisch nach der validate Klasse und dann wie die Values notiert wurden.
Bsp.:

text|surname|Nachname|
validate|empty|surname|empty Nachname
validate|preg_match|surname|/regex/|regex Nachname

text|firstname|Vorname|
validate|empty|firstname|empty Vorname
validate|preg_match|firstname|/regex/|regex Vorname

Ausgabe:

empty Nachname
empty Vorname
regex Nachname
regex Vorname

Besser wäre die Ausgabe wie die Validierungen selbst notiert wurden

empty Nachname
regex Nachname
empty Vorname
regex Vorname

Idee: Tabelle in Dashboard anzeigen

Außer RexSearch benutzt ja kein nennenswertes Addon aktuell das Dashboard so richtig. Aber wäre das Dashboard nicht ein klasse Shortcut für yform-Tabellen?

Ich stelle mir das so vor: Jede Tabelle bekommt in yform zusätzlich noch eine Checkbox "im Dashboard anzeigen", jedes Feld ein "im Dashboard anzeigen". So könnte man die Dashboard-Ansicht aufwerten, in dem man z.B. die letzten registrierten User, die letzten Mitteilungen, oder was auch immer Kunden oder Nutzer der Website gerade in eine Tabelle eingetragen haben.

(Dies ist auch ein Vorschlag im Hinblick auf das Thema beim Redaxo-Tag, sich mehr gute Funktionen von anderen CMS abzuschauen. Wordpress z. B. ist ja da ziemlich umfangreich in seinem Dashboard)

E-Mail Templates speichern / übernehmen

Hey,

wenn ich E-Mail Template erstelle wäre eine "Übernehmen" Funktion klasse.
Da ändere ich ja doch am Anfang recht viel und muss jetzt immer "speichern", hochscrollen(!) und editieren :-))

LG
Oliver

Captcha

Bei Verwendung des Captcha-Felds kommt folgender Fehler:

"ErrorException" thrown in .../redaxo/src/addons/yform/lib/yform/value/captcha.php on line 17
Fatal error: require_once(): Failed opening required '' (include_path='.:/usr/local/lib/php')

Noch $REX im Beispielmodul

Die Error-Mailadresse wird im Modul-Output noch als $REX['ERROR_EMAIL'] angegeben (an zwei Stellen), muss vermutlich ersetzt werden mit rex::getProperty('error_email').

Plugin: E-Mail / Templates

mit REX_YDATA[id="name" prefix="Name:"] Felder versehen, um die diversen Varianten abdecken zu können. Siehe REX_VARS

hidden field / REQUEST

Komischerweise wird ein "hidden" Field ohne "REQUEST" nicht im Quellcode ausgegeben:

Funktioniert nicht: hidden|hallo|welt||
Funktioniert: hidden|hallo|welt|REQUEST|

LG
O.

Fehlermeldung bei "compare" doppelt

Hier wird die Fehlermeldung von compare zwei mal ausgegeben:


password|password|Ihr Passwort:|
password|password_2|Password
||no_db|

validate|empty|password|Bitte geben Sie ein Passwort ein.
validate|empty|password_2|Bitte geben Sie das Passwort nochmal ein.
validate|compare|password|password_2|!=|Bitte geben Sie zwei mal das gleiche Passwort ein.|

Suchfunktion

Die Suchfunktion bei Table Manager-Tabellen zeigt keine als durchsuchbar gekennzeichneten Felder.
Nur der Suchen-Button selbst ist sichtbar.

relationstabellen werfen fehler

habe einen bug bei relationstabellen entdeckt. ich lege zwei normale tabellen (A,B) an und zusätzlich eine relationstabelle (C). in der relationstabelle (C) lege ich zwei be_manager_relation felder an, gebe als namen den tabellennamen inkl prefix der zu verknüpfenden normalen tabellen (A,B) an. ich lege in den normalen tabellen (A,B) jeweils ein be_manager_relation feld an, dort gebe ich als relationstabelle die dritte tabelle (C) an. beim hinzufügen von einträgen in einer der normalen tabellen (A,B) wird eine fehlermeldung ausgegeben (anbei), die relationstabelle wird nicht beschrieben. in rex4 mit XForm funktioniert es prima, in rex5 mit YForm gibt es das beschriebene problem. in der fehlermeldung steht noch etwas von "table rex_relation does not exist", sie existiert aber definitiv :)

bildschirmfoto 2016-04-23 um 16 32 01

geo plugin: "Übernehmen" klappt nicht

Ich habe gerade für Thomas Skerbis die Anbindung des Redactors im Tabellenmanager debugged und festgestellt, dass wenn man beim Bearbeiten eines Datensatzes auf "übernehmen" klickt die Karte nicht mehr funktioniert:

Uncaught ReferenceError: google is not defined

Dies liegt daran, dass die Google Maps (http://maps.google.com/maps/api/js?sensor=true) in dem Case nicht eingebunden wird. Übrigens wird der Parameter "sensor" nicht mehr benötigt.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.