'name1', 'value' => 'value1'), array('name' => 'name2', 'value' => 'value2'), array('name' => 'name3', 'value' => 'value3'), ); // another variable $data['myval'] = 2; // ... // let Block Layout "fill in" the template and return the output return pnTplModule('BL','user','main',$data); // or if you want to use different templates, based on some decision in // your function code, you can specify a particular template to be used // if ($this == true) { // $template = 'thisone'; // } else { // $template = 'thatone'; // } // ... // return pnTplModule('BL','user','main',$data,$template); } /* this also works for old-style (non-PN API) modules */ include 'header.php'; echo BL_user_main(); include 'footer.php'; ?>