Отображение идентификатора элемента в административном пакете сонаты

Я создал интерфейс администратора с помощью sonatadminbundle, он отлично работает и может добавлять элементы и отображать их, но мне также нужно отображать идентификатор элемента, установленный по умолчанию (установленный как автоинкремент) в интерфейсе администратора, как я могу это сделать? панель администратора


person Jihed Jaouabi    schedule 25.03.2014    source источник


Ответы (2)


вы можете сделать это, используя метод __toString() в Entity (в вашей категории примеров), например:

function __toString()
{
    return $this->getId().' - '.$this->getName();
}
person toooni    schedule 25.03.2014
comment
другой способ — создать собственный шаблон списка: sonata-project.org/bundles/doctrine-orm-admin/2-0/doc/reference/ - person toooni; 25.03.2014
comment
function __toString() { return $this->getId().' - '.$this->getCategoryName(); } Он просто показывал идентификатор, когда я нажимал на саму категорию, не отображая ее как поле в списке категорий. - person Jihed Jaouabi; 25.03.2014
comment
` защищенная функция configureListFields(ListMapper $listMapper) { $listMapper ->addIdentifier('categoryName') ->addIdentifier('id') ; }` Это сработало, спасибо! - person Jihed Jaouabi; 25.03.2014
comment
Еще один глупый вопрос: как удалить ссылку на проект Sonata с панели инструментов, потому что я не смог найти файл html/php, содержащий эту ссылку. - person Jihed Jaouabi; 25.03.2014
comment
@JihedJaouabi, вы можете перезаписать standard_layout.html.twig -> добавить в config yml: sonata_admin -> templates -> layout: YourBundle:YourFolder:own_standard_layout.html.twig, там вы можете перезаписать блок нижнего колонтитула - person toooni; 27.03.2014

Добавьте идентификатор в $listMapper в вашем файле Acme/DemoBundle/Admin/somethingAdmin.php:

protected function configureListFields(ListMapper $listMapper)
    {
        $listMapper
            ->addIdentifier('name')
            ->add('id')
        ;
    }
person repincln    schedule 25.03.2014
comment
Глупый вопрос, как я могу удалить ссылку на проект Sonata с панели инструментов, потому что я не смог найти файл html/php, содержащий эту ссылку. - person Jihed Jaouabi; 25.03.2014
comment
скопируйте содержимое файла /vendor/sonata-project/Sonata/AdminBundle/Resources/views/standard_layout.html.twig в /app/Resources/SonataAdminBundle/views/standard_layout.html.twig. Затем найдите (в скопированном файле) нижний колонтитул блока и прокомментируйте все внутри этого блока. Очистить кэш. - person repincln; 25.03.2014
comment
Спасибо, но это работает лучше, добавьте sonata_admin: title: Title title_logo: /path/logo.png в файл config.yml - person Jihed Jaouabi; 25.03.2014