Я перехожу по ссылке ниже, чтобы добавить настраиваемое поле только в элемент изображения компоновщика страниц.
Как использовать настраиваемое поле в HTML конструктора страниц Magento 2?
Но это не сохраняет ценность. Когда я нажимаю кнопку «Сохранить» и страница перезагружается, появляется пустое поле.
Как я могу сохранить его ценность?
заранее спасибо
Я хочу добавить настраиваемое текстовое поле в элемент изображения, сохранить его значение в базе данных и применить его во внешнем интерфейсе.
Здесь я делюсь решением для тех, кто может столкнуться с той же проблемой.
Шаг 1. Создайте собственный модуль.
Шаг 2. Создайте файл image.xml в разделе приложение/код/вендор/модуль/adminhtml/pagebuilder/content_type
<config xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation = "urn:magento:module:Magento_PageBuilder:etc/content_type.xsd">
<type name = "image">
<appearances>
<appearance name = "full-width"
preview_template = "Magento_PageBuilder/content-type/image/full-width/preview"
master_template = "Magento_PageBuilder/content-type/image/full-width/master">
<elements>
<element name = "image_dimension">
<attribute name = "image_width" source = "width"/>
<attribute name = "image_height" source = "height"/>
</element>
</elements>
</appearance>
</appearances>
</type>
</config>
Шаг 3. Создайте файл pagebuilder_image_form.xml в папке app/code/vendor/module/view/adminhtml/ui_comComponent.
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<form xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
<fieldset name = "seo">
<field name = "image_width" sortOrder = "30" formElement = "input">
<settings>
<label translate = "true">Image Width</label>
<validation>
<rule name = "validate-string" xsi:type = "boolean">true</rule>
</validation>
</settings>
</field>
<field name = "image_height" sortOrder = "31" formElement = "input">
<settings>
<label translate = "true">Image Height</label>
<validation>
<rule name = "validate-string" xsi:type = "boolean">true</rule>
</validation>
</settings>
</field>
</fieldset>
</form>
Шаг 5: Запустите команду ниже
Настройка php bin/magento: обновление PHP bin/magento static:content:deploy -f PHP bin/Magento c:f
Примечание. В файле image.xml атрибут «source» — это место, где нам нужно указать элемент. Чтобы установить высоту и ширину изображения, я использовал source="height" и source="width" соответственно.