Contao\PageSelector::generateAjax PHP Метод

generateAjax() публичный Метод

Generate a particular subpart of the page tree and return it as HTML string
public generateAjax ( integer $id, string $strField, integer $level ) : string
$id integer
$strField string
$level integer
Результат string
    public function generateAjax($id, $strField, $level)
    {
        if (!\Environment::get('isAjaxRequest')) {
            return '';
        }
        $this->strField = $strField;
        $this->loadDataContainer($this->strTable);
        // Load current values
        switch ($GLOBALS['TL_DCA'][$this->strTable]['config']['dataContainer']) {
            case 'File':
                if (\Config::get($this->strField) != '') {
                    $this->varValue = \Config::get($this->strField);
                }
                break;
            case 'Table':
                if (!$this->Database->fieldExists($this->strField, $this->strTable)) {
                    break;
                }
                $objField = $this->Database->prepare("SELECT " . $this->strField . " FROM " . $this->strTable . " WHERE id=?")->limit(1)->execute($this->strId);
                if ($objField->numRows) {
                    $this->varValue = \StringUtil::deserialize($objField->{$this->strField});
                }
                break;
        }
        $this->getPathNodes();
        // Load the requested nodes
        $tree = '';
        $level = $level * 20;
        $objPage = $this->Database->prepare("SELECT id FROM tl_page WHERE pid=? ORDER BY sorting")->execute($id);
        while ($objPage->next()) {
            $tree .= $this->renderPagetree($objPage->id, $level);
        }
        return $tree;
    }