a first bugfix for array support
parent
8f598d529e
commit
7a8981437e
|
@ -16,6 +16,35 @@ yields:
|
|||
|
||||
Seems to me this could be checked and `join(" ")`'d. :) -- [[anarcat]]
|
||||
|
||||
> I wrote a stupid fix for this, which works for getfield, but isn't as good for report. It simply does that `join()`. Here's the patch:
|
||||
>
|
||||
> [[!format diff """
|
||||
--- a/IkiWiki/Plugin/field.pm
|
||||
+++ b/IkiWiki/Plugin/field.pm
|
||||
@@ -322,6 +322,9 @@ sub field_get_value ($$;@) {
|
||||
{
|
||||
$basevalue = calculated_values($lc_field_name, $page);
|
||||
}
|
||||
+ if (ref($basevalue) eq "ARRAY") {
|
||||
+ $basevalue = join(" ", @{$basevalue}); # hack
|
||||
+ }
|
||||
if (defined $basevalue)
|
||||
{
|
||||
$Cache{$page}{$basename} = $basevalue;
|
||||
@@ -360,6 +363,9 @@ sub field_get_value ($$;@) {
|
||||
{
|
||||
$value = $basevalue;
|
||||
}
|
||||
+ if (ref($value) eq "ARRAY") {
|
||||
+ $value = join(" ", @{$value}); # hack
|
||||
+ }
|
||||
if (defined $value)
|
||||
{
|
||||
$Cache{$page}{$lc_field_name} = $value;
|
||||
"""]]
|
||||
>
|
||||
> Seems to me this should be the default, at the very least in getfield. But at least, with the above patch we don't see expanded Perl ref's. ;) --[[anarcat]]
|
||||
|
||||
## Templating, and other uses
|
||||
|
||||
Like you mentioned in [[ftemplate]] IIRC, it'll only work on the same page. If it can be made to work anywhere, or from a specific place in the wiki - configurable, possibly - you'll have something very similar to mediawiki's templates. I can already think of a few uses for this combined with [[template]] ;) . --[[SR|users/simonraven]]
|
||||
|
|
Loading…
Reference in New Issue