Magento: как добавить к модулю настраиваемый параметр

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 viakondratiuk
  • Группа: Пользователь
  • Сообщений: 13
  • Регистрация: 26.05.2010

26.05.2010 09:59

Нужно добавить аттрибут в админзону, для System->Configuration->Shipping settings. Но добавить так, чтоб при апдейте этот аттрибут не затерся. То есть надо как-то экстендить файл -> Mage/Shipping/etc/system.xml. Как это сделать?

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8886
  • Регистрация: 20.02.2010

26.05.2010 11:54

Чтобы ваши правки сохранялись при обновлении системного программного кода движка Magento, вы должны расширять функциональность Magentto посредством модулей.
Если вы намерены добавить, например, новый способ доставки, то его настройки вы указываете в файле etc/system.xml внутри папки своего модуля.
Например:

<?xml version="1.0"?>
<config>
	<sections>
		<carriers>
			<groups>
				<russianpost translate="label" module="russianpost">
					<label>Почта России</label>
					<frontend_type>text</frontend_type>
					<sort_order>1</sort_order>
					<show_in_default>1</show_in_default>
					<show_in_website>1</show_in_website>
					<show_in_store>1</show_in_store>
					<fields>
					
						(...)
					
						<active translate="label">
							<label>Enabled</label>
							<frontend_type>select</frontend_type>
							<source_model>adminhtml/system_config_source_yesno</source_model>
							<sort_order>1</sort_order>
							<show_in_default>1</show_in_default>
							<show_in_website>1</show_in_website>
							<show_in_store>0</show_in_store>
						</active>
                        <weight_units translate="label">
                            <label>Единица веса</label>
                            <frontend_type>select</frontend_type>
                            <source_model>russianpost/shipping_config_weightunits</source_model>
                            <sort_order>2</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>0</show_in_store>
                        </weight_units>

						<max_parcel_weight translate="label">
                            <label>Максимальный вес посылки</label>
                            <frontend_type>text</frontend_type>
                            <sort_order>3</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>0</show_in_store>
							<comment>
								<![CDATA[
									<ul>
										<li>Если вес товара больше указанного значения, то указанное значение будет <b>игнорироваться</b></li>
										<li>Если вес товара меньше указанного значения, то тарификатор будет стремиться поместить в одну посылку <b>несколько товаров</b></li>
									</ul>
								]]>
							</comment>
						</max_parcel_weight>

						(...)
						
					</fields>
				</russianpost>
			</groups>
		</carriers>
	</sections>
</config>


Поделиться темой: