Code Monkey home page Code Monkey logo

redaxo_yform_docs's People

Contributors

aeberhard avatar alxndr-w avatar andileni avatar cukabeka avatar darwin26 avatar dergel avatar dtpop avatar ediathome avatar elricco avatar geri2017 avatar goldfischpeter avatar hirbod avatar ingowinter avatar isospin avatar mc-pmoe avatar olien avatar omphteliba avatar polarpixel avatar ritzfritz avatar rotzek avatar skerbis avatar staabm avatar tbaddade avatar tobiaskrais avatar tyrant88 avatar ynamite avatar

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

Watchers

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

redaxo_yform_docs's Issues

Table Manager: be_manager_relation - Anzeigefeld falsch beschrieben

Feldname der Tabelle, dessen Werte als Select-Box oder im Popup angezeigt werden, bspw. name, title AS name oder CONCAT('id', ' ', 'name') AS name

Dort ist keine SQL-Syntax möglich, sondern es ist eine eigene. Man trennt die Felder einfach mit einem Komma, ohne CONCAT:
id, name

Konstante Strings setzt man in Anführungszeichen:
id, " ", name

Verwendet man als Anzeigefeld ein anderes Relationsfeld, wird dies aufgelöst, und dessen Anzeigefeld(-Kombi) genommen.

Beispiel: Wir haben eine Newstabelle mit einem Relationsfeld author_id. Dies hat als Anzeigefeld diese Kombi: firstname, " ", lastname
In einer anderen Tabelle gibt es nun ein Relationsfeld news_id wo man einen Newsartikel auswählen kann. In der Selectbox sollen die News im folgenden Format erscheinen: "Newstitel (Autor)".
Dazu notieren wir das Anzeigefeld so:
title, " (", author_id, ")"

YForm erkennt, dass author_id ein Relationsfeld ist, und löst es gemäß dessen Anzeigefeld auf (Vorname und Nachname).
Heraus kommt dann sowas wie "Redaxo 5.2 ist raus (Gregor Harlan)".

Diese Auflösung erfolgt rekursiv, also beliebig tief.

Umbau date / time / datetime

Formatierungen, Widgets (select oder inputfeld darstellung) mit attributen (z.b. Datepicker oder inputmask) verknüpfbar

MultiEdit-Mode

Mehrfachbearbeiten von Suchergebnissen nun möglich.

Man kann einzele Felder bearbeiten. Jeder Datensatz wird dann nur um diese Änderung ergänzt und durchläuft bei der Veränderungen den normalen Eingabeprozess. D.h. auch Validierungen werden geprüft und eventuelle Funktionen werden durchgeführt

Tabellen migrieren Howto

Slack

Frage: "Wie übertrage ich xform Tabellen (rex4) zu yform Tabellen (rex5)?"

Antwort: "xForm-Datenbank importieren, dann alle Felder löschen (die werden nur im Table Manager gelöscht, nicht in der Datenbank), dann Felder neu zuweisen. Und am besten gleich yForm 2.0 nehmen, denn da hat sich zu yForm 1.0 auch noch mal viel geändert."

Man sollte deutlicher machen, dass man Felder über den Table Manager problemlos löschen und neu zuweisen kann. Die Frage taucht hin und wieder auf (und mir war das früher auch nicht aufgefallen).

Mini ORM ergänzt

hier müsste Gregor schreiben wie man es ungefähr nutzt. Es gibt aber auch in den Issues bei yform ein paar Beispiele. Wenn man die Daten über dieses ORM verwendet, ziehen auch automatische die Historyfunktionen.

YORM::SNIPPET Formular holen

<?php 
// Für REDAXO CMS 
// Erforderliches Addon: yform
//
//
// Datensatz aus Tabelle mit ID 2
$dataset = rex_yform_manager_dataset::get(2,Tabelle);
// oder:
// Neuen leeren Datensatz erstellen
// $dataset = rex_yform_manager_dataset::create(Tabelle);

// Formular auslesen
$yform = $dataset->getForm();
// Parameter festlegen
$yform->setObjectparams('form_method','get');
// Ziel des Formulars, sonst erhält man nur Index.php ...
$yform->setObjectparams('form_action',rex_getUrl(13));
// Sollen die Daten des Datensatzes ausgelesen werden? (true = ja , false = nein) 
$yform->setObjectparams("getdata",true);
echo $dataset->executeForm($yform);
} ?>

