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


PHP NodeData::getProperty方法代码示例

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


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

示例1: getProperty

 /**
  * Returns the specified property.
  *
  * If the node has a content object attached, the property will be fetched
  * there if it is gettable.
  *
  * @param string $propertyName Name of the property
  * @param boolean $returnNodesAsIdentifiers If enabled, references to nodes are returned as node identifiers instead of NodeData objects
  * @return mixed value of the property
  * @api
  */
 public function getProperty($propertyName, $returnNodesAsIdentifiers = false)
 {
     $value = $this->nodeData->getProperty($propertyName);
     if (!empty($value)) {
         $nodeType = $this->getNodeType();
         if ($nodeType->hasConfiguration('properties.' . $propertyName)) {
             $expectedPropertyType = $nodeType->getPropertyType($propertyName);
             switch ($expectedPropertyType) {
                 case 'references':
                     if ($returnNodesAsIdentifiers === false) {
                         $nodes = array();
                         foreach ($value as $nodeIdentifier) {
                             $node = $this->context->getNodeByIdentifier($nodeIdentifier);
                             // $node can be NULL if the node is not visible according to the current content context:
                             if ($node !== null) {
                                 $nodes[] = $node;
                             }
                         }
                         $value = $nodes;
                     }
                     break;
                 case 'reference':
                     if ($returnNodesAsIdentifiers === false) {
                         $value = $this->context->getNodeByIdentifier($value);
                     }
                     break;
                 default:
                     $value = $this->propertyMapper->convert($value, $expectedPropertyType);
                     break;
             }
         }
     }
     return $value;
 }
开发者ID:rderidder,项目名称:neos-development-collection,代码行数:45,代码来源:Node.php

示例2: matches

 /**
  * Returns TRUE if the given node has the property and the value is not empty.
  *
  * @param \TYPO3\TYPO3CR\Domain\Model\NodeData $node
  * @return boolean
  */
 public function matches(\TYPO3\TYPO3CR\Domain\Model\NodeData $node)
 {
     if ($node->hasProperty($this->propertyName)) {
         $propertyValue = $node->getProperty($this->propertyName);
         return !empty($propertyValue);
     }
     return FALSE;
 }
开发者ID:radmiraal,项目名称:neos-development-collection,代码行数:14,代码来源:PropertyNotEmpty.php

示例3: matches

 /**
  * Returns TRUE if the given node has the property and the value is not empty.
  *
  * @param NodeData $node
  * @return boolean
  */
 public function matches(NodeData $node)
 {
     if ($node->hasProperty($this->propertyName)) {
         $propertyValue = $node->getProperty($this->propertyName);
         return !empty($propertyValue);
     }
     return false;
 }
开发者ID:robertlemke,项目名称:neos-development-collection,代码行数:14,代码来源:PropertyNotEmpty.php

示例4: extractComments

 /**
  * Extract comments and deserialize them
  *
  * @param NodeInterface|NodeData $nodeOrNodeData
  * @return array
  */
 protected function extractComments($nodeOrNodeData)
 {
     if ($nodeOrNodeData->hasProperty('comments')) {
         $comments = $nodeOrNodeData->getProperty('comments');
         if (is_string($comments) && strlen($comments) > 0) {
             return json_decode($comments, TRUE);
         }
     }
     return array();
 }
开发者ID:sandstorm,项目名称:contentcomments,代码行数:16,代码来源:WorkspaceAspect.php

