本文整理汇总了PHP中TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::exec_getQuery方法的典型用法代码示例。如果您正苦于以下问题:PHP ContentObjectRenderer::exec_getQuery方法的具体用法?PHP ContentObjectRenderer::exec_getQuery怎么用?PHP ContentObjectRenderer::exec_getQuery使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer
的用法示例。
在下文中一共展示了ContentObjectRenderer::exec_getQuery方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sectionIndex
/**
* Generates a list of content objects with sectionIndex enabled
* available on a specific page
*
* Used for menus with sectionIndex enabled
*
* @param string $altSortField Alternative sorting field
* @param int $pid The page id to search for sections
* @throws \UnexpectedValueException if the query to fetch the content elements unexpectedly fails
* @return array
*/
protected function sectionIndex($altSortField, $pid = null)
{
$pid = (int) ($pid ?: $this->id);
$basePageRow = $this->sys_page->getPage($pid);
if (!is_array($basePageRow)) {
return array();
}
$tsfe = $this->getTypoScriptFrontendController();
$configuration = $this->mconf['sectionIndex.'];
$useColPos = 0;
if (trim($configuration['useColPos']) !== '' || is_array($configuration['useColPos.'])) {
$useColPos = $tsfe->cObj->stdWrap($configuration['useColPos'], $configuration['useColPos.']);
$useColPos = (int) $useColPos;
}
$selectSetup = array('pidInList' => $pid, 'orderBy' => $altSortField, 'languageField' => 'sys_language_uid', 'where' => $useColPos >= 0 ? 'colPos=' . $useColPos : '');
if ($basePageRow['content_from_pid']) {
// If the page is configured to show content from a referenced page the sectionIndex contains only contents of
// the referenced page
$selectSetup['pidInList'] = $basePageRow['content_from_pid'];
}
$resource = $this->parent_cObj->exec_getQuery('tt_content', $selectSetup);
if (!$resource) {
$message = 'SectionIndex: Query to fetch the content elements failed!';
throw new \UnexpectedValueException($message, 1337334849);
}
$result = array();
while ($row = $this->getDatabaseConnection()->sql_fetch_assoc($resource)) {
$this->sys_page->versionOL('tt_content', $row);
if ($tsfe->sys_language_contentOL && $basePageRow['_PAGES_OVERLAY_LANGUAGE']) {
$row = $this->sys_page->getRecordOverlay('tt_content', $row, $basePageRow['_PAGES_OVERLAY_LANGUAGE'], $tsfe->sys_language_contentOL);
}
if ($this->mconf['sectionIndex.']['type'] !== 'all') {
$doIncludeInSectionIndex = $row['sectionIndex'] >= 1;
$doHeaderCheck = $this->mconf['sectionIndex.']['type'] === 'header';
$isValidHeader = ((int) $row['header_layout'] !== 100 || !empty($this->mconf['sectionIndex.']['includeHiddenHeaders'])) && trim($row['header']) !== '';
if (!$doIncludeInSectionIndex || $doHeaderCheck && !$isValidHeader) {
continue;
}
}
if (is_array($row)) {
$uid = $row['uid'];
$result[$uid] = $basePageRow;
$result[$uid]['title'] = $row['header'];
$result[$uid]['nav_title'] = $row['header'];
// Prevent false exclusion in filterMenuPages, thus: Always show tt_content records
$result[$uid]['nav_hide'] = 0;
$result[$uid]['subtitle'] = $row['subheader'];
$result[$uid]['starttime'] = $row['starttime'];
$result[$uid]['endtime'] = $row['endtime'];
$result[$uid]['fe_group'] = $row['fe_group'];
$result[$uid]['media'] = $row['media'];
$result[$uid]['header_layout'] = $row['header_layout'];
$result[$uid]['bodytext'] = $row['bodytext'];
$result[$uid]['image'] = $row['image'];
$result[$uid]['sectionIndex_uid'] = $uid;
}
}
$this->getDatabaseConnection()->sql_free_result($resource);
return $result;
}
示例2: sectionIndex
/**
* Generates a list of content objects with sectionIndex enabled
* available on a specific page
*
* Used for menus with sectionIndex enabled
*
* @param string $altSortField Alternative sorting field
* @param integer $pid The page id to search for sections
* @throws UnexpectedValueException if the query to fetch the content elements unexpectedly fails
* @return array
*/
protected function sectionIndex($altSortField, $pid = NULL)
{
$pid = (int) ($pid ?: $this->id);
$basePageRow = $this->sys_page->getPage($pid);
if (!is_array($basePageRow)) {
return array();
}
$configuration = $this->mconf['sectionIndex.'];
$useColPos = 0;
if (trim($configuration['useColPos']) !== '' || is_array($configuration['useColPos.'])) {
$useColPos = $GLOBALS['TSFE']->cObj->stdWrap($configuration['useColPos'], $configuration['useColPos.']);
$useColPos = (int) $useColPos;
}
$selectSetup = array('pidInList' => $pid, 'orderBy' => $altSortField, 'languageField' => 'sys_language_uid', 'where' => $useColPos >= 0 ? 'colPos=' . $useColPos : '');
$resource = $this->parent_cObj->exec_getQuery('tt_content', $selectSetup);
if (!$resource) {
$message = 'SectionIndex: Query to fetch the content elements failed!';
throw new \UnexpectedValueException($message, 1337334849);
}
$result = array();
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($resource)) {
$this->sys_page->versionOL('tt_content', $row);
if ($GLOBALS['TSFE']->sys_language_contentOL && $basePageRow['_PAGES_OVERLAY_LANGUAGE']) {
$row = $this->sys_page->getRecordOverlay('tt_content', $row, $basePageRow['_PAGES_OVERLAY_LANGUAGE'], $GLOBALS['TSFE']->sys_language_contentOL);
}
if ($this->mconf['sectionIndex.']['type'] !== 'all') {
$doIncludeInSectionIndex = $row['sectionIndex'] >= 1;
$doHeaderCheck = $this->mconf['sectionIndex.']['type'] === 'header';
$isValidHeader = ((int) $row['header_layout'] !== 100 || !empty($this->mconf['sectionIndex.']['includeHiddenHeaders'])) && trim($row['header']) !== '';
if (!$doIncludeInSectionIndex || $doHeaderCheck && !$isValidHeader) {
continue;
}
}
if (is_array($row)) {
$uid = $row['uid'];
$result[$uid] = $basePageRow;
$result[$uid]['title'] = $row['header'];
$result[$uid]['nav_title'] = $row['header'];
$result[$uid]['subtitle'] = $row['subheader'];
$result[$uid]['starttime'] = $row['starttime'];
$result[$uid]['endtime'] = $row['endtime'];
$result[$uid]['fe_group'] = $row['fe_group'];
$result[$uid]['media'] = $row['media'];
$result[$uid]['header_layout'] = $row['header_layout'];
$result[$uid]['bodytext'] = $row['bodytext'];
$result[$uid]['image'] = $row['image'];
$result[$uid]['sectionIndex_uid'] = $uid;
}
}
$GLOBALS['TYPO3_DB']->sql_free_result($resource);
return $result;
}