On Sat, Jul 14, 2001 at 01:33:32PM +0200, Josip Rodin wrote: > > > The foreach loop doesn't output anything because it doesn't seem to see > > > the > > > %langs variable. This is supposed to be included from the languages > > > template > > > but it broke recently. Anyone have any ideas? > > > > It's your own fault ;) > > This problem comes from template/debian/navbar.wml 1.54, especially this > > block of text: > > > > <ifeq "$(NOMIRRORS)" "" " > > <td align="right" valign="middle"> > > <table><tr><td align="center"> > > #include wml::debian::mirrors small="yea" usefonts="yes" > > fontcolor="#990000" > > </td></tr></table> > > </td> > > "> > > > > The #include directive is processed during the first pass, and it calls > > wml::debian::mirrors which in turn calls wml::debian::languages. > > But the searchtmpl/search.data file explicitely uses wml::debian::languages > itself. > > > So you see it is a bad idea to conditionnally include templates, or at > > least you should separate tag definitions from output text, so that the > > former are unconditionnally included. Meanwhile, just put > > #use wml::debian::countries > > #use wml::debian::languages > > before > > <ifeq "$(NOMIRRORS)" "" " > > ... > > In navbar.wml? But that file doesn't use those two templates, the mirrors > template uses them.
I think I see how your system works. Use-ing the languages template before the basic template in search.data makes it work because that way that is the first time it happens, and it's unconditional. -- Digital Electronic Being Intended for Assassination and Nullification

