parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

о пользе @postprocess для fixup ссылок и вывода случайных банеров

Александр Петросян (PAF) 09.11.2002 16:09

бывают тяжёлые случаи, которые трудно написать хорошо.
скажем, если вы прописываете ссылки вручную, то понятно, что id ссылок заранее неизвестны, и выдать один sql на всех вроде как нельзя. но можно :)
@auto[]
$links[^table::create{id}]

@link[id]
^links.append{$id}<link id="$id"/>

@main[]
...^link[1]...^link[2]...

@postprocess[body]
#fixup ссылок
$urls[^hash::sql{
    select id, url from ... 
    where id in (^links.menu{$links.id}[,])
}]
$body.найти <link ...> и заменить его на $titles.$найденный_id.url
похожий подход можно использовать для кэширования страниц со случайными элементами, скажем, банерами.