> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# CN- (Klimaneutrale Produktion)

> Die Tags für die klimaneutrale Produktion: die verfügbaren Klimaschutzprojekte auflisten, ihre Angaben und Preise ausgeben und den Käufer eines davon auswählen lassen.

Bei der klimaneutralen Produktion gleicht der Käufer die CO2-Emissionen seiner Bestellung aus, indem er ein Klimaschutzprojekt unterstützt. Welche Projekte zur Auswahl stehen und was sie kosten, holt der Shop bei ClimatePartner ab.

Die Tags mit dem Präfix `CN-` zeigen diese Projektliste und nehmen die Auswahl entgegen. Sie gehören ausschließlich auf die Zahlungs- und Versandarten-Seite (`ws_pay_deliv.htm`), denn dort trifft der Käufer diese Entscheidung.

Wegweiser: [Klimaneutrale Produktion](https://dokumentation.websale.de/v8s/externe-dienste/klimaneutrale-produktion.md)

## Was wohin gehört

Die Funktion erstreckt sich über mehrere Seiten des Shops, und nur ein Teil davon läuft über CN-Tags.

| Aufgabe | Präfix | Seite |
| - | - | - |
| Hinweis am Produkt | `PR-ClimateNeutral` | Produktdetailansicht |
| Hinweis je Warenkorbposition und Gesamtmenge | `BASKET-PR-ClimateNeutral…`, `WS-ClimateNeutral…` | überall, wo der Warenkorb steht |
| **Projektauswahl** | **`CN-`** | **Zahlungs- und Versandarten-Seite** |
| Kosten im Rechnungsfuß | `BASKET-ClimateNeutral…` | Bestellübersicht, Bestellbestätigung |
| Zertifikat und Urkunde | `WS-ClimateNeutralCert…` | Bestellbestätigung |

Referenz: [Klimaneutrale Produktion im Warenkorb](https://dokumentation.websale.de/v8s/referenz/tags/basket/klimaneutrale-produktion-im-warenkorb.md)

## Das vollständige Beispiel

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WS-ClimateNeutralActivated}
   {CN-Data}

      <input type="radio"
             name="~CN-Project_radioname~"
             value="~CN-Project_radiovalue_noproject~"
             {CN-Project_radioselected_noproject}checked{/CN-Project_radioselected_noproject}>
      Ohne klimaneutrale Produktion bestellen

      {@CN-Data}
         <input type="radio"
                name="~CN-Project_radioname~"
                value="~CN-Project_radiovalue~"
                {CN-Project_radioselected}checked{/CN-Project_radioselected}>

         <strong>~CN-ProjectName~</strong><br>
         Technologie: ~CN-ProjectTechnology~<br>
         Region: ~CN-ProjectRegion~, ~CN-ProjectCountry~<br>

         {CN-ProjectURL}<a href="~CN-ProjectURL~" target="_blank">Zum Projekt</a>{/CN-ProjectURL}
         {CN-ProjectPDF}<a href="~CN-ProjectPDF~">Projektbeschreibung als PDF</a>{/CN-ProjectPDF}<br>

         Kosten pro kg CO2: ~CN-ProjectPricePerUnit(3)~ ~WS-CurrencySymbol~<br>
         Gesamtkosten: ~CN-ProjectTotal~ ~WS-CurrencySymbol~
      {/@CN-Data}

   {/CN-Data}
{/WS-ClimateNeutralActivated}
```

> [!WARNING]
>
> Der erste Auswahlpunkt, also "ohne klimaneutrale Produktion", steht **innerhalb** von `{CN-Data}`, aber **außerhalb** der Schleife `{@CN-Data}`. Innerhalb der Schleife stünde er so oft da, wie es Projekte gibt.

Die äußere Klammerung mit `WS-ClimateNeutralActivated` gehört dazu. Ist die Funktion im Shop nicht freigeschaltet, soll an dieser Stelle gar nichts erscheinen.

## Die Projektliste

### CN-Data

Das zentrale Tag, in drei Rollen.

| Verwendung | Ergebnis |
| - | - |
| Einzel-Tag | die Anzahl der verfügbaren Klimaschutzprojekte |
| Bereichs-Tag | greift, wenn mindestens ein Projekt verfügbar ist |
| Schleifen-Tag | läuft über die Projekte |

Der Bereich greift nur, wenn der Warenkorb überhaupt die konfigurierte Mindestmenge an CO2 erreicht und ClimatePartner erreichbar ist. Ein leerer negativer Bereich ist deshalb keine Seltenheit, sondern der Normalfall bei kleinen Bestellungen.

## Die Angaben zum Projekt

Alle Tags dieses Abschnitts gelten nur innerhalb der Schleife `{@CN-Data}`.

| Tag | Liefert |
| - | - |
| `CN-ProjectName` | den Namen des Projekts |
| `CN-ProjectNumber` | die Projektnummer |
| `CN-ProjectTechnology` | die eingesetzte Technologie |
| `CN-ProjectRegion` | die Region |
| `CN-ProjectCountry` | das Land |
| `CN-ProjectType` | die Art des Projekts |
| `CN-ProjectURL` | die Adresse der Projektbeschreibung bei ClimatePartner |
| `CN-ProjectPDF` | die Adresse der Projektbeschreibung als PDF |
| `CN-ProjectAvailableCompensationAmount` | die insgesamt verfügbare Kompensationsmenge |
| `CN-ProjectCurrency` | die Währung des Projekts |
| `CN-ProjectUnit` | die Einheit, in der gerechnet wird |
| `CN-ProjectVATRate` | den konfigurierten Mehrwertsteuersatz |

ClimatePartner rechnet immer in Kilogramm, `CN-ProjectUnit` gibt diese Einheit als Text aus.

`CN-ProjectAvailableCompensationAmount` wird mit den Einstellungen aus dem Abschnitt `<ClimateNeutral>` formatiert, also mit den dort festgelegten Nachkommastellen und Trennzeichen. Die Preise verwenden dagegen das Preisformat des Shops.

### Auf einen bestimmten Wert prüfen

Diese Tags lassen sich als Bereichs-Tag mit einem Parameter verwenden. Der Bereich greift, wenn der Wert des Projekts dem Parameter entspricht.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{@CN-Data}
   {CN-ProjectCountry(Brasilien)}
      <img src="images/web/flagge-br.png" alt="Brasilien">
   {/CN-ProjectCountry(Brasilien)}

   {CN-ProjectTechnology(Windkraft)}
      <span class="symbol wind"></span>
   {/CN-ProjectTechnology(Windkraft)}
{/@CN-Data}
```

> [!WARNING]
>
> Die Werte kommen von ClimatePartner und können sich ändern. Bauen Sie die Anzeige deshalb so, dass sie ohne Treffer weiterhin sinnvoll aussieht.

Ohne Parameter greift der Bereich, wenn überhaupt ein Wert vorliegt. Das ist die übliche Klammerung, etwa um einen Link nur dann zu setzen, wenn es eine Projektseite gibt.

## Die Preise

Zwei Größen und je vier Varianten.

| Bezug | netto | brutto | nach Shopeinstellung | Steueranteil |
| - | - | - | - | - |
| Preis je kg CO2 | `CN-ProjectPricePerUnitNet` | `CN-ProjectPricePerUnitGross` | `CN-ProjectPricePerUnit` | `CN-ProjectPricePerUnitVAT` |
| Gesamtpreis des Ausgleichs | `CN-ProjectTotalNet` | `CN-ProjectTotalGross` | `CN-ProjectTotal` | `CN-ProjectTotalVAT` |

> [!WARNING]
>
> Die Variante ohne Zusatz richtet sich nach der Preisart des Shops: In einem Shop mit Bruttopreisen liefert `CN-ProjectTotal` den Bruttobetrag, in einem Shop mit Nettopreisen den Nettobetrag. Wenn Sie beides sicher auseinanderhalten müssen, verwenden Sie die ausdrücklichen Varianten.
>
> Der Gesamtpreis ist nicht einfach der Preis je Kilogramm mal der Emissionsmenge. Der Shop wendet zuerst die konfigurierten Mindestkosten an und rechnet danach den ebenfalls konfigurierten Aufpreis hinzu. Ein nachgerechneter Betrag aus den beiden Einzelwerten weicht deshalb ab.

### Nachkommastellen steuern

Die vier Tags zum Preis je Kilogramm nehmen die Anzahl der Nachkommastellen als Parameter entgegen. Ohne Parameter sind es zwei.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
Kosten pro kg CO2: ~CN-ProjectPricePerUnit(3)~ ~WS-CurrencySymbol~
```

Drei Nachkommastellen sind hier oft nötig, denn der Preis je Kilogramm liegt regelmäßig im Bereich weniger Cent. Mit zwei Stellen stünde bei vielen Projekten dieselbe Zahl.

## Die Auswahl

Der Käufer wählt genau ein Projekt oder keines. Fünf Tags bilden diese Auswahlgruppe.

| Tag | Liefert | Steht |
| - | - | - |
| `CN-Project_radioname` | den Namen der Auswahlgruppe | innerhalb und außerhalb der Schleife |
| `CN-Project_radiovalue` | den Wert dieses Projekts | in der Schleife |
| `CN-Project_radioselected` | greift, wenn dieses Projekt gewählt ist | in der Schleife |
| `CN-Project_radiovalue_noproject` | den Wert für "kein Projekt" | außerhalb der Schleife |
| `CN-Project_radioselected_noproject` | greift, wenn kein Projekt gewählt ist | außerhalb der Schleife |

`CN-Project_radioname` gibt immer denselben festen Namen aus. Genau das macht die Auswahlpunkte zu einer Gruppe, aus der nur einer gewählt werden kann. Verwenden Sie deshalb auch beim Punkt "kein Projekt" dieses Tag und keinen eigenen Namen.

`CN-Project_radioselected_noproject` greift, solange der Käufer nichts ausgewählt hat. Das ist der Ausgangszustand, der erste Auswahlpunkt ist also von sich aus vorbelegt.

## Alternative Währung

Zu allen acht Preis-Tags gibt es eine Variante in alternativer Währung.

| Tag | Entspricht |
| - | - |
| `CN-AltCurrencyProjectPricePerUnit` | `CN-ProjectPricePerUnit` |
| `CN-AltCurrencyProjectPricePerUnitNet` | `CN-ProjectPricePerUnitNet` |
| `CN-AltCurrencyProjectPricePerUnitGross` | `CN-ProjectPricePerUnitGross` |
| `CN-AltCurrencyProjectPricePerUnitVAT` | `CN-ProjectPricePerUnitVAT` |
| `CN-AltCurrencyProjectTotal` | `CN-ProjectTotal` |
| `CN-AltCurrencyProjectTotalNet` | `CN-ProjectTotalNet` |
| `CN-AltCurrencyProjectTotalGross` | `CN-ProjectTotalGross` |
| `CN-AltCurrencyProjectTotalVAT` | `CN-ProjectTotalVAT` |

Die vier Tags zum Preis je Kilogramm nehmen als ersten Parameter die Nachkommastellen und als zweiten einen dreistelligen Währungs-ISO-Code. Die vier Tags zum Gesamtpreis nehmen nur den ISO-Code. Ohne Code wird die vom Käufer gewählte alternative Währung verwendet.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{@CN-Data}
   ~CN-ProjectTotal~ ~WS-CurrencySymbol~
   {CN-AltCurrencyProjectTotal}
      (~CN-AltCurrencyProjectTotal~ ~WS-AltCurrencySymbol~)
   {/CN-AltCurrencyProjectTotal}
{/@CN-Data}
```

Wie bei allen Tags zur alternativen Währung greift der Bereich, sobald ein Umrechnungskurs vorliegt, und nicht erst bei einem Betrag größer null.

Referenz: [AltCurrency- (Alternative Währung)](https://dokumentation.websale.de/v8s/referenz/tags/altcurrency.md)

## Die Tags im Überblick

| Tag | Einzel-Tag | Bereichs-Tag | negatives Bereichs-Tag | Schleifen-Tag |
| - | - | - | - | - |
| `CN-Data` | ja | ja | ja | ja |
| `CN-ProjectName` | ja | ja | ja | – |
| `CN-ProjectNumber` | ja | ja | ja | – |
| `CN-ProjectTechnology` | ja | ja | ja | – |
| `CN-ProjectRegion` | ja | ja | ja | – |
| `CN-ProjectCountry` | ja | ja | ja | – |
| `CN-ProjectType` | ja | ja | ja | – |
| `CN-ProjectURL` | ja | ja | ja | – |
| `CN-ProjectPDF` | ja | ja | ja | – |
| `CN-ProjectAvailableCompensationAmount` | ja | ja | ja | – |
| `CN-ProjectCurrency` | ja | ja | ja | – |
| `CN-ProjectUnit` | ja | ja | ja | – |
| `CN-ProjectVATRate` | ja | ja | ja | – |
| `CN-ProjectPricePerUnit` samt Zusätzen | ja | ja | ja | – |
| `CN-ProjectTotal` samt Zusätzen | ja | ja | ja | – |
| `CN-AltCurrencyProjectPricePerUnit` samt Zusätzen | ja | ja | ja | – |
| `CN-AltCurrencyProjectTotal` samt Zusätzen | ja | ja | ja | – |
| `CN-Project_radioname` | ja | – | – | – |
| `CN-Project_radiovalue` | ja | – | – | – |
| `CN-Project_radioselected` | – | ja | ja | – |
| `CN-Project_radiovalue_noproject` | ja | – | – | – |
| `CN-Project_radioselected_noproject` | – | ja | ja | – |

Zulässig sind alle Tags auf der Zahlungs- und Versandarten-Seite (`ws_pay_deliv.htm`), innerhalb von `{CN-Data}`. Alle Tags zum einzelnen Projekt zusätzlich nur innerhalb der Schleife `{@CN-Data}`.

## Verwandte Themen

* Wegweiser: [Klimaneutrale Produktion](https://dokumentation.websale.de/v8s/externe-dienste/klimaneutrale-produktion.md)
* Referenz: Abschnitt `<[ClimateNeutral](/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/preise-steuern-und-waehrung#climateneutral)>`
* Referenz: [Klimaneutrale Produktion im Warenkorb](https://dokumentation.websale.de/v8s/referenz/tags/basket/klimaneutrale-produktion-im-warenkorb.md)
* Referenz: [AltCurrency- (Alternative Währung)](https://dokumentation.websale.de/v8s/referenz/tags/altcurrency.md)


## Related topics

- [Klimaneutrale Produktion](https://dokumentation.websale.de/v8s/externe-dienste/klimaneutrale-produktion.md)
- [Klimaneutrale Produktion im Warenkorb](https://dokumentation.websale.de/v8s/referenz/tags/basket/klimaneutrale-produktion-im-warenkorb.md)
- [Felder und Beispiele](https://dokumentation.websale.de/v8s/schnittstellen/bestellungen/ws-bestellgenerator/felder-und-beispiele.md)
- [Preise, Steuern und Währung](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/preise-steuern-und-waehrung.md)
- [Sektionen: Positionen und Zahlung](https://dokumentation.websale.de/v8s/schnittstellen/bestellungen/ws-bestelldaten/sektionen-positionen-und-zahlung.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.