ConPressoPlus 4.1.6 Version 4.0c "Wild Horses" als BETA-Version 3 verfügbar (PHP 8.3) »»
9. April 2024 - PHP 8.3, Bugfixes, nützliche Modifikationen und zahlreiche Module... letzte Runde der Fehlersuche!

Checkboxen bei der Artikelerfassung

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

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!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
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

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: 7369
Registriert: 01.01.1970 01:00
Hat sich bedankt: 112 Mal
Danksagung erhalten: 936 Mal

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