Sulu\Bundle\CategoryBundle\Twig\CategoryTwigExtension::setCategoryUrlFunction PHP Метод

setCategoryUrlFunction() публичный Метод

Set category to current URL.
public setCategoryUrlFunction ( array $category, string $categoriesParameter = 'categories' ) : string
$category array will be included in the URL
$categoriesParameter string GET parameter name
Результат string
    public function setCategoryUrlFunction($category, $categoriesParameter = 'categories')
    {
        return $this->categoryRequestHandler->setCategoryToUrl($category, $categoriesParameter);
    }

Usage Example

Пример #1
0
 /**
  * @dataProvider setProvider
  */
 public function testSetUrl($parameter, $url, $string, $expected)
 {
     $category = ['id' => 3, 'name' => 'test'];
     $manager = $this->prophesize(CategoryManagerInterface::class);
     $requestStack = $this->prophesize(RequestStack::class);
     $request = $this->prophesize(Request::class);
     $requestReveal = $request->reveal();
     $requestReveal->query = new ParameterBag([$parameter => $string]);
     $requestStack->getCurrentRequest()->willReturn($requestReveal);
     $request->get($parameter, '')->willReturn($string);
     $request->getPathInfo()->willReturn($url);
     $serializer = $this->prophesize(SerializerInterface::class);
     $requestHandler = new CategoryRequestHandler($requestStack->reveal());
     $extension = new CategoryTwigExtension($manager->reveal(), $requestHandler, $serializer->reveal(), $this->getMemoizeCache());
     $result = $extension->setCategoryUrlFunction($category, $parameter);
     $this->assertEquals($url . '?' . $parameter . '=' . urlencode($expected), $result);
 }