PHP code example of webfactory / navigation-bundle
1. Go to this page and download the library: Download webfactory/navigation-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/ */
webfactory / navigation-bundle example snippets
namespace AppBundle\Navigation;
use JMS\ObjectRouting\ObjectRouter;
use Symfony\Component\Config\Resource\FileResource;
use Webfactory\Bundle\NavigationBundle\Build\BuildContext;
use Webfactory\Bundle\NavigationBundle\Build\BuildDirector;
use Webfactory\Bundle\NavigationBundle\Build\BuildDispatcher;
use Webfactory\Bundle\NavigationBundle\Tree\Tree;
use Webfactory\Bundle\WfdMetaBundle\Config\DoctrineEntityClassResource;
final class KeyActionBuildDirector implements BuildDirector
{
/** @var YourEntityRepository */
private $repository;
/** @var ObjectRouter */
private $objectRouter;
public function __construct(YourEntityRepository $repository, ObjectRouter $objectRouter)
{
$this->repository = $repository;
$this->objectRouter = $objectRouter;
}
public function build(BuildContext $context, Tree $tree, BuildDispatcher $dispatcher): void
{
if (!$this->isInterestedInContext($context)) {
return;
}
foreach ($this->repository->findForMenu() as $entity) {
$context->get('node')
->addChild()
->set('caption', $entity->getName())
->set('visible', true)
->set('url', $this->objectRouter->path('detail', $entity));
}
$this->addResourcesToTreeCache($dispatcher);
}
private function addResourcesToTreeCache(BuildDispatcher $dispatcher): void
{
$dispatcher->addResource(new FileResource(__FILE__));
$dispatcher->addResource(new DoctrineEntityClassResource(YourEntity::class));
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.