Thanks Peter
I took your second solution (the one with the Markup) since to my eyes this is more pmwiki-style than the wikish-thing. Anyway both solutions look fine. Finally I got it working. And I even added some titles to the topic areas. Thanks for your hints, I learned a lot.

------------ code into config.php ---------------
Markup("loop-de-loop", "<pagelist", "/\\(::loop-de-loop (.*?)::\\)/e",
"NestedLoopEcho('$1')");

function NestedLoopEcho($arg)
{
    $arg = stripslashes(str_replace('\n', "{newline}", $arg));
    $topics = array('Birds','Fish','Dinosaurs','Insects','Mammals');
    $opt = array('start1'=>1, 'end1'=>5, 'start2'=>1, 'end2'=>200);
    $opt = array_merge($opt, ParseArgs($arg));
    $rtn = "";
    for ($i = $opt['start1']; $i <= $opt['end1']; $i++)
    {
        if ($opt['fmt1'])
        {
$rtn .= str_replace(array('{loop1}', '{loop2}', '{newline}'), array($topics[$i-1], $j, "\n"), $opt['fmt1']);
        }
        for ($j = $opt['start2']; $j <= $opt['end2']; $j++)
        {
            if ($opt['fmt2'])
            {
$rtn .= str_replace(array('{loop1}', '{loop2}', '{newline}'), array($i, $j, "\n"), $opt['fmt2']);
                if ($opt['fmt3'])
                {
$rtn .= str_replace(array('{loop1}', '{loop2}', '{newline}'), array($i, $j, "\n"), $opt['fmt3']);
                }
            }
        }
    }
    return $rtn;
}
--------------------------------------------------------------

-------------- code onto pagelist-page ---------------------
(::loop-de-loop start1=1 end1=2 start2=120 end2=130 fmt1="{newline}!!!Topic area: {loop1}" fmt2="{newline}Question {loop2}: " fmt3='(:pagelist "[[#answer-{loop1}-{loop2}]]" order=title loop1={loop1} loop2={loop2} fmt=#listansweringpages:)'::)
---------------------------------------------------------------------------

don't forget to put this all on one line. One can adapt the values start1/end1 and start2/end2 to one's needs.

Markus


_______________________________________________
pmwiki-users mailing list
[email protected]
http://www.pmichaud.com/mailman/listinfo/pmwiki-users

Reply via email to