Показать сообщение отдельно
Старый 10.02.2012, 18:45   #5
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

Цитата:
Сообщение от dmartynenko Посмотреть сообщение
Пример собственного BE модуля есть в эксте tt_news папка \mod1 (в BE это News Admin). Там как раз то что вам нужно.
спасибо, я заметил Вы часто на этот модуль ссылаетесь

Код:
	function displayNewsList()	{
		$content = '';

		$this->initSubCategories();

		$table = 'tt_news';
		$dblist = t3lib_div::makeInstance('tx_ttnews_recordlist');

		$dblist->backPath = $GLOBALS['BACK_PATH'];
		$dblist->script = $this->script;
		$dblist->doEdit = $this->mayUserEditArticles;
		$dblist->ext_CALC_PERMS = $this->newArticleCalcPerms;
		$dblist->perms_clause = $this->perms_clause;
		$dblist->agePrefixes = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.minutesHoursDaysYears');
		$dblist->id = $this->id;
		$dblist->newRecPid = $this->newArticlePid;
		$dblist->singlePid = $this->singlePid;
		$dblist->selectedCategories = $this->selectedCategories;
		$dblist->category = $this->category;
		$dblist->returnUrl = t3lib_extMgm::extRelPath('tt_news').'mod1/'.$dblist->listURL($this->id,FALSE);
		$dblist->excludeCats = $this->excludeCats;
		$dblist->includeCats = $this->includeCats;
		$dblist->isAdmin = $this->isAdmin;
		$dblist->current_sys_language = $this->current_sys_language;
		$dblist->showOnlyEditable = $this->mData['showOnlyEditable'];
		$dblist->pidList = $this->pidList;
		$dblist->editablePagesList = $this->editablePagesList;

		$dblist->start($this->id,$table,$this->pointer,$this->search_field,$this->searchLevels,$this->showLimit);

		$externalTables[$table][0]['fList'] = $this->fieldList;
		$externalTables[$table][0]['icon'] = $this->TSprop['list.']['icon'];

		$dblist->externalTables = $externalTables;
		$dblist->no_noWrap = TRUE;
		$dblist->lTSprop = $this->TSprop['list.'];
		$dblist->thumbs = $this->thumbs;
		$dblist->pObj = &$this;

		$dblist->generateList();

		if (is_array($this->TSprop['list.']['show.']) && $this->TSprop['list.']['show.']['search']) {
			$search = $this->displaySearch($dblist->listURL($this->id,FALSE));
			$content .= '<div style="float:right;">'.$search.'</div>';
		}

		$content .= $this->renderListCheckBoxes();
		$content .= $this->getListHeaderMsg($dblist);
		$content .= $dblist->HTMLcode;

		$content = '<form action="'.htmlspecialchars($dblist->listURL()).'" method="post" name="dblistForm">'.$content.'</form>';


		return '<div id="ttnewslist">'.$content.'</div>';
	}
но они используют свой инстанс для генерации таблицы, мне бы хотелось узнать о встроенном в typo3




думаю копать следует в этом направлении

http://api.typo3.org/typo3v4/45/html...hp_source.html

метод public function render
Код:
00086         public function render($tableName, array $fieldList = array(), $storagePid = NULL, $levels = 0, $filter = '', $recordsPerPage = 0, $sortField = '', $sortDescending = FALSE, $readOnly = FALSE, $enableClickMenu = TRUE, $clickTitleMode = NULL, $alternateBackgroundColors = FALSE) {
00087                 $pageinfo = t3lib_BEfunc::readPageAccess(t3lib_div::_GP('id'), $GLOBALS['BE_USER']->getPagePermsClause(1));
00088 
00089                 $dblist = t3lib_div::makeInstance('localRecordList');
00090                 $dblist->backPath = $GLOBALS['BACK_PATH'];
00091                 $dblist->pageRow = $pageinfo;
00092                 if ($readOnly === FALSE) {
00093                         $dblist->calcPerms = $GLOBALS['BE_USER']->calcPerms($pageinfo);
00094                 }
00095                 $dblist->showClipboard = FALSE;
00096                 $dblist->disableSingleTableView = TRUE;
00097                 $dblist->clickTitleMode = $clickTitleMode;
00098                 $dblist->alternateBgColors = $alternateBackgroundColors;
00099                 $dblist->clickMenuEnabled = $enableClickMenu;
00100 
00101                 if ($storagePid === NULL) {
00102                         $frameworkConfiguration = $this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
00103                         $storagePid = $frameworkConfiguration['persistence']['storagePid'];
00104                 }
00105 
00106                 $dblist->start($storagePid, $tableName, (integer)t3lib_div::_GP('pointer'), $filter, $levels, $recordsPerPage);
00107                 $dblist->allFields = TRUE;
00108                 $dblist->dontShowClipControlPanels = TRUE;
00109                 $dblist->displayFields = FALSE;
00110                 $dblist->setFields = array($tableName => $fieldList);
00111                 $dblist->noControlPanels = TRUE;
00112                 $dblist->sortField = $sortField;
00113                 $dblist->sortRev = $sortDescending;
00114 
00115                 $dblist->script = $_SERVER['REQUEST_URI'];
00116                 $dblist->generateList();
00117 
00118                 return $dblist->HTMLcode;
00119         }
уж очень похоже на то что я ищу

Последний раз редактировалось 3ton; 10.02.2012 в 19:01
3ton вне форума   Ответить с цитированием