You are here: Re: [SMARTY] section sum of numbers... « Smarty Templates Posts « IT news, forums, messages
Re: [SMARTY] section sum of numbers...

Posted by boots on 07/25/05 20:35

Thanks!

I posted it because I wanted to highlight the fact that sometimes
simple problems need simple solutions. As for the "more general
reporting solution", the current version is mostly workable but it does
have a bad grouping bug and I would say that its overall design is not
the most elegant. I am working on-and-off on an improved version. If
you have comments on the current one or ideas for a future one, please
post them in the related thread at the forums (in the plugins forum,
titled Banded Report Generator).

Greetings.

--- Jochem Maas <jochem@iamjochem.com> wrote:
> just saw your reply, just wanted to complement you on the rather
> elegant example/snippet... it definitely has me thinking about new
> ways
> of doing things / looking at problems (especially regarding Smarty)
>
> :-)
>
> now to look up your 'more generalized reporting tool'
>
> rgds,
> Jochem
>
> boots wrote:
> > If you don't feel like building a bunch of objects to get simple
> sums
> > from normal recordsets you may enjoy this cheeky solution:
> >
> > Define the following function (you can delcare it as a modifier if
> you
> > wish, but it is not necessary to do so):
> >
> > function sum_records($v=0, $k=0, $key=null)
> > {
> > static $a=0;
> > if ($key == null) {
> > $b = $a;
> > $a = 0;
> > return $b;
> > } else {
> > $a += $v[$key];
> > }
> > }
> >
> > and assume that $data is an array of records. Then to sum for a
> given
> > field (say 'year' and 'sales') in the template:
> >
> > {$data|@array_walk:'sum_records':'year'|sum_records}
> > {$data|@array_walk:'sum_records':'sales'|sum_records}
> >
> > You can hide some of the details by creating a proper modifier,
> perhaps
> > ending with: {$data|@sum_on:'year'} but I will leave that as a
> trivial
> > excercise :)
> >
> > I think I would like the Iterator approach more if ArrayAccess was
> also
> > implemented; I'm not big on using property notation for fields in
> > templates but I guess that's just me :)
> >
> > FWIW, awhile ago I posted a more generalized reporting tool at the
> > forum though it is presently being upgraded so as to be more OOP
> like
> > in the backend while hopefully remaining template like in the
> > front-end. In the meantime, it works well enough to solve simpler
> cases
> > like this and also provide in-template sorting, etc.
> >
> > xo boots
>
>
> ....
>


__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация