Ver Fonte

Set default position to 1 if position param is not set in Gedmo\Mapping\Driver\Yaml

Dinoweb há 14 anos atrás
pai
commit
bcebd04f83

+ 0 - 3
lib/Gedmo/Sluggable/Mapping/Driver/Xml.php

@@ -84,9 +84,6 @@ class Xml extends BaseXml
                     if (!$this->isValidField($meta, $field)) {
                         throw new InvalidMappingException("Cannot use field - [{$field}] for slug storage, type is not valid and must be 'string' in class - {$meta->name}");
                     }
-                    if (isset($config['slug'])) {
-                        throw new InvalidMappingException("There cannot be two slug fields: [{$slug}] and [{$config['slug']}], in class - {$meta->name}.");
-                    }
                     $config['slugFields'][$field]['slug'] = $field;
                     $config['slugFields'][$field]['style'] = $this->_isAttributeSet($slug, 'style') ?
                         $this->_getAttribute($slug, 'style') : 'default';

+ 2 - 4
lib/Gedmo/Sluggable/Mapping/Driver/Yaml.php

@@ -64,15 +64,13 @@ class Yaml extends File implements Driver
                         }
                         $sluggable = $fieldMapping['gedmo']['sluggable'];
                         $slugField = (isset($sluggable['slugField'])? $sluggable['slugField']:'slug');
-                        $config['fields'][$slugField][] = array('field' => $field, 'position' => $sluggable['position'], 'slugField' => $slugField);
+                        $position = (isset($sluggable['position'])? $sluggable['position']:0);
+                        $config['fields'][$slugField][] = array('field' => $field, 'position' => $position, 'slugField' => $slugField);
                     } elseif (isset($fieldMapping['gedmo']['slug']) || in_array('slug', $fieldMapping['gedmo'])) {
                         $slug = $fieldMapping['gedmo']['slug'];
                         if (!$this->isValidField($meta, $field)) {
                             throw new InvalidMappingException("Cannot use field - [{$field}] for slug storage, type is not valid and must be 'string' in class - {$meta->name}");
                         }
-                        if (isset($config['slug'])) {
-                            throw new InvalidMappingException("There cannot be two slug fields: [{$slugField}] and [{$config['slug']}], in class - {$meta->name}.");
-                        }
                         $config['slugFields'][$field]['slug'] = $field;
                         $config['slugFields'][$field]['style'] = isset($slug['style']) ?
                             (string)$slug['style'] : 'default';