Как создать настраиваемое поле в Symfony с помощью EasyAdminPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как создать настраиваемое поле в Symfony с помощью EasyAdmin

Сообщение Anonymous »

Я создаю веб-сайт, используя Symfony 7 и EasyAdmin 4, я учусь использовать эту среду, поэтому пока не понимаю, как все соединяется друг с другом.
Проблема У меня есть библиотека «Trumbowig» и настраиваемые поля.
Я заставил это работать, но это была всего лишь проверка, чтобы убедиться, что все необходимые файлы работают, теперь я хочу создать настраиваемое поле, чтобы иметь возможность используйте эту функцию правильно.
Я не понимаю, как создать шаблон, который будет использоваться в формах.
Я прочитал документацию здесь я посмотрел TextEditorField и TextAreaField в пакете EasyAdmin.
Я обнаружил, что мне нужен собственный класс для моего поля, поэтому я создал этот класс TrumbowygEditorField:

Код: Выделить всё

final class TrumbowygEditorField implements FieldInterface
{
use FieldTrait;

public const OPTION_MAX_LENGTH = TextField::OPTION_MAX_LENGTH;
public const OPTION_NUM_OF_ROWS = 'numOfRows';
public const OPTION_RENDER_AS_HTML = TextField::OPTION_RENDER_AS_HTML;
public const OPTION_STRIP_TAGS = TextField::OPTION_STRIP_TAGS;
public const OPTION_TRUMBOWYG_CONFIG = 'trumbowygConfig';

public static function new(string $propertyName, ?string $label = null): self
{
return (new self())
->setProperty($propertyName)
->setLabel($label)
// this template is used in 'index' and 'detail' pages
->setTemplatePath('admin/field/trumbowyg_editor.html.twig')

// this is used in 'edit' and 'new' pages to edit the field contents
->setFormType(TextareaType::class)
->setCustomOption(self::OPTION_TRUMBOWYG_CONFIG, [])
->setCustomOption(self::OPTION_MAX_LENGTH, null)
->setCustomOption(self::OPTION_NUM_OF_ROWS, 5)
->setCustomOption(self::OPTION_RENDER_AS_HTML, false)
->setCustomOption(self::OPTION_STRIP_TAGS, false);
}

И сделал шаблон для указателя и детализации:

Код: Выделить всё

{% set render_as_html = field.customOptions.get('renderAsHtml') %}
{% if ea.crud.currentAction == 'detail' %}

{{ render_as_html ? field.formattedValue|raw|nl2br : field.formattedValue|nl2br }}

{% else %}

{{ render_as_html ? field.formattedValue|raw : field.formattedValue|striptags }}

{% endif %}
Кажется, на индексной странице все работает как положено.
Теперь мне трудно понять, как создать поле формы, я знаю что это связано с этой строкой ->setFormType(TextareaType::class), и мне нужно найти способ импортировать CSS-файл, несколько js-скриптов и выполнить что-то вроде этого:

Код: Выделить всё

document.addEventListener('DOMContentLoaded', function() {
$('{{ fieldId }}').trumbowyg();
});

Но я не знаю, как действовать, нужно ли мне создавать собственный тип формы?
Можете ли вы мне помочь? Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/788 ... -easyadmin
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как создать настраиваемое поле в Symfony с помощью EasyAdmin
    Anonymous » » в форуме Php
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Symfony Easyadmin, как создать crud DELETE для другого объекта
    Anonymous » » в форуме Php
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Symfony Easyadmin, как создать crud DELETE для другого объекта
    Anonymous » » в форуме Php
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Отображение информации с помощью CRUD-контроллера (EasyAdmin 4 + Symfony 7)
    Гость » » в форуме Php
    0 Ответы
    24 Просмотры
    Последнее сообщение Гость
  • Symfony EasyAdmin – как сохранить идентификатор объекта во время последующих операций со страницей?
    Anonymous » » в форуме Php
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»