anpera.net
https://anpera.dyndns.org/phpbb3/

Showformklasse
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=43&t=3726
Seite 1 von 1

Autor:  Eliwood [ Mi 20 Jun, 2007 16:59 ]
Betreff des Beitrags:  Showformklasse

Man soll ja nicht sagen können, ich horte nur und veröffentliche nie was :D

Dieses mal hab ich die showform-Funktion erweitert und eine komplette Klasse geschaffen. Die Klasse hat einiges mehr drauf als die Funktion, im folgenden werden noch die Features aufgezählt.

Der Nachteil: Das ganze ist in der Rohfassung erst ab PHP5 lauffähig.

Features
  • Übernimmt das Layout als Array und nicht als String. Vorteile liegen auf der Hand (, nervt nicht mehr im Text...)
  • Standardwerte möglich!
  • Verschiedenste Layoutformen für das Setting möglich, darunter:
    • text
    • Begrenzer Text
    • Reine Textausgabe
    • Integer (Kleineres Textfeld)
    • Passwort
    • Ja/Nein
    • Enum
    • Set (bzw Multiplichoice, im select-Look oder mit Checkboxen)
    • textarea
    • Range


In Aktion:
[php]<?php
Require 'erdev/lib/showform.class.php';

$form = array(
'Textfelder',
'text1' => array(
'Ein normaler Text',
'text'
),
'text2' => array(
'Text mit Standardwert',
'text',
'default' => 'Wert'
),
'text3' => array(
'Ein in der länge begrenzer Text',
'limitedtext',
10 # Nicht mehr als 10 Zeichen, funktioniert nicht in allen Browsern
),
'text4' => array(
'Passwortzeile',
'password',
),
'text5' => array(
'"Versteckte" Zeile, bzw "viewonly"',
'hidden',
'default' => 'Du kannst mich nich bearbeiten!!!'
),
'int' => array(
'Ein für Zahlen angepasstest Feld',
'int',
),
'textarea' => array(
'Ein Feld für grosse Eingaben',
'textarea',
30, #cols
5, #rows
),
'Weiteres',
'bool' => array(
'Ja oder Nein?',
'bool',
# Mit "default" => 1 kann Standard auf "JA" gestellt werden
),
'enum' => array(
'Dein Lieblingskanton',
'enum',
array(
0 => 'Basel',
1 => 'Genf',
2 => 'Bern',
3 => 'Schwyz',
),
# AUch hier kann mit "default" => $key die Standardantwort geändert werden
),
'enum2' => array(
'Mein Lieblingskanton',
'hiddenenum',
array(
0 => 'Basel',
1 => 'Genf',
2 => 'Bern',
3 => 'Schwyz',
),
'default' => 0,
),
'set' => array(
'Deine Fàhigkeiten',
'set',
array(
0 => 'Schwert',
1 => 'Axt',
2 => 'Keule',
),
# Als vierten Parameter kann man die Grösse des Selectfeldes bestimmen (Anzahl der Sichtbaren Einträge), Standard 3
),
'set2' => array(
'Deine Fähigkeiten, Teil 2',
'set',
array(
0 => 'Gebete',
1 => 'Elementarmagie',
2 => 'Gegensatzsmagie',
),
'checkbox' => true, # NImmt Checkboxen anstatt dem select-Feld
),
'Sonstiges',
'range1' => array(
'Ziffer zwischen 0 und 9',
'range',
0, # Start
9 # Ende
),
'range2' => array(
'Zahl zwischen 0 und 1000',
'range',
0, 1000
),
);

$Showform = new Showform('Einstellungen', $form, ($i = ($row = array())));
$Showform->enableSave(); # Lässt man das Weg, dann lässt sich das FOrmuler nicht speichern (Kein Submit-Button)
echo ('<form action="ucp.php?q=guildprefs" method="post">');
echo $Showform->getOut(); # Ausgabe, geht auch mit: unset($Showform);
echo ('</form>');

?>[/php]

Dateianhänge:
Showform.zip [2.27 KIB]
404-mal heruntergeladen

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/