/**
  * Updates provided contentset's elements with data.
  *
  * @param  ContentSet $content
  * @param  array      $elementsData
  *
  * @return ClassContentManager
  */
 private function updateContentSetElements(ContentSet $content, array $elementsData, Page $page = null)
 {
     $content->clear();
     foreach ($elementsData as $data) {
         if ($data instanceof AbstractClassContent) {
             if (null !== $page && null === $data->getMainNode()) {
                 $data->setMainNode($page);
             }
             $content->push($data);
         }
     }
     return $this;
 }
Exemplo n.º 2
0
 /**
  * Resolves $content value.
  *
  * @param  ContentSet $content
  * @param  array      $matches
  *
  * @return mixed
  */
 private function resolveContentSet(ContentSet $content, array $matches)
 {
     if ('ContentSet' === $matches[1]) {
         return $content->item($matches[3]);
     }
     $index = intval($matches[3]);
     $classname = AbstractClassContent::getFullClassname(str_replace('/', NAMESPACE_SEPARATOR, $matches[1]));
     foreach ($content as $subcontent) {
         if (get_class($subcontent) !== $classname) {
             continue;
         }
         if (0 === $index) {
             return $subcontent;
         }
         $index--;
     }
     return $content;
 }
Exemplo n.º 3
0
 /**
  * Is the ContentSet is linked to his parent.
  *
  * @param  ContentSet           $contentset
  *
  * @return boolean
  */
 public function isLinkedToHisParentBy(ContentSet $contentset = null)
 {
     if (null !== $contentset && true === array_key_exists($contentset->getUid(), $this->getInheritedZones())) {
         return true;
     }
     return false;
 }
Exemplo n.º 4
0
 /**
  * Updates provided contentset's elements with data.
  *
  * @param  ContentSet $content
  * @param  array      $elementsData
  *
  * @return ClassContentManager
  */
 private function updateContentSetElements(ContentSet $content, array $elementsData)
 {
     $content->clear();
     foreach ($elementsData as $data) {
         if ($data instanceof AbstractClassContent) {
             $content->push($data);
         }
     }
     return $this;
 }