From: Patrick N. <ma...@pa...> - 2010-03-06 15:20:25
|
Hi David, On 2010-03-06 14:20 UTC David Raison wrote: > Is it possible to typecast properties? > > I.e.: If I have a property of type "page" that I'd like to use in a > template like so: > > [[{{{1}}}|{{{2}}}]] > > Where, 1 is of type "page" and 2 is of type "string". As it is, this > results in [[[[Page]]|Title I'd like to have]] > > So, I'd like to cast {{{1}}} to string, only for this template. > > Alternatively, can one just extract the link part of property 1 but not the > string? If it is about an #ask query with format=template, you can use 'link=none' to get plain strings instead of links. If you need the string to be a link again in other places, it's easy to add double square brackets around it again. If you need to do that for other reasons, maybe this ParserFunctions/StringFunctions hack (call it Template:LinkToString or something) will help: ---- <noinclude>Input: A wiki-link as it comes out of #ask queries (<nowiki>[[:foo| bar]]</nowiki>) Output: foo</noinclude><includeonly>{{ #explode:{{#sub:{{{1}}}|3}}|{{!}}|0}}</includeonly> ---- ({{!}} is the always popular pipe Template that contains nothing but '|') Patrick. -- Key ID: 0x86E346D4 http://patrick-nagel.net/key.asc Fingerprint: 7745 E1BE FA8B FBAD 76AB 2BFC C981 E686 86E3 46D4 |