/**
  * Зарегистрировать namespace
  *
  * @param WalkerXML $element
  * @param string    $value namespace.
  */
 private function registerNamespace(WalkerXML &$element, $value)
 {
     if (!empty($element->getNamespaces())) {
         $element->registerXPathNamespace($value, $element->getNamespaces()['']);
         $element->namespace = $value;
     }
 }
Esempio n. 2
0
 /**
  * Offers parser
  */
 public function parse()
 {
     $this->dispatcher->dispatch(Events::BUFFER_PARSE_OFFERS_PRE, null);
     $this->attrChanges(Description::PACKAGEOFFERS);
     $offers = $this->xml->elements(Description::PACKAGEOFFERS, Description::OFFERS, Description::OFFER);
     $this->createOffers($offers);
     $this->dispatcher->dispatch(Events::BUFFER_PARSE_OFFERS_END, null);
 }
Esempio n. 3
0
 /**
  * Создание группы
  *
  * @param WalkerXML $group
  * @param string    $parent
  *
  * @return string
  */
 private function createGroup(WalkerXML $group, $parent)
 {
     $id = $group->value(Description::ID);
     $name = $group->value(Description::NAME);
     $this->event(['entityType' => self::KEY_GROUPS, 'guid' => $id, 'parent' => $parent, 'title' => $name, 'slug' => StringsTools::t15n($name)]);
     return $id;
 }