示例5: getPropertyThrowsAnExceptionIfTheSpecifiedPropertyDoesNotExistInTheContentObject

    /**
     * @test
     * @expectedException \TYPO3\TYPO3CR\Exception\NodeException
     */
    public function getPropertyThrowsAnExceptionIfTheSpecifiedPropertyDoesNotExistInTheContentObject()
    {
        $className = uniqid('Test');
        eval('
			class ' . $className . ' {
				public $title = "My Title";
			}
		');
        $contentObject = new $className();
        $this->nodeData->setContentObject($contentObject);
        $this->nodeData->getProperty('foo');
    }
开发者ID:hhoechtl,项目名称:neos-development-collection,代码行数:16,代码来源:NodeDataTest.php

示例6: execute

 /**
  * If AssetList contains only 1 file, and it's of type Audio, turn it into targetNodeType
  *
  * @param \TYPO3\TYPO3CR\Domain\Model\NodeData $node
  * @return void
  */
 public function execute(\TYPO3\TYPO3CR\Domain\Model\NodeData $node)
 {
     $assets = $node->getProperty($this->sourcePropertyName);
     if (count($assets) === 1) {
         $asset = $assets[0];
         if ($asset instanceof $this->assetType) {
             $nodeType = $this->nodeTypeManager->getNodeType($this->targetNodeType);
             $node->setNodeType($nodeType);
             $node->setProperty($this->targetPropertyName, $asset);
             $node->removeProperty($this->sourcePropertyName);
             echo "Converted AssetList with asset of type" . $this->assetType . " to node of type " . $this->targetNodeType . "\n";
         }
     }
 }
开发者ID:Weissheiten,项目名称:Sfi.Shared,代码行数:20,代码来源:ConvertAssetsToAudioTransformation.php

示例7: getProperty

 /**
  * Returns the specified property.
  *
  * If the node has a content object attached, the property will be fetched
  * there if it is gettable.
  *
  * @param string $propertyName Name of the property
  * @param boolean $returnNodesAsIdentifiers If enabled, references to nodes are returned as node identifiers instead of NodeInterface instances
  * @return mixed value of the property
  * @api
  */
 public function getProperty($propertyName, $returnNodesAsIdentifiers = false)
 {
     $value = $this->nodeData->getProperty($propertyName);
     if (empty($value)) {
         return $value;
     }
     $nodeType = $this->getNodeType();
     if (!$nodeType->hasConfiguration('properties.' . $propertyName)) {
         return $value;
     }
     $expectedPropertyType = $nodeType->getPropertyType($propertyName);
     if ($expectedPropertyType === 'references') {
         return $returnNodesAsIdentifiers ? $value : $this->resolvePropertyReferences($value);
     }
     if ($expectedPropertyType === 'reference') {
         return $returnNodesAsIdentifiers ? $value : $this->context->getNodeByIdentifier($value);
     }
     return $this->propertyMapper->convert($value, $expectedPropertyType);
 }
开发者ID:hhoechtl,项目名称:neos-development-collection,代码行数:30,代码来源:Node.php

示例8: execute

 /**
  * Change the property on the given node.
  *
  * @param NodeData $node
  * @return NodeData
  */
 public function execute(NodeData $node)
 {
     $reference = (string) $node->getProperty('plugin');
     $workspace = $node->getWorkspace();
     do {
         if ($this->reverse === false && preg_match(NodeInterface::MATCH_PATTERN_PATH, $reference)) {
             $pluginNode = $this->nodeDataRepository->findOneByPath($reference, $node->getWorkspace());
         } else {
             $pluginNode = $this->nodeDataRepository->findOneByIdentifier($reference, $node->getWorkspace());
         }
         if (isset($pluginNode)) {
             break;
         }
         $workspace = $workspace->getBaseWorkspace();
     } while ($workspace && $workspace->getName() !== 'live');
     if (isset($pluginNode)) {
         $node->setProperty('plugin', $this->reverse === false ? $pluginNode->getIdentifier() : $pluginNode->getPath());
     }
     return $node;
 }
开发者ID:mgoldbeck,项目名称:neos-development-collection,代码行数:26,代码来源:PluginViewTransformation.php

示例9: getProperty

 /**
  * Returns the specified property.
  *
  * If the node has a content object attached, the property will be fetched
  * there if it is gettable.
  *
  * @param string $propertyName Name of the property
  * @param boolean $returnNodesAsIdentifiers If enabled, references to nodes are returned as node identifiers instead of NodeData objects
  * @return mixed value of the property
  * @api
  */
 public function getProperty($propertyName, $returnNodesAsIdentifiers = FALSE)
 {
     $value = $this->nodeData->getProperty($propertyName, $returnNodesAsIdentifiers, $this->context);
     if (!empty($value) && $returnNodesAsIdentifiers === FALSE) {
         switch ($this->getNodeType()->getPropertyType($propertyName)) {
             case 'references':
                 $nodes = array();
                 foreach ($value as $nodeData) {
                     $node = $this->nodeFactory->createFromNodeData($nodeData, $this->context);
                     // $node can be NULL if the node is not visible according to the current content context:
                     if ($node !== NULL) {
                         $nodes[] = $node;
                     }
                 }
                 $value = $nodes;
                 break;
             case 'reference':
                 $value = $this->nodeFactory->createFromNodeData($value, $this->context);
                 break;
         }
     }
     return $value;
 }
开发者ID:radmiraal,项目名称:TYPO3.TYPO3CR,代码行数:34,代码来源:Node.php

示例10: execute

 /**
  * Renames the configured property to the new name.
  *
  * @param NodeData $node
  * @return void
  */
 public function execute(NodeData $node)
 {
     $node->setProperty($this->newPropertyName, $node->getProperty($this->oldPropertyName));
     $node->removeProperty($this->oldPropertyName);
 }
开发者ID:robertlemke,项目名称:neos-development-collection,代码行数:11,代码来源:RenameProperty.php

示例11: execute

 /**
  * Strips tags on the value of the property to work on.
  *
  * @param NodeData $node
  * @return void
  */
 public function execute(NodeData $node)
 {
     $node->setProperty($this->propertyName, strip_tags($node->getProperty($this->propertyName)));
 }
开发者ID:robertlemke,项目名称:neos-development-collection,代码行数:10,代码来源:StripTagsOnProperty.php

示例12: execute

 /**
  * Change the property on the given node.
  *
  * @param \TYPO3\TYPO3CR\Domain\Model\NodeData $node
  * @return void
  */
 public function execute(\TYPO3\TYPO3CR\Domain\Model\NodeData $node)
 {
     $currentPropertyValue = $node->getProperty($this->propertyName);
     $newPropertyValue = strtolower($currentPropertyValue);
     $node->setProperty($this->propertyName, $newPropertyValue);
 }
开发者ID:patrickreck,项目名称:Swisscom.Neos.CaseInsensitiveUrls,代码行数:12,代码来源:ChangePropertyValueToLowercase.php

示例13: execute

 /**
  * Strips tags on the value of the property to work on.
  *
  * @param \TYPO3\TYPO3CR\Domain\Model\NodeData $node
  * @return void
  */
 public function execute(\TYPO3\TYPO3CR\Domain\Model\NodeData $node)
 {
     $node->setProperty($this->propertyName, strip_tags($node->getProperty($this->propertyName)));
 }
开发者ID:radmiraal,项目名称:neos-development-collection,代码行数:10,代码来源:StripTagsOnProperty.php

示例14: execute

 /**
  * Renames the configured property to the new name.
  *
  * @param \TYPO3\TYPO3CR\Domain\Model\NodeData $node
  * @return void
  */
 public function execute(\TYPO3\TYPO3CR\Domain\Model\NodeData $node)
 {
     $node->setProperty($this->newPropertyName, $node->getProperty($this->oldPropertyName));
     $node->removeProperty($this->oldPropertyName);
 }
开发者ID:hlubek,项目名称:neos-development-collection,代码行数:11,代码来源:RenameProperty.php

示例15: execute

 /**
  * Change the property on the given node.
  *
  * @param NodeData $node
  * @return void
  */
 public function execute(NodeData $node)
 {
     $currentPropertyValue = $node->getProperty($this->propertyName);
     $newValueWithReplacedCurrentValue = str_replace($this->currentValuePlaceholder, $currentPropertyValue, $this->newValue);
     $newValueWithReplacedSearch = str_replace($this->search, $this->replace, $newValueWithReplacedCurrentValue);
     $node->setProperty($this->propertyName, $newValueWithReplacedSearch);
 }
开发者ID:robertlemke,项目名称:neos-development-collection,代码行数:13,代码来源:ChangePropertyValue.php


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