예제 #1
0
 /**
  * Transliterates the slug and prefixes the slug
  * by collection of parent slugs
  *
  * @param string $text
  * @param string $separator
  * @param object $object
  * @return string
  */
 public function transliterate($text, $separator, $object)
 {
     $slug = call_user_func_array($this->originalTransliterator, array($text, $separator, $object));
     if (strlen($this->parentSlug)) {
         $slug = $this->parentSlug . $this->usedPathSeparator . $slug;
     }
     $this->sluggable->setTransliterator($this->originalTransliterator);
     return $slug;
 }
예제 #2
0
 /**
  * Transliterates the slug and prefixes the slug
  * by collection of parent slugs
  *
  * @param string $text
  * @param string $separator
  * @param object $object
  * @return string
  */
 public function transliterate($text, $separator, $object)
 {
     $slug = call_user_func_array($this->originalTransliterator, array($text, $separator, $object));
     // For tree slugs, we "urlize" each part of the slug before appending "/"
     $slug = Urlizer::urlize($slug, $separator);
     if (strlen($this->parentSlug)) {
         $slug = $this->parentSlug . $this->usedPathSeparator . $slug;
     }
     $this->sluggable->setTransliterator($this->originalTransliterator);
     return $slug;
 }
예제 #3
0
 /**
  * Transliterates the slug and prefixes the slug
  * by collection of parent slugs
  *
  * @param string $text
  * @param string $separator
  * @param object $object
  * @return string
  */
 public function transliterate($text, $separator, $object)
 {
     $slug = call_user_func_array(
         $this->originalTransliterator,
         array($text, $separator, $object)
     );
     if (strlen($this->parentSlug)) {
         $options = $this->getOptions($object);
         $slug = $this->parentSlug . $options['separator'] . $slug;
     }
     $this->sluggable->setTransliterator($this->originalTransliterator);
     return $slug;
 }
 /**
  * Transliterates the slug and prefixes the slug
  * by relative one
  *
  * @param string $text
  * @param string $separator
  * @param object $object
  * @return string
  */
 public function transliterate($text, $separator, $object)
 {
     $result = call_user_func_array($this->originalTransliterator, array($text, $separator, $object));
     $wrapped = AbstractWrapper::wrapp($object, $this->om);
     $relation = $wrapped->getPropertyValue($this->usedOptions['relationField']);
     if ($relation) {
         $wrappedRelation = AbstractWrapper::wrapp($relation, $this->om);
         $slug = $wrappedRelation->getPropertyValue($this->usedOptions['relationSlugField']);
         $result = $slug . $this->usedOptions['separator'] . $result;
     }
     $this->sluggable->setTransliterator($this->originalTransliterator);
     return $result;
 }
예제 #5
0
 /**
  * {@inheritDoc}
  */
 public function postSlugBuild(SluggableAdapter $ea, array &$config, $object, &$slug)
 {
     $this->sluggable->setTransliterator(array($this, 'transliterate'));
 }