Redaxscript\View\ResultList::render PHP Method

render() public method

render the view
Since: 3.0.0
public render ( array $resultArray = [] ) : string
$resultArray array array for the result
return string
    public function render($resultArray = [])
    {
        $output = Hook::trigger('resultListStart');
        $accessValidator = new Validator\Access();
        /* html elements */
        $titleElement = new Html\Element();
        $titleElement->init('h2', ['class' => 'rs-title-result']);
        $listElement = new Html\Element();
        $listElement->init('ol', ['class' => 'rs-list-result']);
        $itemElement = new Html\Element();
        $itemElement->init('li');
        $linkElement = new Html\Element();
        $linkElement->init('a', ['class' => 'rs-link-result']);
        $textElement = new Html\Element();
        $textElement->init('span', ['class' => 'rs-text-result-date']);
        /* process result */
        foreach ($resultArray as $table => $result) {
            $outputItem = null;
            if ($result) {
                /* collect item output */
                foreach ($result as $value) {
                    if ($accessValidator->validate($result->access, $this->_registry->get('myGroups')) === Validator\ValidatorInterface::PASSED) {
                        $textDate = date(Db::getSetting('date'), strtotime($value->date));
                        $linkElement->attr('href', $this->_registry->get('parameterRoute') . build_route($table, $value->id))->text($value->title ? $value->title : $value->author);
                        $textElement->text($textDate);
                        $outputItem .= $itemElement->html($linkElement . $textElement);
                    }
                }
                /* collect output */
                if ($outputItem) {
                    $titleElement->text($this->_language->get($table));
                    $listElement->html($outputItem);
                    $output .= $titleElement . $listElement;
                }
            }
        }
        $output .= Hook::trigger('resultListEnd');
        return $output;
    }

Usage Example

Esempio n. 1
0
 /**
  * testRender
  *
  * @since 3.0.0
  *
  * @param array $searchArray
  * @param array $expectArray
  *
  * @dataProvider providerRender
  */
 public function testRender($searchArray = [], $expectArray = [])
 {
     /* setup */
     $resultList = new View\ResultList($this->_registry, $this->_language);
     $controllerSearch = new Controller\Search($this->_registry, $this->_language, $this->_request);
     $resultArray = $this->callMethod($controllerSearch, '_search', [$searchArray]);
     /* actual */
     $actualArray = $resultList->render($resultArray);
     /* compare */
     $this->assertEquals($expectArray, $actualArray);
 }
All Usage Examples Of Redaxscript\View\ResultList::render
ResultList