Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 883111
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T12:32:03+00:00 2026-05-15T12:32:03+00:00

I try to add some css attributes to labels in my custom sfForm but

  • 0

I try to add some css attributes to labels in my custom sfForm but I can’t achieve it.

In my custom class myForm extends sfForm, I create all textfields dynamically:

public function configure()
{
    $widgetFixtures = array();
    foreach ($fixtures as $fixture) {  
     $widgetFixtures[$fixture->getId()] = new sfWidgetFormInputText(  
            array('label' => $fixture->getTeamNameDom()),  
            // I would like to add something like: array('class' => $fixture->getCSS()),
            array('value' => $fixture->getScore1(), 'readonly' => 'readonly')
            );
    }
    $this->setWidgets($widgetFixtures);
}

I tried to format the rendering with setFormFormatterName but without success.

Note: I can’t use renderLabel($value, $attributes = array()) in the template because I get the CSS class from the DB (as you may have seen, I have to use: $fixture->getCSS()).

Could someone shed my light?

Many thanks.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T12:32:04+00:00Added an answer on May 15, 2026 at 12:32 pm

    Here is how I solved it.
    I took both suggestions from johnwards and richsage and put them together :
    “This sort of stuff should be handled in the view/action.”
    “Access to the options/attributes passed to the Widget itself.”

    First, I add the CSS class to the input itself (even if I will not use it).

    In my custom class myForm extends sfForm,

    foreach ($fixtures as $fixture) {    
         $widgetFixtures[$fixture->getId()] = new sfWidgetFormInputText(  
             array('label' => $fixture->getTeamNameDom()),  
             array('value' => $fixture->getScore1(), 
                   'readonly' => 'readonly',  
                   'class' => $fixture->getCSS())  
             );  
    }  
    

    Then, in the template, instead of using echo $form;, I add the CSS class to the label as shown below:

    foreach ($form as $widgetId => $widget) {  
        ...
        $labelClass = $widget->getWidget()->getAttribute('class');  
        echo '<td>'.$widget->renderLabel(null, array('class' => $labelClass)).'</td>';  
        ...
    }
    

    Maybe it is not the best way to solve this issue but it works.

    Thanks all for your feedback!

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

So, I know that try/catch does add some overhead and therefore isn't a good
I try to add an addons system to my Windows.Net application using Reflection; but
I'm building a table and trying to add some CSS as well as some
Rather than try to reinvent the wheel, I'm hoping someone can shed some light
I'm further along in making this all work, but when I try to add
I declared a Dictionary type object and try to add some items into it.
My IDE crashes any time I try add a new component to the toolbar.
Whenever I try to add a new project to my SourceSafe repository it creates
When I launch perfmon and try to add a counter, the displayed performance objects
My project is based on spring framework 2.5.4. And I try to add aspects

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.