When viewing a node, how can I display all values of a List (text) instead of just the selected ones.
So, instead of displaying:
I want to display all values, with some markup telling selected and unselected apart:
[_] A (superior) [_] A- [_] B+ [X] B (good) [_] B- [_] C+ [_] C (average) [_] C- [_] D+ [_] D (poor) [_] F (failure) [_] I (incomplete) [_] PR (course in progress) [_] W (withdrew from course) [_] FF (failing in a pass/fail course) [_] PP (passing in a pass/fail course) [_] N/C (not for credit)
Now, I have actually solved this already for myself and for some others (who had desperately been searching for this functionality) in my sandbox module https://drupal.org/sandbox/kari.kaariainen/1349570, but I just wanted to ask if anyone else has a) needed this, b) solved it and how?
Edit: my solution is to rebuild the $items at hook_field_formatter_prepare_view so that it doesn't have just the selected items, but all items, including data about whether an item has been selected or not. $items will then be handled by hook_field_formatter_view actually outputting items with added markup and translated.
It's kind of frustrating to bring back data at prepare_view, so I'm wondering if data for all items could be retrieved from database initially.
Another thing is i18n support, which I'm now copying from i18n module. Code for each field type (there will be more than just text lists) will need to be duplicated and modified separately. I'm wondering if field translation could be left for i18n and not duplicating code.