Liste der Anhänge anzeigen (Anzahl: 1)
Statistische Auswertung
Hallo Georg,
die Ausgabe der Detaildaten ist klasse!
Ich habe aber diverse Probleme mit der weiteren Verarbeitung dieser Daten!
Bei meinen Fragen werden als Antworten "Schulnoten" vergeben. Wenn ich versuche, z.b. den Mittelwert zu erzeugen, bekomme ich bei den Fragen Typ "Multiple Choice" Fehleranzeige (#DIV/0); Wenn ich allerdings die Fragen mit dem Typ "Matrixfrage" anlege, funktioniert die Auswertung richtig.
Das ist sowohl bei Excel, als auch bei OO der Fall!
Grüße
Wolfgang
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Wolfgang,
Zitat:
Zitat von
Wolfi
Bei meinen Fragen werden als Antworten "Schulnoten" vergeben. Wenn ich versuche, z.b. den Mittelwert zu erzeugen, bekomme ich bei den Fragen Typ "Multiple Choice" Fehleranzeige (#DIV/0); Wenn ich allerdings die Fragen mit dem Typ "Matrixfrage" anlege, funktioniert die Auswertung richtig.
Das ist sowohl bei Excel, als auch bei OO der Fall!
Ja, bei den Matrxfragen hatte ich eine Sonderbehandlung für numerische Werte (typisch Schulnoten) eingebaut. Aber Du hast Recht, das macht auch für MultipleChoice Sinn. In der Anlage eine erweiterte Version von 'SurveyQuestionMultiplechoiceEx.php'; leider kann ich die im Moment nicht selbst testen, magst Du bitte kurz eine Rückmeldung geben?
Die neue Version gibt bei dem Untertyp "Mehrfachauswahl" auch nicht mehr 'x' aus (für gewählte/angekreuzte Punkte), sondern 1. So kann man in diesen Spalten z.B. mit Excel/Calc SUMME() arbeiten, um zu zählen.
LG, Georg
Liste der Anhänge anzeigen (Anzahl: 1)
Moin Anke, Helmut, alle,
in der Anlage eine neue Version von 'FormMatrixQuestion.php', mit mehr tr/td Klassen.
Änderungen der Matrix-Fragen durch diesen Patch:
Sämtliche Beschriftungen der Matrix-Tabelle sind jetzt in ein <span> Element eingekleidet (oben und links, inclusive der entgegengesetzten Pole und der neutralen Spalte, also alle TD mit Inhalt, der nicht <input> ist). Damit kann der Text, bei Bedarf, leicht per CSS ausgeblendet und statt dessen ein Background-Bild für das TD angezeigt werden.
Sämtliche Zeilen (TR) und Spalten/Zellen (TD) haben jetzt CSS-Klassen. Der Sinn dieser Erweiterungen ist, ganze Zeilen und Spalten per CSS ansprechen zu können (z.B. für background, width, height), bzw. auch einzelne Zellen genau genug adressieren zu können. Siehe auch unten, was im CSS für existierende/laufende Umfragen eventuell zu ändern ist.
CSS-Klassen der Tabellen-Zeilen, von oben nach unten:
- tr.bipolar: nur wenn die Frage "Entgegengesetzte Pole" hat und "Über den Spaltenbezeichnern" gewählt wurde.
- tr.columnheader: die Zeile mit den Spalten-Beschriftungen.
- tr.even/odd/first/last: die Zeilen mit den <input> Elementen. Klar, oder?
CSS-Klassen der Tabellen-Spalten/Zellen, von links nach rechts:
- td.rowtext: die Spalte/ALLE Zellen ganz links, egal, ob sie Inhalt haben, oder nicht (also auch in tr.bipolar und tr.columnheader).
- td.leftadjective: nur wenn die Frage "Entgegengesetzte Pole" hat. Dann hat die Spalte auch eine zusätzliche Klasse l-xxxxx. 'xxxxx' abgeleitet/standardisiert aus der Beschriftung des linken Pols. Z.B. "l-gut". Wurde "Links und rechts der Spalten" gewählt, dann existiert dafür eine eigene Spalte. Bei "Über den Spaltenbezeichnern" werden diese beiden Klassen zusätzlich zum folgenden 'td.yyyyy' ausgegeben, aber nur in der Zeile 'tr.bipolar'.
- td.yyyyy: alle Spalten, die auch normale <input> Elemente enthalten. 'yyyyy' abgeleitet/standardisiert aus der Beschriftung der jeweiligen Spalte (z.B. "td.id-1" oder "td.gut", "td.mittelmaessig", "td.schlecht"). In der Zeile 'tr.columnheader' haben die Zellen auch die zusätzliche Klasse 'td.columnheader' (wie in der Original-Version).
- td.neutralcolumn: nur falls eine "Neutrale Spalte" existiert. Dann gibt es auch noch eine zusätzliche Klasse n-zzzzz; 'zzzzz' abgeleitet/standardisiert aus der Beschriftung der neutralen Spalte. Z.B. "n-unentschieden" oder "n-keine-erfahrung-bisher".
- td.rightadjective: nur wenn die Frage "Entgegengesetzte Pole" hat. Dann hat die Spalte auch eine zusätzliche Klasse r-xxxxx. 'xxxxx' abgeleitet/standardisiert aus der Beschriftung des rechten Pols. Z.B. "r-schlecht". Wurde "Links und rechts der Spalten" gewählt, dann existiert dafür eine eigene Spalte. Bei "Über den Spaltenbezeichnern" werden diese beiden Klassen zusätzlich zum obigen 'td.yyyyy' ausgegeben, aber nur in der Zeile 'tr.bipolar'.
Am besten ihr macht Euch eine eine Test-Umfrage mit allen Varianten von Matrixfragen und schaut Euch das im FireBug an.
Ganz ohne Einfluss auf bisherige Umfrage-Formatierungen war die Erweiterung nicht hinzubekommen. Hier Hinweise, was eventuell im CSS anzupassen ist:
- 'td.rowtext' markierte zuvor NUR die linken Zellen, die auch wirklich Beschriftungen enthielten, jetzt haben auch die leeren Zellen darüber diese Klasse. Je nach Zweck des CSS (z.B. background-color) muss der Selektor 'td.rowtext' spezifischer gemacht werden mit 'tr.odd td.rowtext, tr.even td.rowtext'.
- 'td.left/rightadjective' war vorher nur gesetzt für die extra Spalten bei der Option "Links und rechts der Spalten" und nur in der Zelle, die den Poltext enthält; jetzt wird die Klasse auch in der leeren Zelle darüber ausgegeben und (als zusätzliche Klasse) auch bei der Option "Über den Spaltenbezeichnern" in der Zeile 'td.bipolar'. Gegebenenfalls muss man also den Selektor 'td.leftadjective' spezifischer formulieren, also 'tr.first td.leftadjective' (dito für right...), um genau die Zellen zu erwischen, die vorher adressiert wurden.
- 'td.neutralcolumn' war vorher nur gesetzt für die Zellen mit den <input> Elementen der neutralen Spalte. Jetzt haben alle Zellen dieser Spalte die Klasse, eventuell muss man spezifischer adressieren, also 'tr.odd td.neutralcolumn, tr.even td.neutralcolumn' statt einfach 'td.neutralcolumn'.
Technisch wäre es auch noch leicht, Zähler-Klassen für die Zellen mit den <input> Elementen einzuführen, etwa 'tr.row_1', 'tr.row_2' ... bzw. 'td.col_1', 'td.col_2' ... Ich sehe das aber nicht als sinnvoll an. bipolar/columnheader/even/odd/first/last erscheint mir für die Zeilen ausreichend. Und eine Nummerierung der Spalten erscheint mir wenig hilfreich im Vergleich zu den aus der Spaltenüberschrift abgeleiteten Klassen. Eventuell könnte man noch ein 'td.left' / 'td.right' gebrauchen (für border/padding/margin)?
@Anke: für die generierten Spalten-Breiten in % habe ich noch die Idee, dass man die %-Breite der linken Spalte nicht hart codiert, sondern per dcaconfig.php einstellbar macht (das wäre dann global für alle Umfragen) oder eventuell sogar ein neues Umfrage-Feld im BE dafür einführt. Andererseits SOLLTE sich die Spaltenbreite jetzt, wo man ganze Spalten per CSS adressieren kann, doch leicht einstellen lassen, etwa: div.matrix td.rowtext { width: 300px !important } , oder? Berichte doch mal, ob Du mit den jetzigen Klassen zufrieden bist und all das erereichen kannst, was Dir vorschwebt.
Und bezüglich der fieldsets per HTML-Fragentyp: Helmut hat vorgesehen, dass man einfach neue Fragentypen hinzufügen kann. Da mache ich mich dann mal demnächst dran.
LG, Georg
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Georg,
einfach fantastisch! Ich schicke mal voraus, dass ich bis jetzt nur eine einfache Matrixtabelle getestet habe, also keine Pole und neutrale Spalte.
Wunderbar, dass auch die erste Tabellenzelle jetzt rowtext heißt.
Mit !important lassen sich die vorberechneten Spaltenbreiten einwandfrei overrulen. Da ich solche Mittel allerdings gern sparsam einzusetze, wäre mir deine Idee langfristig lieber:
Zitat:
für die generierten Spalten-Breiten in % habe ich noch die Idee, dass man die %-Breite der linken Spalte nicht hart codiert [...]
Wenn die Breite bei allen Spalten mit Ausnahme der ersten - und die Tabellenbreite - definiert wird, ergibt sich die Breite der rowtext-Spalte doch von selbst, oder nicht?
Bei mir befindet sich im Moment auf jeder Seite nur eine Matrixfrage, jeweils gefolgt von einem Feld für individuelle Ausführungen. Ich könnte mir aber vorstellen, dass jemand mehrere Matrixfragen pro Seite anbietet und diese unterschiedlich formatieren will/muss. Dafür könnte die Matrix vielleicht zusätzlich zu den Klassen widget und matrix noch eine eindeutige Klasse erhalten, eine (fortlaufende) Nummer wäre ja ausreichend.
Aber auch auf unterschiedlichen Seiten könnten Matrixfragen theoretisch unterschiedlich formatiert werden, wenn jeder Umfrageseite noch ein eindeutige Seitenklasse mitgegeben würde, wie z.B. der Pagetitle.
Meine Umfrage sieht jetzt jedenfalls aus wie beabsichtigt. Anhang 1887
Besten Dank,
Anke
Liste der Anhänge anzeigen (Anzahl: 4)
Georg, vielen Dank für die ausführlichere Demonstration zum Einfügen einer Fortschrittsanzeige. So war ich in der Lage, Text- und Balken zu kombinieren und habe dem ganzen, damit man die optische Orientierung zur 100%-Marke hat, noch eine Hintergrundgrafik gegeben.
Die Balkenanzeige selbst ist halbtranparent gerastert. Das kommt zwar dieser aktuellen Version kaum zur Geltung, da der Balken nur 3 px hoch und der Kontrast dezent gehalten ist, aber wenn man einen farbenfroheren Hintergrundverlauf nimmt und den Fortschrittsbalken über die ganze Höhe des Hintergrundes laufen lässt, schimmert der Hintergrundverlauf immer noch durch - ein netter Nebeneffekt.
In Abwandlung zu Georgs Vorschlag habe ich den Fortschrittsbalken nach unten gesetzt, oberhalb des Zurück- und Weiterbuttons, mit der Bedingung, dass der Balken nicht auf der Einleitungsseite angezeit wird. Und bis auf die zu berechnende Breite habe ich alle Styles ins Stylesheet übernommen. Das Template ce_survey.tpl sieht jetzt bei mir so aus (meine Einfügung in grün):
Code:
<?php if (!($this->page > count($this->pages))): ?>
<?php if (($this->page > 0)): ?>
<div class="progressbar_container">
<div class="progressbar" style="width: <?php echo ceil(714 * $this->page / count($this->pages)); ?>px;"><span>Seite <?php echo ($this->page); ?> von <?php echo (count($this->pages)); ?></span></div>
</div>
<?php endif; ?>
<div class="submit_container">
Hier zwei Abbildungen, wie meine Umfrage jetzt aussieht: Anhang 1895Anhang 1896
Zu meiner CSS, die ich hier zur Verfügung stelle, noch folgende Erklärung:
Die Smileys in meiner Umfrage stehen für die Bewertungen bzw. Spaltenüberschriften "1", "2", "3", "4" und die neutrale Spalte "x". Parallel dazu lauten die CSS-Klassen für die Bewertungsspalten "id-1", "id-2" etc. und "n-x" für die neutrale Spalte. - Diese Klassen müssen natürlich geändert werden, wenn andere Spaltenüberschriften verwendet werden.
Helmut, du kannst das gerne als weiteres Beispielstyling dazunehmen. Ich bin übrigens total begeistert, dass diese Erweiterung alle möglichen Änderungen an Feldern und Fragen und jeder Menge Umstellungen völlig fehlerfrei und ohne jegliches Murren verarbeitet - so macht arbeiten Spaß!
Im Anhang zwei Zip-Dateien mit den Smileys und Progressbar-Grafiken, der umfragen.css und der ce_survey.tpl (musste sie leider splitten, weil max. 100 kB pro Datei möglich sind).
Viele Grüße,
Anke
Antwortabhängige Weiterleitung zur Seite x der Umfrage möglich?
Hallo Helmut,
ist daran gedacht eine antwortabhängige Weiterleitung innerhalb einer Umfrage einzubauen?
Beispiel: Falls Frage 1 mit nein beantwortet, dann direkt auf Seite 7 der Umfrage springen.
Danke und viele Grüße