Template talk:Body data
From Kerbal Space Program Wiki
explosions
hi! i'm new to this wiki but i am not new to wikis. i think the system used for this template — which involves tons of subpages and #switches — is a bit unnecessarily overcomplicated. it also has to be updated every time a new datum is entered (rather than just editing the [Body]/Data infobox). i've made a replacement using the #explode string function, which can be viewed in my sandbox. here's the content:
{{#explode:{{#explode:{{msgnw::{{{1|}}}/Data}}|{{{2|}}}=|1}}|||0}}
transclusion works like this:
{{:User:Apollo/sandbox|Moho|orbinc}} {{:User:Apollo/sandbox|Eve|soi}}
yields:
- 7
- Error: String exceeds 1,000 character limit.
etc. feel free to test it out with any other celestial body/parameter. i just wanted to ask whether this would be preferable before going ahead and implementing it in place of this template. especially since i'm new around here! thanks ~ Apollo [talk] 00:11, 21 August 2013 (CDT)
- This looks interesting! Absolutely worth considering. Of course changing this system takes a bit of work, as first the /Data pages should be updated, then this template and then the {{Infobox/Body}} (but that is optional). Although what would be your plan about the math type templates? — xZise [talk] 04:20, 21 August 2013 (CDT)
- And also the test values (name == Planetbox) need to handled. I wouldn't use Planetbox/Data as a page, but maybe add an if and switch?
{{#ifeq: {{{1}}}|Planetbox|{{#switch: {{{2}}} |radius=10000 |… }}| {{#explode:{{#explode:{{msgnw::{{{1|}}}/Data}}|{{{2|}}}=|1}}|||0}} }}
- — xZise [talk] 04:25, 21 August 2013 (CDT)
- I changed the parameters so that they don't get parsed here to see how your code works. I was wondering why the inner explode only had 3 parameters and the outer four, until I noticed that one of the pipes is in fact a HTML entity. — xZise [talk] 10:52, 21 August 2013 (CDT)
- oh, yeah i did not realise that the pre tag messed up the html entities. my bad! anyway, implementing this new template in already-existing pages/other templates would probably be a task best handled by a bot. it could probably be done through an elaborate search and replace function. as far as math templates go, my template could easily be integrated in. #expr will simply perform the desired operation with the numbers yielded. on the other hand, it seems that some of the body data, such as name and scale height, are not actually included in the infobox. there are two potential solutions for this:
- keep BodyData/ScaleHeight et al. and use them as a separate functions from this template
- include scale height/name/parent/etc. in the infobox — they wouldn't actually have to be displayed in the infobox, nor would the template need to be edited. adding |Parent=[whatever] to each infobox would have no effect on how the box displayed, even though "parent" is not a valid parameter. but, it could still be parsed by the template. this might be a bit over-complicated, and the first solution is probably superior.
- oh, yeah i did not realise that the pre tag messed up the html entities. my bad! anyway, implementing this new template in already-existing pages/other templates would probably be a task best handled by a bot. it could probably be done through an elaborate search and replace function. as far as math templates go, my template could easily be integrated in. #expr will simply perform the desired operation with the numbers yielded. on the other hand, it seems that some of the body data, such as name and scale height, are not actually included in the infobox. there are two potential solutions for this: