For my custom plugin I created an options array like this:
path : => \Vendor\App\Block\System\Config;
namespace Vendor\App\Block\System\Config;
class NatureIva implements \Magento\Framework\Data\OptionSourceInterface
{
public function toOptionArray(){
$optionGroup = [
['value' => "Scegli", 'label' => __("Scegli...")],
[
'label' => 'N1',
'value' => [
[
'label' => __("N1 - escluse ex art.15 "),
'value' => 'N1'
],
],
],
[
'label' => 'N2',
'value' => [
[
'label' => __("N2 - non soggette"),
'value' => 'N2'
],
[
'label' => __("N2.1 - non soggette ad IVA ai sensi degli artt. da 7 a 7-septies del DPR 633/72"),
'value' => 'N2.1'
],
[
'label' => __("N2.2 - altri casi"),
'value' => 'N2.2'
],
],
],
[
'label' => 'N3',
'value' => [
[
'label' => __("N3 - non imponibili"),
'value' => 'N3'
],
[
'label' => __("N3.1 - esportazioni"),
'value' => 'N3.1'
],
[
'label' => __("N3.2 - cessioni intracomunitarie"),
'value' => 'N3.2'
],
[
'label' => __("N3.3 - cessioni verso San Marino"),
'value' => 'N3.3'
],
[
'label' => __("N3.4 - operazioni assimilate alle cessioni all'esportazione"),
'value' => 'N3.4'
],
[
'label' => __("N3.5 - a seguito di dichiarazioni d'intento"),
'value' => 'N3.5'
],
[
'label' => __("N3.6 - altre operazioni che non concorrono alla formazione del plafond"),
'value' => 'N3.6'
],
],
],
[
'label' => 'N4',
'value' => [
[
'label' => __("N4 - esenti "),
'value' => 'N4'
],
],
],
[
'label' => 'N5',
'value' => [
[
'label' => __("N5 - regime del margine / IVA non esposta in fattura "),
'value' => 'N5'
],
],
],
[
'label' => 'N6',
'value' => [
[
'label' => __("N6 - inversione contabile"),
'value' => 'N6'
],
[
'label' => __("N6.1 - cessione di rottami e altri materiali di recupero"),
'value' => 'N6.1'
],
[
'label' => __("N6.2 - cessione di oro e argento puro"),
'value' => 'N6.2'
],
[
'label' => __("N6.3 - subappalto nel settore edile"),
'value' => 'N6.3'
],
[
'label' => __("N6.4 - cessione di fabbricati"),
'value' => 'N6.4'
],
[
'label' => __("N6.5 - cessione di telefoni cellulari"),
'value' => 'N6.5'
],
[
'label' => __("N6.6 - cessione di prodotti elettronici"),
'value' => 'N6.6'
],
[
'label' => __("N6.7 - prestazioni comparto edile e settori connessi"),
'value' => 'N6.7'
],
[
'label' => __("N6.8 - operazioni settore energetico"),
'value' => 'N6.8'
],
[
'label' => __("N6.9 - altri casi"),
'value' => 'N6.9'
],
],
],
[
'label' => 'N7',
'value' => [
[
'label' => __("N7 - IVA assolta in altro stato UE"),
'value' => 'N7'
],
],
],
];
return $optionGroup;
}
}
I already added the necessary code in \Vendor\App\etc\adminhtml\system.xml:
<field id="natura_iva" translate="label comment" type="select" sortOrder="15" showInDefault="1" showInWebsite="1" showInStore="1">
<label>Natura Iva</label>
<source_model>Fattura24\AppFatturazione\Block\System\Config\NatureIva</source_model>
<comment>Specifica la Natura IVA predefinita per Aliquote pari a 0%</comment>
</field>
I can see the option list in my menu correctly.
in my Helper I use $this->getConfig('fattura24/fatture/natura_iva', $storeId);
to get the option value selected.
Now I would like to add the label text related to that option. For instance, if I choose N3.3 as option, I would like to retrieve also its label, that is "N3.3 - cessioni verso San Marino".
Thanks to all in advance