views:

76

answers:

1
+3  Q: 

MVC best practice

I'm new to MVC (i'm using codeigniter) and was wondering where I should put a "cut_description" function.

My model retrieves a list of events including their description. If the description is too long, I would need to cut it after the first n words, and add a "read more" link, so the view doesn't get too cluttered.

What would be the best practice?

  1. add the logic to cut after n words to the model
  2. add the logic to the controller
  3. add it to the view?

I think 3 would be the easier (I have to loop through results anyway), but I'm not sure this would comply with MVC.

What do you think?

+2  A: 

If you are modifying information to properly display it, it should go into the view.

I doubt it should be in the model primarily because if the data was always going to be shortened, you would probably would store it shortened.

Chacha102
Yes, put it in the view. I would only suggest moving it into the model (which might be view specific, and thus require controller manipulation) if you were going to do this in a lot of different places **and** either there was potential for unsafe conditions (e.g. security) or it was overly complex or confusing. But this seems like a clear case of a simple display issue so yes, do it in the view.
Michael Haren