PHP code example of mikeevstropov / sortable-tree-bundle
1. Go to this page and download the library: Download mikeevstropov/sortable-tree-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/ */
mikeevstropov / sortable-tree-bundle example snippets
// app/AppKernel.php
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = [
// ...
new Mev\SortableTreeBundle\MevSortableTreeBundle(),
];
// ...
}
}
// src/AppBundle/Admin/CategoryAdmin.php
// ...
use Sonata\AdminBundle\Route\RouteCollection;
class CategoryAdmin extends AbstractAdmin
{
// ...
protected function configureRoutes(RouteCollection $collection)
{
$collection->add('up', $this->getRouterIdParameter().'/up');
$collection->add('down', $this->getRouterIdParameter().'/down');
}
protected function configureFormFields(FormMapper $formMapper)
{
// create custom query to hide the current element by `id`
$subjectId = $this->getRoot()->getSubject()->getId();
$query = null;
if ($subjectId)
{
$query = $this->modelManager
->getEntityManager('AppBundle\Entity\Category')
->createQueryBuilder('c')
->select('c')
->from('AppBundle:Category', 'c')
->where('c.id != '. $subjectId);
}
// ...
$formMapper->add('parent', 'sonata_type_model', array(
'query' => $query,
'
// src/AppBundle/Admin/CategoryAdmin.php
// ...
class CategoryAdmin extends AbstractAdmin
{
// ...
public function createQuery($context = 'list')
{
$proxyQuery = parent::createQuery('list');
// Default Alias is "o"
// You can use `id` to hide root element
// $proxyQuery->where('o.id != 1');
$proxyQuery->addOrderBy('o.root', 'ASC');
$proxyQuery->addOrderBy('o.lft', 'ASC');
return $proxyQuery;
}
// ...
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.