|
TYPO3 API
SVNRelease
|
00001 <?php 00002 /*************************************************************** 00003 * Copyright notice 00004 * 00005 * (c) 2010-2011 Xavier Perseguers <typo3@perseguers.ch> 00006 * (c) 2010-2011 Steffen Kamper <steffen@typo3.org> 00007 * All rights reserved 00008 * 00009 * This script is part of the TYPO3 project. The TYPO3 project is 00010 * free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2 of the License, or 00013 * (at your option) any later version. 00014 * 00015 * The GNU General Public License can be found at 00016 * http://www.gnu.org/copyleft/gpl.html. 00017 * A copy is found in the textfile GPL.txt and important notices to the license 00018 * from the author is found in LICENSE.txt distributed with these scripts. 00019 * 00020 * 00021 * This script is distributed in the hope that it will be useful, 00022 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00024 * GNU General Public License for more details. 00025 * 00026 * This copyright notice MUST APPEAR in all copies of the script! 00027 ***************************************************************/ 00028 00029 /** 00030 * Contains HMENU class object. 00031 * 00032 * $Id: class.tslib_content.php 7905 2010-06-13 14:42:33Z ohader $ 00033 * @author Xavier Perseguers <typo3@perseguers.ch> 00034 * @author Steffen Kamper <steffen@typo3.org> 00035 */ 00036 class tslib_content_HierarchicalMenu extends tslib_content_Abstract { 00037 00038 /** 00039 * Rendering the cObject, HMENU 00040 * 00041 * @param array Array of TypoScript properties 00042 * @return string Output 00043 */ 00044 public function render($conf = array()) { 00045 00046 $theValue = ''; 00047 00048 if ($this->cObj->checkIf($conf['if.'])) { 00049 00050 $cls = strtolower($conf[1]); 00051 00052 if (t3lib_div::inList($GLOBALS['TSFE']->tmpl->menuclasses, $cls)) { 00053 00054 if (isset($conf['special.']['value.'])) { 00055 $conf['special.']['value'] = $this->cObj->stdWrap($conf['special.']['value'], $conf['special.']['value.']); 00056 } 00057 00058 $GLOBALS['TSFE']->register['count_HMENU']++; 00059 $GLOBALS['TSFE']->register['count_HMENU_MENUOBJ'] = 0; 00060 $GLOBALS['TSFE']->register['count_MENUOBJ'] = 0; 00061 $GLOBALS['TSFE']->applicationData['GMENU_LAYERS']['WMid'] = array(); 00062 $GLOBALS['TSFE']->applicationData['GMENU_LAYERS']['WMparentId'] = array(); 00063 00064 $menu = t3lib_div::makeInstance('tslib_' . $cls); 00065 $menu->parent_cObj = $this->cObj; 00066 $menu->start($GLOBALS['TSFE']->tmpl, $GLOBALS['TSFE']->sys_page, '', $conf, 1); 00067 $menu->makeMenu(); 00068 00069 $theValue .= $menu->writeMenu(); 00070 00071 } 00072 00073 $wrap = isset($conf['wrap.']) 00074 ? $this->cObj->stdWrap($conf['wrap'], $conf['wrap.']) 00075 : $conf['wrap']; 00076 if ($wrap) { 00077 $theValue = $this->cObj->wrap($theValue, $wrap); 00078 } 00079 00080 if (isset($conf['stdWrap.'])) { 00081 $theValue = $this->cObj->stdWrap($theValue, $conf['stdWrap.']); 00082 } 00083 00084 } 00085 00086 return $theValue; 00087 00088 } 00089 00090 } 00091 00092 00093 if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['tslib/content/class.tslib_content_hierarchicalmenu.php'])) { 00094 include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['tslib/content/class.tslib_content_hierarchicalmenu.php']); 00095 } 00096 00097 ?>
1.8.0