Поле Concat в настраиваемом столбце в режиме администрирования Sonata

Я пытаюсь добавить настраиваемое поле в представление списка в Sonata Admin, где оно будет объединять фиксированную строку (http://www.example.com) и ярлык поля, как показано ниже, чтобы я мог получить доступ к этому конкретному URL-адресу продукта. Столбец отображается в таблице, и ссылка создается, но я не могу понять, как передать переменную slug в шаблон, чтобы он работал.

У меня такая конфигурация:

 #ProductAdmin.php
    protected function configureListFields(ListMapper $listMapper)
        {

        $listMapper->addIdentifier('id')
            ->addIdentifier('name')
            ->add('date')
            ->add('slug', 'text', [
                'editable' => true
            ])
            ->add('link', 'string', [
                'template' => 'default/admin-link.html.twig',
            ])


#default/admin-link.html.twig
{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}

{% block field %}
    <a href = "https://www.wattdoesituse.com/{{ slug }}">Product link</a>
{% endblock %}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
1
0
402
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В шаблоне вы можете получить доступ к object, который содержит данные текущей итерации из цикла, просто вызовите {{object.slug}} в шаблоне, чтобы получить доступ к ярлыку для конкретной строки, например

{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}

{% block field %}
    <a href = "https://www.wattdoesituse.com/{{ object.slug }}">Product link</a>
{% endblock %}

Или было бы лучше, если бы вы сгенерировали свои URL-адреса с помощью метода маршрута / пути

Другие вопросы по теме