public function render($componentId, $partialsConfig)
 {
     $partialClass = $partialsConfig['class'];
     $params = $partialsConfig['params'];
     $partial = new $partialClass($params);
     $ids = $partial->getIds();
     $number = 0;
     $count = count($ids);
     $ret = '';
     $helper = new Kwf_Component_View_Helper_Partial();
     $helper->setRenderer($this->_getRenderer());
     foreach ($ids as $id) {
         $config = array('id' => $id, 'class' => $partialClass, 'params' => $params, 'info' => array('total' => $count, 'number' => $number++));
         $content = $helper->partial($componentId, $config, $id, $partialsConfig['viewCacheEnabled']);
         if (isset($params['tpl'])) {
             $tpl = $params['tpl'];
         } else {
             $tpl = '{content}';
         }
         $ret .= str_replace(array('{id}', '{content}'), array($id, $content), $tpl);
     }
     if (empty($ids) && isset($params['noEntriesFound']) && $params['noEntriesFound']) {
         $ret .= '<span class="noEntriesFound">' . $params['noEntriesFound'] . '</span>';
     }
     return $ret;
 }
 public function load($row, $info)
 {
     $primaryKeyValue = $row->id;
     $config = array('id' => $primaryKeyValue, 'class' => 'Kwf_Component_Partial_Id', 'params' => array('componentId' => $this->_componentId), 'info' => array('total' => $info['total'], 'number' => $info['number']));
     $renderer = new Kwf_Component_Renderer();
     $helper = new Kwf_Component_View_Helper_Partial();
     $helper->setRenderer($renderer);
     $ret = $helper->partial($this->_componentId, $config, $primaryKeyValue, true);
     return $renderer->render($ret);
 }