Drupal submit gombok cseréje

Elég sokszor belefutottam már Drupal smink készítésekor, hogy az űrlapok elküldésére szolgáló „Beküldés” gombot is formázni kell. Az legegyszerűbb eset, amikor egyszerű színezésről van szó. Ha fix szélességű gombokkat szeretnénk látni, akkor egy háttérkép beállításával bármilyen bonyolult formázás „megvalósítható”. Viszont most változó szélességű gombok szerepelnek a tervben, lekerekített szélekkel.

Persze megint elkezdtem egyenként felülírni az űrlapokat, amit kissé körülményesnek éreztem. És, mivel, az oldalon szereplő minden gombot így kell formázni, kicsit jobban megvizsgáltam a kódot, és felfedeztem, hogy megváltoztatható az alapértelmezett működés. A smink template.php végére írtam a következőt:

function phptemplate_button( $element ) {
    // Make sure not to overwrite classes.
    if ( isset( $element[ '#attributes' ][ 'class' ] ) ) {
        $element[ '#attributes' ][ 'class' ] =
            'form-'.$element[ '#button_type' ].' '.
            $element[ '#attributes' ][ 'class' ];
    }
    else {
        $element[ '#attributes' ][ 'class' ] =
            'form-'.$element['#button_type' ];
    }

    $name = ( empty( $element[ '#name' ] ) ? '' : 'name="'. $element[ '#name' ] .'" ' );
    $value = check_plain( $element[ '#value'] );
    $attribs = drupal_attributes( $element[ '#attributes' ] );

    return
        '<button type="submit" value="'.$value.'">'.
        '<span>'.$element[ '#value' ].'</span></button>';
}

Comments are closed.