/** * Refresh slug URLs for current and child pages */ protected function refreshSlugUrls() { $parentSlugUrl = ''; if ($this->parentPage) { $parentSlugUrl = $this->parentPage->currentSlug->getUrl(); } $slugUrl = $this->currentSlug->getSlugUrl(); $this->currentSlug->setUrl($parentSlugUrl . Slug::DELIMITER . $slugUrl); foreach ($this->childPages as $childPage) { $childPage->refreshSlugUrls(); } }
/** * @param $fullUrl * @param $slugUrl * @dataProvider getSlugUrlDataProvider */ public function testGetSlugUrl($fullUrl, $slugUrl) { $slug = new Slug(); $slug->setUrl($fullUrl); $this->assertEquals($slugUrl, $slug->getSlugUrl()); }