/** * Set the object's URL slug. * * @param mixed $slug The slug. * @return RoutableInterface Chainable */ public function setSlug($slug) { if (TranslationString::isTranslatable($slug)) { $this->slug = new TranslationString($slug); $values = $this->slug->all(); foreach ($values as $lang => $val) { $this->slug[$lang] = $this->slugify($val); } } else { /** @todo Hack used for regenerating route */ if (isset($_POST['slug'])) { $this->slug = []; } else { $this->slug = null; } } return $this; }
/** * */ public function testSetValStringDefaultLanguage() { $obj = new TranslationString(null, ['languages' => ['en', 'fr']]); $obj->setCurrentLanguage('en'); $obj->setVal('foo'); $obj->setCurrentLanguage('fr'); $obj->setVal('bar'); $this->assertEquals(['en' => 'foo', 'fr' => 'bar'], $obj->all()); }