Jackalope\Node::getNodeNames PHP Метод

getNodeNames() публичный Метод

{@inheritDoc}
public getNodeNames ( $nameFilter = null, $typeFilter = null )
    public function getNodeNames($nameFilter = null, $typeFilter = null)
    {
        $this->checkState();
        if (null !== $typeFilter) {
            return $this->objectManager->filterChildNodeNamesByType($this, $nameFilter, $typeFilter);
        }
        $names = self::filterNames($nameFilter, $this->nodes);
        return new ArrayIterator($names);
    }

Usage Example

Пример #1
0
 /**
  * {@inheritDoc}
  */
 public function reorderChildren(Node $node)
 {
     $this->assertLoggedIn();
     $values[':absPath'] = $node->getPath();
     $sql = "UPDATE phpcr_nodes SET sort_order = CASE CONCAT(\n          namespace,\n          (CASE namespace WHEN '' THEN '' ELSE ':' END),\n          local_name\n        )";
     $i = 0;
     foreach ($node->getNodeNames() as $name) {
         $values[':name' . $i] = $name;
         $values[':order' . $i] = $i;
         // use our counter to avoid gaps
         $sql .= " WHEN :name" . $i . " THEN :order" . $i;
         $i++;
     }
     $sql .= " ELSE sort_order END WHERE parent = :absPath";
     try {
         $this->getConnection()->executeUpdate($sql, $values);
     } catch (DBALException $e) {
         throw new RepositoryException('Unexpected exception while reordering nodes', $e->getCode(), $e);
     }
     return true;
 }