Zum Inhalt springen

tca.php bearbeiten

Erstellt am 20. September 2010 · 2 Antworten · letzte Antwort am 20. September 2010

Tags: TCA, Frontend-Benutzer, Frage

Unbekannter Benutzer ·

guten morgen zusammen,
da mir die Darstellung der chekboxen in der sr_feregistration im Hinblick auf barrierefreies webdesign nicht ganz so gut gefällt, versuche ich gerade die Darstellung von checkboxen und Radiobuttons zu verändern.
Genauer versuche ich den title der checkboxen zu entfernen bzw. nicht ausgeben zu lassen.
Die Konfiguration für alle Auswahlelemente wird ja in der tca.php der jeweiligen Extension vorgenommen.
Leider verstehe ich nicht, wo im folgenden Quellcode festgelegt wird, welche elemente (Titel name etc) ausgegeben werden. Löschen und Nderungen haben nämlich nichts bewirkt.

'check':
  $label = $this->langObj->getLL('tooltip_' . $colName);
  $label = htmlspecialchars($label,ENT_QUOTES,$charset);

  if (is_array($itemArray)) {
    $uidText = $this->pibase->pi_getClassName($colName).'-'.$mrow['uid'];
    $colContent = '<ul id="'. $uidText . ' " class="tx-srfeuserregister-multiple-checkboxes">';
    
    if ($this->controlData->getSubmit() || $this->controlData->getDoNotSave() || $cmd=='edit')        {
      $startVal = $mrow[$colName];
    } else {
      $startVal = $colConfig['default'];
    }

    foreach ($itemArray as $key => $value) {
      $checked = ($startVal & (1 << $key))?' checked="checked"':'';
      $label = $this->langObj->getLLFromString($itemArray[$key][0]);
      $label = htmlspecialchars($label,ENT_QUOTES,$charset);
      $colContent .= '<li><input type="checkbox"' . $this->pibase->pi_classParam('checkbox') . ' id="' . $uidText . '-' . $key .  '" name="FE[' . $theTable . '][' . $colName . '][]" value="' . $key . '"' . $checked . ' /><label for="' . $uidText . '-' . $key . '">' . $label . '</label></li>';
    }
    $colContent .= '</ul>';
    } else {
      $colContent = '<input type="checkbox"' . $this->pibase->pi_classParam('checkbox') . ' id="'. $this->pibase->pi_getClassName($colName) . '"  title="' . $label . '"' . ($mrow[$colName]?' checked="checked"':'') . ' />';
    }
    break;

Kann mir jemand einen Tip geben oder suche ich komplett an der falschen STelle? Hatte auch mit showitem des tca experimentiert.
Danke für alle Antworten
Andi

karlchen · · Beste Antwort

hallo,

in der tcp.php werden alle Elemente für das Backend definiert, also wenn du dort z.B. neue Datensätze anlegst. Die Konfiguration in diser Datei hat keinen Einfluss auf die Ausgabe im Frontend.

Aus welcher Datei hast du denn den unteren Code ?

Unbekannter Benutzer ·
karlchen schrieb

hallo,

in der tcp.php werden alle Elemente für das Backend definiert, also wenn du dort z.B. neue Datensätze anlegst. Die Konfiguration in diser Datei hat keinen Einfluss auf die Ausgabe im Frontend.

Aus welcher Datei hast du denn den unteren Code ?

Der Code stammt aus der class.tx_srfeuserregister_tca.php der sr_fe_registration (front end user registration)
Mein Problem ist wie folgt:

...
###TCA_INPUT_tx_felderanlegen_screenreader### 
...

lege ich eine Checkbox an, möchte aber, dass der Titel (Title-atribut) nicht ausgegeben wird, da dies bei Tests mit einem Screenreader (bildschirmleseprogram für blinde) zu Problemen geführt hat.
Da die Checkboxen ja direkt aus der tca kommen, müsste ich ja entweder das Auslesen oder die Darstellung manipulieren oder?
Bin gerade etwas ratlos 🙁.
Danke für jeden Hinweis
Andi