overwrite einer Funktion
Eingetragen von dawehner (2639)
am 16.07.2007 - 20:09 Uhr in
am 16.07.2007 - 20:09 Uhr in
function _webform_render_select($component) {
$form_item = array(
'#title' => htmlspecialchars($component['name'], ENT_QUOTES),
'#required' => $component['mandatory'],
'#weight' => $component['weight'],
'#description' => _webform_filtervalues($component['extra']['description']),
'#prefix' => '<div class="webform-component-'. $component['type'] .'" id="webform-component-'. $component['form_key'] .'">',
'#suffix' => '</div>',
);
// Convert the user-entered options list into an array
$default_value = _webform_filtervalues($component['value']);
$rows = explode("\n", _webform_filtervalues($component['extra']['items'], FALSE));
if ($component['extra']['aslist'] == 'Y' && $component['extra']['multiple'] != 'Y') {
$options = array('' => t('select...'));
}
else {
$options = array();
}
foreach ($rows as $row) {
$row = trim($row);
if (preg_match('/^([^"|]+)\|(.*)$/', $row, $matches)) {
$options[$matches[1]] = $matches[2];
}
else {
$options[_webform_safe_name($row)] = $row;
}
}
// Set the component options
$form_item['#options'] = $options;
// Set the default value
if ($default_value) {
// Convert default value to a list if necessary
if ($component['extra']['multiple'] == 'Y') {
if (strpos($default_value, ',')) {
$varray = explode(',', $default_value);
foreach ($varray as $key => $v) {
if (array_key_exists(_webform_safe_name($v), $options)) {
$form_item['#default_value'][] = _webform_safe_name($v);
}
else {
$form_item['#default_value'][] = $v;
}
}
}
else {
if (array_key_exists(_webform_safe_name($default_value), $options)) {
$form_item['#default_value'] = _webform_safe_name($default_value);
}
else {
$form_item['#default_value'] = $default_value;
}
}
}
else {
if (array_key_exists(_webform_safe_name($default_value), $options)) {
$form_item['#default_value'] = _webform_safe_name($default_value);
}
else {
$form_item['#default_value'] = $default_value;
}
}
}
if ($component['extra']['aslist'] == 'Y') {
// Set display as a select list:
$form_item['#type'] = 'select';
if ($component['extra']['multiple'] == 'Y') {
$form_item['#multiple'] = TRUE;
}
}
else {
if ($component['extra']['multiple'] == 'Y') {
// Set display as a checkbox set
$form_item['#type'] = 'checkboxes';
}
else {
// Set display as a radio set
$form_item['#type'] = 'radios';
}
}
return $form_item;
}
der owerwrite wäre doch
z.B. yaml_3col_vlines_shinybuttons_webform_render_select oder?
es will einfach nicht fast wie beim Showcenter
- Anmelden oder Registrieren um Kommentare zu schreiben
Funktionen überschreiben
am 17.07.2007 - 10:54 Uhr
Nein. Du kannst nur 'themeable functions' überschreiben. Das sind Funktionen deren Name mit 'theme_' beginnt. Funktionen mit einem Underscore am Anfang des Funktionsnamen sind für den internen Gebrauch innerhalb eines Moduls vorgesehen.
vg
--
md - DrupalCenter
mdwp
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services