Reorder Registration Page Attributes

Permalink
I believe this was possible in V5x but I can't see how to do it in V8.3.2 ...

Have added new attributes to the members to show on registration page but I need to alter their display order. Don't seem able to simply drag the attributes in the list to reorder their output. Is this no longer possible?

How is reordering member attributes achieved?

surefyre
 
mnakalay replied on at Permalink Reply
mnakalay
It's a little bit weird I know but if you add your attributes to attribute sets you will have the ability to re-order them inside the set which will do what you are trying to achieve
surefyre replied on at Permalink Reply 2 Attachments
surefyre
Thanks I've done that but doesn't seem to reorder the fields.

I've overridden the registration page for custom styling but the bit that spits out the 'Options' is the same as in the core reg page. Did I miss something else?

See attached scrshots, thanks.
katalysis replied on at Permalink Reply
katalysis
Had the same issue recently...

While version 8 does include the ability to reorder the attributes in the dashboard, this is not then used in the registration page or profile editing page etc.

It looks as if this was overlooked in the move from 5.6.

We added some rough and ready code to the register.php single page to get this to work (it won't use Attribute Sets unfortunately):

$category = Concrete\Core\Attribute\Key\Category::getByHandle('user');
    if (is_object($category) && $category->allowAttributeSets()) {
                 $attribs = UserAttributeKey::getList();
               if (count($attribs) > 0) {
                     foreach($attribs as &$ak) {
                              $ak->id = $ak->getAttributeKeyID();
                      }
                     usort($attribs, function( $a,  $b) use($attsSort){
                               if ($attsSort[$a->id] == $attsSort[$b->id]) {
                                          return 0;
                               }
                               return ($attsSort[$a->id] < $attsSort[$b->id]) ? -1 : 1;
            });
         foreach($attribs as $ak) {
surefyre replied on at Permalink Reply
surefyre
I'll just have to be careful to add the atts in the display order on staging and production when I deploy my latest changes.

Looks like a bug should be raised, will do it and share the link here in case anyone else wants to 'me too' it.
surefyre replied on at Permalink Reply
surefyre