Aktualisierung von Formulardaten

Laut doku soll das ja mit folgendem Code in Pipe Notation gehen:

action|db|tblname|[where(id=2)/main_where]

im YForm-Formbuilder
text|vorname|Vorname
text|name|Name
text|plz|PLZ
text|ort|Ort

action|db|rex_warenkorb
action|html|Daten gespeichert

Und die PHP Version dieses Beispiels scheint mir auch nicht komplett zu sein:

$yform = rex_yform::factory();
// aus dem Beispiel
$yform->setValueField('text', array("vorname","Vorname"));
$yform->setValueField('text', array("name","Name"));
$yform->setValueField('text', array("plz","PLZ"));
$yform->setValueField('text', array("ort","Ort"));

$yform->setActionField('db', array("rex_warenkorb"));
$yform->setActionField('html', array("Daten gespeichert"));

echo $yform->getForm();

Was ich eben erreichen möchte ist Formulardaten zu aktualisieren und den Code dafür in Pipe Notation aus einer Datenbank holen und action|db|tblname|[where(id=2)/main_where] hier die id durch einen Wert ersetzen. Letztlich den Formularcode ähnlich wie im Formbuilder mit yform->setFormData($formData) ausgeben.

Import erklären

Beim Import wird jeder Datensatz "simuliert" eingegeben. D.h. es durchläuft die Validierungen und Indexierungen und Funktionen, als ob man es manuell eingegeben hätte. Und demnach kann ein Import auch mal Fehlschlagen

E-Mail-Templates: Wunschliste für die Doku

use case

  • Kontaktformular
  • Anfrage Preisliste
  • Bestellformular
  • Mehrsprachiges Kontaktformular
  • Unterschiedliche Mails an Empfänger und Versender
  • "Antwort an"-Feld befüllen (damit der Website-Betreiber direkt auf Antworten klicken kann)
  • Text-Version aus der HTML-Version (mit strip_tags)
  • Anhänge

Vor Versand umformatieren

  • Zeitstempel
  • dynamisches Textfeld, das via REQUEST befüllt wurde
  • Text des Feldes, das via SELECT_SQL befüllt wurde.
  • Zugriff auf System-Variablen (z.B. Name der Redaxo-Installation)

Zugriff auf E-Mail-Templates via PHP

Falls man sein eigenes Formular mit YForm in PHP schreiben möchte und nicht via YForm-Modul mit Pipe. Siehe http://www.redaxo.org/de/forum/post117833.html#p117833 (XForm).

@rotzek

Table Manager: Suche erklären.

Gibt's bisher noch nicht in der Doku.

  • Welche Felder sind durchsuchbar?
  • Test, ob auch wirklich alle Felder sinnvoll durchsuchbar sind (war in xform nicht so)
  • Hinweis zum Export (gefilterte Tabelle exportiert auch immer nur die gefundenen Datensätze und nicht alle, wenn ich mich recht erinnere)

Table Manager: unique: Welche Felder werden durchsucht?

https://github.com/yakamara/redaxo_yform_docs/blob/master/de_de/table_manager_validierungen.md#unique

Verstehe ich das Szenario richtig:

  1. Jemand gibt eine E-Mail-Adresse, bspw. [email protected], im Formular in das Feld "email" ein.
  2. unique durchsucht alle Felder der aktuellen Tabelle, bzw. der in "Tabelle [opt]" angegeben Tabelle nach diesem Wert und gibt false zurück, wenn er gefunden wird.

D.h. umgekehrt, dass ich nicht in nur einem Feld einer Datenbank-Tabelle suchen kann, sondern immer in allen gesucht wird?

Table Manager: HowTo: Mit 2. Datenbank verbinden.

Früher war es ja möglich, in der master.inc.php in R4 eine 2. Datenbankverbindung zu hinterlegen. Das geht ja auch in R5.

Und ich lese zwischen den Zeilen öfters, dass der Table Manager auch auf die 2. Datenbankverbindung zugreifen kann. Wie funktioniert das? Verstehe ich da was falsch?

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.