本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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();
}
示例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');
}
示例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";
}
}
}
示例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);
}
示例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;
}
示例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;
}
示例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);
}
示例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)));
}
示例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)));
}
示例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);
}
示例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);
}