> For the complete documentation index, see [llms.txt](https://docs.norisk.group/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.norisk.group/oxid/noriskmodules/nrproductsup/extension-guide.md).

# Extension Guide

Erstelle eine Klasse, welche `norisk\nrProductsUp\Application\Core\Exports\nrProductsup_Cron` extended

Implementiere die folgenden Methoden\
`public function run(): string`Enthält den eigentlichen Export`public function getExportName(): string`Der Anzeigename des Exports. Wird im Admin UI verwendet\
`public function getExportFilename(): string`Der Dateiname des Exports.`public function isMultilanguage(): bool`Muss true oder false zurückgeben, je nachdem ob der Export mehrsprachig ist oder nicht.

{% code title="example.php" %}

```php
namespace norisk\nrExt\Core;

use norisk\nrProductsUp\Application\Core\nrProductsup_Cron;

class NewExport extends nrProductsup_Cron
{
    public function run()
    {
        $csvWriter = $this->_createCsvWriter($this->getExportFilename());

        $this->_setAHeaderMoveColumnId($csvWriter, ['oxid', 'title'], 'oxid');

        $rows = [['oxid' => 1, 'title' => 'test']];
        $this->_writeRowsToCsv($csvWriter, $rows);

        $csvWriter->Close();
    }

    public function getExportName()
    {
        return 'NewExport';
    }

    public function getExportFilename()
    {
        return 'new_export.csv';
    }

    public function isMultilanguage()
    {
        return false;
    }
}
```

{% endcode %}

Außerdem muss die Klasse `norisk\nrProductsUp\Application\Core\nrProductsup_Utils` via Modul erweitert werden.

Im Konstruktor muss die neue Exportklassen zur Property `_specialExports` hinzugefügt werden.

{% code title="example2.php" %}

```php
namespace norisk\nrExt\Extensions\Core;

class nrExt_Utils extends nrExt_Utils_parent
{
    public function __construct()
    {
        parent::__construct();

        $this->_specialExports[] = \norisk\nrExt\Core\NewExport::class;
    }
}
```

{% endcode %}
