Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 04. November 2014 15:42

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

[GELÖST] Formbuilder: Begrenzung von Checkbox-Labels VARCHAR(255)

Hallo,

streng genommen nur sekundär eine CMSMS-Modulfrage, ich muss jetzt mal eine alte Allgemeinbildungsslücke schließen.:)

Dass im Formbuilder beim Feldtyp "Checkbox" die Zeichen für die Labels begrenzt sind, liegt vermutlich am in der MySql-DB eingetragenen VARCHAR(255), oder?

Allerdings werden meine Texte schon bei der Hälfte, also 128 gekürzt.

Hat die Halbierung a) einen bestimmten Grund und b) lässt sich ändern?  255 wären okay, aber 128 Zeichen sind echt nicht viel.

Vielen Dank.

Beitrag geändert von antibart (04. November 2014 16:45)

Offline

#2 05. November 2014 08:44

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Formbuilder: Begrenzung von Checkbox-Labels VARCHAR(255)

liegt vermutlich am in der MySql-DB eingetragenen VARCHAR(255), oder?

Genau.

Welchen Zeichensatz verwendet die Datenbank für dieses Feld?
(UTF-8, Latin-1 ...)


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#3 05. November 2014 10:03

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: [GELÖST] Formbuilder: Begrenzung von Checkbox-Labels VARCHAR(255)

Ich gucke mal.

Seltsam...

In xxx_module_fb_field_opt ist unter "Value" nicht varchar(255), sondern "text" angegeben, Zeichensatz utf8_general_ci.

Aber die Änderung zu VARCHAR(255) bringt auch nichts.

[== mysql ==]
CREATE TABLE IF NOT EXISTS `xxx_module_fb_field_opt` (
  `option_id` int(11) NOT NULL,
  `field_id` int(11) default NULL,
  `form_id` int(11) default NULL,
  `name` varchar(255) default NULL,
  `value` text,
  PRIMARY KEY  (`option_id`),
  KEY `xxx_module_fb_field_opt_idx` (`field_id`,`form_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Daten für Tabelle `xxx_module_fb_field_opt`
--

INSERT INTO `xxx_module_fb_field_opt` (`option_id`, `field_id`, `form_id`, `name`, `value`) VALUES

...

(664, 49, 5, 'box_name', 'Checkboxbeschriftung 1'),
(663, 49, 5, 'box_name', 'Checkboxbeschriftung 2.'),
(662, 49, 5, 'box_name', 'Checkboxbeschriftung 3'),

...

Beitrag geändert von antibart (05. November 2014 10:55)

Offline

#4 05. November 2014 10:59

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: [GELÖST] Formbuilder: Begrenzung von Checkbox-Labels VARCHAR(255)

AHA - ich habe mir den Quellcode des Formbuilders vom CMS durchgelesen:

[== html ==]
<input type="text" .... maxlength="128" />

Das ist dann vermutlich so im Core vorgegeben.

ED:

modules/FormBuilder/classes/CheckBoxFieldGroup.php

ab Zeile 228

[== php ==]
$boxes .= '<tr class="'.$rowclass.'"><td>'.
$mod->CreateInputText($formDescriptor, 'fbrp_opt_box_name[]',$this->GetOptionElement('box_name',$i),25,128).
'</td><td>'.
 $mod->CreateInputText($formDescriptor, 'fbrp_opt_box_checked[]',$this->GetOptionElement('box_checked',$i),25,128).
'</td><td>'.
 $mod->CreateInputText($formDescriptor, 'fbrp_opt_box_unchecked[]',$this->GetOptionElement('box_unchecked',$i),25,128).

Du 128 am Schluss isses.

Beitrag geändert von antibart (05. November 2014 11:26)

Offline

#5 05. November 2014 11:33

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Formbuilder: Begrenzung von Checkbox-Labels VARCHAR(255)

Yo, wollt ich auch gerade schreiben big_smile

Übrigens - "Allgemeinbildungsslücke":

"Text" braucht anscheindend 2 byte pro Character.

UTF-8 braucht 2 Byte pro Character.
Liegt in der Natur der Sache.
Wie sonst will man einen Zeichensatz von mehr als 255 verschiedenen Zeichen darstellen?

cool


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#6 05. November 2014 11:38

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: [GELÖST] Formbuilder: Begrenzung von Checkbox-Labels VARCHAR(255)

Ach weißt du - Mathe halt ... wink

Vielen Dank für die Lückenfüllung. smile

ED:

Ah - klar. 2 hoch 8 minus 1 = 255 .... ja, wenn man drüber nachdenkt, ergibt es einen Sinn.

Beitrag geändert von antibart (05. November 2014 11:42)

Offline