it-swarm.com.ru

Проверка блока: проверка блока не выполнена для `my-block`

Идея состоит в том, чтобы написать собственный блок для шаблона загрузки карты.

я настроил свою тему (может быть и в одном плагине), чтобы добавить новый блок в редактор Gutenberg.

я просто поместил свою функцию сохранения здесь. потому что вот о чем это. Это должна быть карта загрузки с изображением, заголовком, текстом и ссылкой для скачивания файла. все работает нормально:

save: ( props ) => {
            const {
                className,
                attributes: {
                    title,
                    mediaID,
                    mediaURL,
                    mediaAlt,
                    textContent,
                    fileID,
                    fileURL,
                    fileType,
                    fileDesc,
                    fileSize,
                },
            } = props;
            return (
                <div className={ className }>
                    <div className="bl-dc__image">
                        {
                            mediaURL && (
                                <img className="image" src={ mediaURL } alt={ mediaAlt ? mediaAlt : __( 'Download Image') } />
                            )
                        }
                    </div>
                    <div className="bl-dc__content">
                        <h2 className="bl-dc__title">
                            {title}
                        </h2>

                        <p className="bl-dc__text">
                            { textContent }
                        </p>

                        {
                            fileURL && (
                                <a
                                    className="bl-dc__bt btn btn--primary"
                                    href={ fileURL } title={ __( 'Download') + (fileDesc && ' '+fileDesc) + (fileSize && ' '+fileSize) }
                                >
                                    { __( 'Download') + (fileType && ' ('+fileType+')') }
                                </a>
                            )
                        }
                    </div>


                </div>
            );
        }

Поэтому, когда я иду, чтобы просто изменить класс. как класс кнопок от bl-dc__bt до bl-dc__btn. я получаю ошибку проверки. Мне нужно упомянуть, если поля заполнены! в этом случае файл загружается.

Это предполагаемое поведение? что мой блок распадается в редакторе, даже поля и все бэкэнди называются одинаково. разработка блока довольно быстро разочаровывает, так как мне приходится снова и снова настраивать и заполнять блок в редакторе, если я хочу попробовать или расширить мою разметку в процессе работы. Если мой клиент говорит: "Эй, можешь добавить туда поле для значков?" Это просто невозможно?

Я нашел обсуждение в github на эту тему: https://github.com/WordPress/gutenberg/issues/4849

также есть некоторая информация о разрушенных блоках: https://wordpress.org/gutenberg/handbook/block-api/deprecated-blocks/

я просто не могу понять это.

Разве я, как разработчик, не могу изменить шаблон блока, не нарушив функциональность редактирования, если поля заполнены?

2
André Kelling

Так как Гутенберг в настоящее время находится в режиме разработки, все пойдет не так, и стандартного набора правил и рекомендаций НЕ будет, пока он не войдет в ядро. Я столкнулся с той же проблемой: изменение вещи тут и там ломает текущий блок, и это чертовски неприятно.

До тех пор такие разработчики, как мы, вынуждены мириться с такими неприятностями. Если вам нужно больше примеров того, как блоки Core делают это, вот один - Основной блок WordPress

3
Ashiquzzaman Kiron