[ic] timed-build and discount tag
Stefan Hornburg
racke at linuxia.de
Tue Jul 7 06:55:09 UTC 2009
Music wrote:
> Hi
>
> I am using a modified merchandising table to build a list of timed
> discounted items.
>
> I then loop through the table and adjust pricing for all discounted items.
>
> This works great and it allows us to apply discounted items with start and
> end dates. i.e. Discounted July 4th only.
>
> However I am trying to set up caching of the discounted items using
> timed-build so we don't have to loop through and find the discounted items
> on every page load.
>
> i.e.
>
> [comment]apply discounts and cache[/comment]
> [timed-build file=discountcache reparse=1 force=1 minutes="10"]
> [query arrayref=main
> sql="
> SELECT sku,timed_promotion,start_date,finish_date
> FROM merchandising
> WHERE discount = 'discounted'
> "][/query]
> [perl tables="merchandising"]
> my @out;
> my $ref;
> my $db;
> delete $Scratch->{promo_codes};
> my $date = $Tag->time( { body => '%Y%m%d' } );
> $ref = $Tmp->{main} or return;
> for(@$ref) {
> my $line = $_;
> push(@out, $line->[0]), next if ! $line->[1];
> next if $line->[2] gt $date;
> next if $line->[3] lt $date;
> push @out, $line->[0];
> }
> $Scratch->{promo_codes} = join(' ', @out);
> return;
> [/perl]
> [loop
> list="[scratch promo_codes]"
> ]
>
> [discount [loop-code]] $s - $q * [loop-data merchandising
> discountminus][/discount]
> [/loop]
> <!--discounts applied [time]%k:%M%p[/time]-->
> [/timed-build]
>
>
> With the above code the cached file only includes the "discounts applied
> time' text (last line) and the list of discounted items appears as blank
> lines.
>
> It all works perfectly if I remove the timed-build.
>
> How do I get IC to write the list of discounted items to the cached file or
> is there another way of caching a loop of [discount] tags?
That looks like a bug to me. The answer would be to fix this bug :-).
Regards
Racke
--
LinuXia Systems => http://www.linuxia.de/
Expert Interchange Consulting and System Administration
ICDEVGROUP => http://www.icdevgroup.org/
Interchange Development Team
More information about the interchange-users
mailing list