Checkboxen bei der Artikelerfassung

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
Antworten
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Checkboxen bei der Artikelerfassung

Beitrag von MarkusR »

Heute mal wieder was aus meiner Werkstatt... :wink:

Nicht hundertprozentig, aber funktioniert bestens.

Ich benötigte die Möglichkeit bei der Artikelerfassung Checkboxen einzusetzen, um mehrere schnelle Auswahlen zu erlauben, die sonst stundenlange fehlerträchtige Tipparbeit erfordern würden.

So gehts:

_admin/manage_placeholder.php

suche

Code: Alles auswählen

case 'text': 
    print('<tr><td>'.___('Short text:').'</td><td>');
    print('<input name="placeholder[short]" class="checkbox" type="checkbox" value="1" '.($placeholder['short']=='1' ? 'checked' : '').'>');
    print(help('').'</td></tr>');
    break;
ersetze durch

Code: Alles auswählen

case 'text': 
    print('<tr><td>'.___('Short text:').'</td><td>');
    print('<input name="placeholder[short]" class="checkbox" type="checkbox" value="1" '.($placeholder['short']=='1' ? 'checked' : '').'>');
    print(help('').'</td></tr>');
    print('<tr><td>'.___('Checkbox:').'</td><td>');
    print('<input name="placeholder[checkbox]" class="checkbox" type="checkbox" value="1" '.($placeholder['checkbox']=='1' ? 'checked' : '').'>');
    print(help('').'</td></tr>');
    break;
_include/form_fields.php

suche

Code: Alles auswählen

    if (isset($value['short'])) {
        printf('<input type="text" name="content[%s][text]" value="%s" size="80" class="inputwidth">', 
            htmlspecialchars($key),
            htmlspecialchars($content[$key]['text'])
        );
        print(help(''));
        print('</td></tr>');
        break;
    } 
danach einfügen

Code: Alles auswählen

    if (isset($value['checkbox'])) {
        printf('<input type="checkbox" name="content[%s][text]" value="%s" %s />', 
            htmlspecialchars($key),
            htmlspecialchars($name),
			($content[$key]['text']) ? ' checked="checked"' : ''
        );
        print(help(''));
        print('</td></tr>');
        break;
    } 
Hierbei wird der Name des Platzhalters auch als Wert gespeichert, was in meinem Fall auch die Suche nach dem Begriff erlaubt. Soll die Checkbox nur als Schalter benutzt werden (um z.B. besondere Kennzeichnungen eines Artikels zu erlauben), dann sollte htmlspecialchars($name) einfach durch eine 1 ersetzt werden.

Das war's... ConPresso ist geil!
Dateianhänge
So sieht's dann bei der Artikelerfassung aus
So sieht's dann bei der Artikelerfassung aus
checkbox.gif (2.52 KiB) 4362 mal betrachtet
Die Erweiterung der Platzhalterdefinition
Die Erweiterung der Platzhalterdefinition
placeholder.gif (2.5 KiB) 4362 mal betrachtet
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Interessant, interessant :D

Da hast du dir aber was schönes ausgedacht. Und das ganze ohne einen neuen Platzhalter-Typ zu erfinden.

Ich hätte noch einen kleinen Verbesserungsvorschlag, wie man die Bedienung noch sicherer und schöner machen:
Das Code-Stück, was in _include/form_fields.php einzufügen ist, würde ich vor dem zu suchenden Code einfügen.
Denn wenn man Kurztext bei den Platzhaltereinstellungen gewählt hat, dann gibt er keine Checkbox aus, wenn man dort auch einen Haken hat.
Dies würde man umgehen, indem man das Codestück vorher einfügt, dann werden immer Checkboxen ausgegeben, egal ob Kurztext ausgewählt ist oder nicht.

Aber sonst hattest du einen super Idee, solche Checkboxen so einfach einzubauen. (Vor diesen Codeänderungen musste man einfach irgend einen Text bei der Artikelerstellung für die selbe Funktionalität eintragen)

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Das meinte ich ja mit "nicht hundertprozentig"... eben nicht für DAU-Admins :twisted:

Die optimale Variante wäre ein Optionsfeld draus zu machen, das dann zwischen Textfeld, Textzeile und Checkbox umschaltet. :wink:

Optimierungswillige vor! 8)

Pimp my Checkbox!
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Antworten