/** * 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; }
/** * 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; }
/** * 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; }
/** * {@inheritDoc} */ public function postSlugBuild(SluggableAdapter $ea, array &$config, $object, &$slug) { $this->sluggable->setTransliterator(array($this, 'transliterate')); }