1. Go to this page and download the library: Download liip/theme-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
liip / theme-bundle example snippets
use Sylius\Bundle\ThemeBundle\Context\SettableThemeContext;
use Sylius\Bundle\ThemeBundle\Repository\ThemeRepositoryInterface;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\HttpKernelInterface;
final class ThemeRequestListener
{
/** @var ThemeRepositoryInterface */
private $themeRepository;
/** @var SettableThemeContext */
private $themeContext;
public function __construct(ThemeRepositoryInterface $themeRepository, SettableThemeContext $themeContext)
{
$this->themeRepository = $themeRepository;
$this->themeContext = $themeContext;
}
public function onKernelRequest(GetResponseEvent $event): void
{
if (HttpKernelInterface::MASTER_REQUEST !== $event->getRequestType()) {
// don't do anything if it's not the master request
return;
}
$themeName = 'app/awesome';
// here you can set the $themeName based on $event->getRequest() object
$this->themeContext->setTheme(
$this->themeRepository->findOneByName($themeName)
);
}
}
bash
$ php composer.phar
php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Liip\ThemeBundle\LiipThemeBundle(),
);
}