/** * Зарегистрировать 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; } }
/** * 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); }
/** * Создание группы * * @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; }