Solución:
Las opciones de este menú desplegable se procesan desde getMetadataValues () función que está disponible en MagentoSalesRuleModelRuleMetadataValueProvider.php
Entonces, puede crear un complemento para eso porque es un método público. Creé un complemento para eso y obtengo la salida que desee.
Siga estos pasos a continuación para eso:
1) Crear di.xml para configurar el complemento en app/code/RH/CustomPlugin/etc/adminhtml
:
<?xml version="1.0"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="MagentoSalesRuleModelRuleMetadataValueProvider">
<plugin name="salesrule-plugin" type="RHCustomPluginPluginRuleMetadataValueProvider" sortOrder="1" />
</type>
</config>
2) Ahora, cree un archivo de complemento ValueProvider.php para agregar una opción personalizada para el menú desplegable en RHCustomPluginPluginRuleMetadata
:
<?php
namespace RHCustomPluginPluginRuleMetadata;
class ValueProvider {
public function afterGetMetadataValues(
MagentoSalesRuleModelRuleMetadataValueProvider $subject,
$result
) {
$applyOptions = [
'label' => __('Popular'),
'value' => [
[
'label' => 'The Cheapest, also for Buy 1 get 1 free',
'value' => 'buy-1-get-1-free',
],
[
'label' => 'Get $Y for each $X spent',
'value' => 'get-y-for-each-x-spent',
],
],
];
array_push($result['actions']['children']['simple_action']['arguments']['data']['config']['options'], $applyOptions);
return $result;
}
}
Producción :
Puede modificar la opción en la matriz como desee.
Espero que te sea de ayuda.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)