Forum:Is there a way to ignore DEFAULTSORT?

Hello again. Does anyone know of a way to ignore the magic word DEFAULTSORT? Here is my dilemma. We use DEFAULTSORT to categorize all of our character by last name, when known. We have a group of characters on the WoT Wiki that are primarily known by their first names. We also have a template that automatically adds a character's page to certain categories base on fields in the template. What we would like to do is when a certain field is used or when a certain entry on another field is used, we would like the softwear (I guess) to ignore the DEFAULTSORT for those categories only, but keep the sort key for other categories.

That may seem confusing. Let me break it down. One of the characters we have is named Alanna Mosvani. With the DEFAULTSORT, she would be listed under "M" (i.e. the sort key for her is "Mosvani, Alanna"). When one of the fields on the template on her page is used (ajah=Green), we would like it so that in the category associated with that field (Category:Green Ajah), she would be listed under "A." This is the "certain field" I mentioned above. We also have a field named "affiliation." When that field equals "Black Ajah," we would also like to have the softwear ignore the DEFAULTSORT.

I'm not sure if that is possible, but I thought I would ask. Here is a link to our character template. This would help us out greatly! Thanks! Willie -  HtS  20:01, August 27, 2010 (UTC)
 * DEFAULTSORT is just a default sort, you can still specify sort keys for individual categories the normal way (e.g., ) -- 20:23, August 27, 2010 (UTC)

The problem with that is the character template that we use automatically adds the page to various categories based on fields. These categories are not "alterable" in the normal way and they don't appear at the bottom of the page when editing. Go here and look at the bottom of the edit area. :) Willie  -  HtS  20:28, August 27, 2010 (UTC)
 * You will have to change the template to use the sort key if it is specified. -- 20:34, August 27, 2010 (UTC)

How exactly would one do that? I'm not really all that experienced with that particular template's code. Or if you have any examples you could link too. Thanks! Willie -  HtS  22:55, August 27, 2010 (UTC)
 * Here's an example for you:


 * is an example line in a template, where you categorise the page. However, if the line read:


 * then, given the argument sortcode the template would categorise the article under the sortcode, not under the page title. (Odiously, you can change the names to what would best suit your wiki) -- Random Time  23:15, August 27, 2010 (UTC)

So, we use #switch in our template. Here is where we would mainly need it I'm not entirely sure how to include what you posted. Would it be {{#if:{{{sortcode|}}}|{{#switch: {{{ajah}}}||}} In this example, "ajah" is the field name where we would specify the category. So when we use the template on a page, we would type in "|ajah=Green" and the template would put the page in. Is what I wrote going to work, or am I way off base? Thanks in advance for any help. Willie -  HtS  01:47, August 28, 2010 (UTC)

Best of both worlds - a redirect page
If the first name is better known than the LAST name for just a handful of characters (i.e. it is the exception rather than the rule) then perhaps a simpler solution is:

For each exception
 * 1) (manually) create a redirect page that is named "First LAST"
 * 2) (manually) make the content of that page simply:
 * 3) (manually) add all the same categories for this redirect page as you have already used on the primary page. e.g.

The "First LAST" page name will show up in the category index under the first letter of the First name and the "LAST First" page name will show up in that same category index under the first letter of the LAST name.

Maybe this is a better result for just that handful of characters who are better known by their first name. Redirect pages can be useful when dealing with this type of Many-to-One relationship or pagename aliases.

Good luck. -- najevi 01:47, August 28, 2010 (UTC)