How to change the membership level ID?
Hello UNA Team,
I already had the following membership levels:
- Standard
- Premium
- Professional
- Elite
The paid memberships have monthly and annual plans.
Then I created another membership level called ‘Premium Plus’ which is basically a clone of the ‘Premium’ membership level with some additional permissions.
The problem is that the new ‘Premium Plus’ membership is showing below (after) the ‘Professional’ and ‘Elite’ membership (at the bottom of list) on the acl-view page like this:
- Standard [Subscribe]
- Premium [Subscribe]
- Professional [Subscribe]
- Elite [Subscribe]
- Premium Plus [Subscribe]
I think that it’s because of its ID in the `sys_acl_levels` table in the database.
How can I safely edit/change the ID of ‘Premium Plus’ membership level in the database to get it appeared right after the ‘Premium’ level on the acl-view page?
Thanks
-
-
·
LeonidS
- ·
Hello @OneEagle !
It's bad idea to change the mem level ID. But you may try to correct the valyes of the Order field in the same table (but plz backup it first :-))
-
·
LeonidS
-
- · Black Unifier
- ·
Leonids, In support of my brand, Black Unifiers, I added Unifier, Moderating Unifier and Governing Unifier to my membership levels. I did not intend to use the original membership levels, but I also didn’t intend to delete them. What are the potential problems for the new membership levels? Is the code written where only the original memberships levels will function properly?
-
Hello @Black Unifier !
Yes, it's better to keep the default levels. About new levels - everything should be OK, if you were working with them via Studio.
-
Thank you. Yes, I created them via Studio.
-
- · OneEagle
- ·
Hi dear @LeonidS
I've found a solution to my own question asked in this discussion. I've managed to change the table rows order on the acl page moving a membership level row from one position to another using jQuery. It work. I have used the following code:
<script> $(document).ready(function() { $('#bx_acl_view_row_5').insertAfter($('#bx_acl_view_row_3')); }); script>
I still have another challenge.
I am trying to hide a specifc membership level's price on the acl page and replace its suscribe button with a 'Contact us' or 'Contact Sales' button that will point to the contact page. For that specific level, I don't want to disclose the price. I would like members to contact us first so that we can understand and discuss their need.
I have tried the following css code, display: none; but it didin't work:
#bx_acl_view_row_6 > td:bx-def-padding-sec-bottom.bx-def-padding-sec-top { display: none; }But when I use: td:nth-of-type(3) like in the css code below, it kinda works but it removes the entire price td, destroying the table columns:
#bx_acl_view_row_6 > td:nth-of-type(3) { display: none; }Please do you have an idea on how to hide the content of the Price cell, without removing the cell, just hide its content (the price)?
Also any idea on how to replace its suscribe button with a 'Contact us' or 'Contact Sales' button that will point to the contact page?
Thanks
-
-
·
LeonidS
-
·
In reply to OneEagle
- ·
Well, if you use the JQUery then you may replace the price with the approx following code (you may insert it after the prices table):
$("#bx_acl_view_row_6 > td:bx-def-padding-sec-bottom.bx-def-padding-sec-top").text(Contact us code)
-
·
LeonidS
-
- · OneEagle
-
·
In reply to LeonidS
- ·
Thanks for your reply. It didn't work. For whatever reason, I couldn't get the class: td:bx-def-padding-sec-bottom.bx-def-padding-sec-top to work. Maybe because it is used by all the tds in the same table row.
Instead, I used the css class: td:nth-of-type(3) to apply the code to the third cell (td) of the row and it worked. Also I used the .html() element instead of the .text() element. Here is the final code:
<script> $(document).ready(function() { $('#bx_acl_view_row_6 > td:nth-of-type(3)').html('<a href="./contact">Contact us</a>'); }); </script>
I could have used the .replaceWith() or .text() element, It would have worked as well. eg:
$('#bx_acl_view_row_6 > td:nth-of-type(3)').text('Contact us');
Thanks