当前位置: 首页>>代码示例>>PHP>>正文


PHP TypoScriptParser::getVal方法代码示例

本文整理汇总了PHP中TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::getVal方法的典型用法代码示例。如果您正苦于以下问题:PHP TypoScriptParser::getVal方法的具体用法?PHP TypoScriptParser::getVal怎么用?PHP TypoScriptParser::getVal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser的用法示例。


在下文中一共展示了TypoScriptParser::getVal方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: resolveTypoScriptReferences

 /**
  * Render a TypoScript and resolve all references (eg. " < plugin.tx_form...") recursively
  *
  * @param array $typoScript
  * @return array
  * @todo Extract to core then...
  */
 protected function resolveTypoScriptReferences(array $typoScript)
 {
     $ignoreKeys = array();
     foreach ($typoScript as $key => $value) {
         if (isset($ignoreKeys[$key])) {
             continue;
         }
         // i am a reference
         if ($value[0] === '<') {
             if (isset($typoScript[$key . '.'])) {
                 $oldTypoScript = $typoScript[$key . '.'];
             } else {
                 $oldTypoScript = array();
             }
             // detect search level
             $referencePath = trim(substr($value, 1));
             $dotPosition = strpos($referencePath, '.');
             if ($dotPosition === 0) {
                 // same position x =< .y
                 list($flatValue, $arrayValue) = $this->typoScriptParser->getVal(substr($referencePath, 1), $typoScript);
             } else {
                 list($flatValue, $arrayValue) = $this->typoScriptParser->getVal($referencePath, $GLOBALS['TSFE']->tmpl->setup);
             }
             if (is_array($arrayValue)) {
                 $typoScript[$key . '.'] = array_replace_recursive($arrayValue, $oldTypoScript);
             }
             if ($flatValue[0] === '<') {
                 $temporaryTypoScript = array('temp' => $flatValue, 'temp.' => $typoScript[$key . '.']);
                 $temporaryTypoScript = $this->resolveTypoScriptReferences($temporaryTypoScript);
                 $arrayValue = array_replace_recursive($temporaryTypoScript['temp.'], $arrayValue, $oldTypoScript);
             }
             if (is_array($arrayValue)) {
                 $typoScript[$key . '.'] = array_replace_recursive($arrayValue, $oldTypoScript);
             } elseif (isset($flatValue)) {
                 $typoScript[$key] = $flatValue;
             } else {
                 $typoScript[$key . '.'] = $oldTypoScript;
             }
         }
         // if array, then look deeper
         if (isset($typoScript[$key . '.'])) {
             $ignoreKeys[$key . '.'] = true;
             $typoScript[$key . '.'] = $this->resolveTypoScriptReferences($typoScript[$key . '.']);
         } elseif (is_array($typoScript[$key])) {
             // if array, then look deeper
             $typoScript[$key] = $this->resolveTypoScriptReferences($typoScript[$key]);
         }
     }
     return $typoScript;
 }
开发者ID:graurus,项目名称:testgit_t37,代码行数:57,代码来源:TypoScriptRepository.php

示例2: __construct

 /**
  * SitemapRepository constructor.
  * @SuppressWarnings(superglobals)
  */
 public function __construct()
 {
     $this->typoScriptParser = GeneralUtility::makeInstance(TypoScriptParser::class);
     $this->pluginConfig = $this->typoScriptParser->getVal('plugin.tx_sitemapgenerator', $GLOBALS['TSFE']->tmpl->setup);
 }
开发者ID:IchHabRecht,项目名称:sitemap_generator,代码行数:9,代码来源:SitemapRepository.php

示例3: substituteConstantsCallBack

 /**
  * Call back method for preg_replace_callback in substituteConstants
  *
  * @param $matches
  * @return string Replacement
  * @see substituteConstants()
  */
 public function substituteConstantsCallBack($matches)
 {
     $s = $this->parser->getVal($matches[1], $this->parser->setup);
     return isset($s[0]) ? $s[0] : $matches[0];
 }
开发者ID:itribe,项目名称:typoscript_code,代码行数:12,代码来源:ContentController.php


注:本文中的TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::getVal方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。