Пример #1
0
 public function __construct(Collection $meta)
 {
     parent::__construct();
     $this->docset = $this->createElement('channel');
     $rss = $this->createElement('rss');
     if ($meta->containsKey('rss')) {
         foreach ($meta->get('rss') as $attr => $value) {
             $rss->setAttribute($attr, $value);
         }
     }
     foreach ($meta as $key => $value) {
         if (empty($value)) {
             continue;
         }
         if (is_array($value)) {
         } else {
             $new = $this->createElement($key, $value);
         }
         if (isset($new)) {
             $this->docset->appendChild($new);
             unset($new);
         }
     }
     $rss->appendChild($this->docset);
     $this->appendChild($rss);
 }
Пример #2
0
 public function __construct(SchemaInterface $schema, $slug = false)
 {
     parent::__construct();
     $this->docset = $this->createElement('sphinx:docset');
     $this->appendChild($this->docset);
     $elements = $this->createElement('sphinx:schema');
     foreach ($schema->getSchema() as $type => $list) {
         foreach ($list as $key => $prop) {
             $elements->appendChild($this->factoryTag($type, $key, $prop));
         }
     }
     if ($slug) {
         foreach ($schema->getSluggables() as $key) {
             $elements->appendChild($this->factoryTag('field', $key . '_slug', ['attr' => 'string']));
         }
     }
     $this->docset->appendChild($elements);
 }