Weitere Mengeneinheiten hinzufügen

Ich möchte eine weitere Mengeneinheit hinzufügen. Tutorial geöffnet, aber der angegebene Pfad find ich nicht bei Version 4.10.5
/out/azure/de/cust_lang.php
Wo kann ich die Liste ergänzen ?

Application/view/ etc.

Mengeneinheiten von Artikeln über die cust_lang zu verwalten, ist ein ganz neuer Ansatz.

Diese cust_lang habe ich gefunden, da steht aber so gut wie nichts drin. Auch nicht die bereits vorhandenen Mengeneinheiten, sonst hätte ich nicht gefragt. Weiß also immer noch nicht wo ich es ergänzen kann.

Der Tutoral ist von 2011 - denke da hat sich einige geändert.

Ich brauche ein Mengeneinheit mit 100 lfd Meter, bei Meter werden nicht genug Nachkommastellen angezeigt.

Die Links werden gerade bearbeitet, die gehen bald wieder, wie ich hier gelesen habe.
Also verstehe ich das richtig, daß Du “Meter” zu “100 Meter” ändern willst?
Das Wort sollte in einer der lang-Datein stehen. Die sind auch da irgendwo, application/view/…

Ich würde dann auch nochmal im Warenkorb schauen, ob da die gleiche Variable aus der lang.php verwendet wird, so daß überall 100 Meter steht.

Nicht ändern, zusätzlich.

Dann such ich mal die View Dateien durch.

Der Link zum Tutoral ist übrigens im Shop hinterlegt (beim Fragezeichen hinter Mengeneinheit). Sollte vielleicht erneuert werden.

In cust_lang stehen nur Konstanten, die entweder in lang vorhanden sind und überschrieben werden oder neue. Entsprechend wirst Du vorhandene Konstanten hier nicht finden.

Einfach eine Kontante eintragen:

'_UNIT_METER_EXPL'                                                 => '100 lfd Meter',

Über die Methode getUnitsArray() sollte die neue dann gefunden werden.

Ich hab einfach einen Kommentar drangesetzt :wink:
https://oxidforge.org/en/adding-new-unit-types.html#comment-6303

Damit überschreibe ich hoffentlich nicht das “normale” Meter. Den brauch ich nämlich auch. Muß nicht noch ein Formel für das richtige Rechnen hinterlegt werden ?

Nein, das wäre ja '_UNIT_M' => 'm',

jetzt habe ich folgende Fehlermeldung
Parse error: syntax error, unexpected ‘=>’ (T_DOUBLE_ARROW) in /homepages/27/d38461161/htdocs/Oxid/application/views/azure/de/cust_lang.php on line 37

Habe es so eingetragen ‘_UNIT_METER_EXPL’ => ‘100 lfd Meter’

Die Hochkommata werden wahrscheinlich nicht korrekt dargestellt. Nicht von hier kopieren. Kopiere aus der Originaldatei und ersetze die Inhalte.

Diesmal hat es ohne Fehlermeldung geklappt, aber das neue Mengeneinheit ist nicht aufgelistet.

Ich habs geschafft. Die weitere Mengeneinheit ist drin und richtig rechnen tut es auch.

Im cust_lang habe ich es allerdings nicht geändert. Auf der Suche, wie ich das Wort Grundpreis rein bekomme - habe ich es gefunden.

Die Liste unter Applications/Translations/DE/lang.php wird einfach ergänzt. Dort stehen die ganzen Mengeneinheiten.

Meine 100 lfd Meter habe ich jetzt, jetzt muß ich nur noch finden wie ich das Wort Grundpreis hinbekomme-

Und genau diese Datei wird Dir beim nächsten Update überschrieben. Deshalb ja auch die richtige Anleitung, es über die cust_lang.php zu machen. Wenn Du hier mal postest, wie Du es in der cust_lang.php versucht hattest, kann es mit Sicherheit jemand so korrigieren, dass es sauber läuft.

Das wurde eingetragen - genau wie ihr es oben geschrieben habt. Tmp geleert, es passierte nichts.

‘_UNIT_METER_EXPL’ => ‘100 lfd Meter’ Habe es einfach am Ende eingesetzt.

Wie das geht

getUnitsArray()

weiß ich nicht. Ich bin kein programmierer. Habe aber die meisten von meine Probleme durch das lesen hier im Forum gelöst.

War eigentlich froh eine Lösung gefunden zu haben.

Wie sieht Deine ganze geänderte cust_lang.php aus? Bitte benutz das Code-Highlighting hier.

Bekomme das mit dem Highlight nicht hingrr

<?php
    /**
     * This file is part of OXID eShop Community Edition.
     *
     * OXID eShop Community Edition is free software: you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation, either version 3 of the License, or
     * (at your option) any later version.
     *
     * OXID eShop Community Edition is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU General Public License for more details.
     *
     * You should have received a copy of the GNU General Public License
     * along with OXID eShop Community Edition.  If not, see <http://www.gnu.org/licenses/>.
     *
     * @link      http://www.oxid-esales.com
     * @copyright (C) OXID eSales AG 2003-2017
     * @version   OXID eShop CE
     */

    $sLangName  = "Deutsch";
    // -------------------------------
    // RESOURCE IDENTIFIER = STRING
    // -------------------------------
    $aLang = array(

    'charset'                                  => 'ISO-8859-15',

    );

    /*
    [{ oxmultilang ident="GENERAL_YOUWANTTODELETE" }]
    */

    ‘_UNIT_METER_EXPL’ => ‘100 lfd Meter’

Schau mal, besser so:

<?php
        /**
         * This file is part of OXID eShop Community Edition.
         *
         * OXID eShop Community Edition is free software: you can redistribute it and/or modify
         * it under the terms of the GNU General Public License as published by
         * the Free Software Foundation, either version 3 of the License, or
         * (at your option) any later version.
         *
         * OXID eShop Community Edition is distributed in the hope that it will be useful,
         * but WITHOUT ANY WARRANTY; without even the implied warranty of
         * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
         * GNU General Public License for more details.
         *
         * You should have received a copy of the GNU General Public License
         * along with OXID eShop Community Edition.  If not, see <http://www.gnu.org/licenses/>.
         *
         * @link      http://www.oxid-esales.com
         * @copyright (C) OXID eSales AG 2003-2017
         * @version   OXID eShop CE
         */

        $sLangName  = "Deutsch";
        // -------------------------------
        // RESOURCE IDENTIFIER = STRING
        // -------------------------------
        $aLang = array(

        'charset' => 'ISO-8859-15',
        '_UNIT_METER_EXPL' => '100 lfd Meter',

        );

        /*
        [{ oxmultilang ident="GENERAL_YOUWANTTODELETE" }]
        */

DANKE !!! Jetzt hat es endlich geklappt. Die Translations Datei habe ich wieder in den Ur-Zustand. cust-lang wie oben korrigiert, sogar aus m - Meter gemacht.

Vielen Dank für die Hilfe und Geduld