Difference between revisions of "Template talk:Hgame"

From Hgames Wiki
Jump to: navigation, search
Line 25: Line 25:
 
}}</nowiki>
 
}}</nowiki>
 
:: That would print ''game'''s value if it is specified, otherwise it will print ''the first part of fullpagename''. Is that what it should do? - [[User:Loliturma|Loliturma]] ([[User talk:Loliturma|talk]]) 11:28, 24 March 2014 (UTC)
 
:: That would print ''game'''s value if it is specified, otherwise it will print ''the first part of fullpagename''. Is that what it should do? - [[User:Loliturma|Loliturma]] ([[User talk:Loliturma|talk]]) 11:28, 24 March 2014 (UTC)
 +
:: Forgot to mention: in case you need to duplicate a parserfunction in multiple places, it might be a good idea to place it into a template of its own, ''(eg. {{t|GetGameName}} or something)'' to simplify things. - [[User:Loliturma|Loliturma]] ([[User talk:Loliturma|talk]]) 11:39, 24 March 2014 (UTC)

Revision as of 13:39, 24 March 2014

WTF

I peeked at the template and noticed multiple duplications of this code: {{#ifeq: {{{game|{{#titleparts: {{FULLPAGENAME}}|1}}}}}|{{#titleparts: {{FULLPAGENAME}}|1}}|{{#titleparts: {{FULLPAGENAME}}|1}}|{{{game}}}}}

The same with better readability

{{#ifeq: {{{game|{{#titleparts: {{FULLPAGENAME}}|1}}}}}
       | {{#titleparts: {{FULLPAGENAME}}|1}}
       | {{#titleparts: {{FULLPAGENAME}}|1}}
       | {{{game}}}
}}

So, it checks if the value of game is equal to the first part of fullpagename.

  • if yes, it prints the first part of fullpagename
  • if no, it prints the value of game

It prints a string equal to game in any case. I'm going to poke around the template a bit to get a better idea what's going on. - Loliturma (talk) 09:11, 24 March 2014 (UTC)

The reason for that is to enable the template to guess it's game in a subpaged structure, so the game= parameter is no longer needed when using subpages - without breaking compatibility with the "classic" page structure of older games. The target is to reduce the number of parameters to the template and make the template more "smart". --hmoeller [ Talk - Contribs ] 10:33, 24 March 2014 (UTC)
Ahhh, now I get the idea. However, the code did not do that: It doesn't work if the game parameter is unspecified. I guess the equal / not equal options were accidentally set backwards? Anyways, it could be simplified to {{#if:{{{game|}}}|{{{game}}}|{{#titleparts:{{FULLPAGENAME}}|1}}}}
human-readable version

{{#if: {{{game|}}}
  | {{{game}}}
  | {{#titleparts: {{FULLPAGENAME}}|1}}
}}
That would print game's value if it is specified, otherwise it will print the first part of fullpagename. Is that what it should do? - Loliturma (talk) 11:28, 24 March 2014 (UTC)
Forgot to mention: in case you need to duplicate a parserfunction in multiple places, it might be a good idea to place it into a template of its own, (eg. {{GetGameName}} or something) to simplify things. - Loliturma (talk) 11:39, 24 March 2014 (UTC)