Less Version in Shopware?

Welche less Version verwendet Shopware?
Ich möchte Recursive Mixins verwenden, erhalte jedoch einen parse error wenn ich diese lade.
In einem Onlinekompiler gibt es keine Probleme.

Verwendet Shopware auch hier Sachen aus dem 1900 Jahrhundert oder wie?

Falls ja, wie kann ich less in Shopware updaten und ist das sinnvoll?

Verwendeter Code:

        .generate_rows_tablet_m_4 (@i, @n) when (@i < 41) {
            .start-row-m-@{i}.row-m-4 {
                height: calc(~"100vw - 15px") !important;
                top: calc(@n * (~"50vw - 7.5px")) !important;
            }

            .generate_rows_tablet_m_4(@i + 1, @i * 0.5)
        }

        .generate_rows_tablet_m_4(2, 0.5);

Fehler im Frontend als auch beim Theme komplieren:
Fatal error : Uncaught Less_Exception_Chunk: ParseError: Unexpected input in all.less on line 1167, column 9 1165| 1166| 1167| .generate_rows_tablet_m_4 (@i, @n) when (@i < 41) { 1168| .start-row-m-@{i}.row-m-4 { 1169| height: calc(~„100vw - 15px“) !important; 1170| top: calc(@n * (~„50vw - 7.5px“)) !important; in /homepages/5/d805147558/htdocs/shop/vendor/oyejorge/less.php/lib/Less/Parser.php:677 Stack trace: #0 /homepages/5/d805147558/htdocs/shop/vendor/oyejorge/less.php/lib/Less/Parser.php(621): Less_Parser->GetRules(’/homepages/5/d8…’) #1 /homepages/5/d805147558/htdocs/shop/vendor/oyejorge/less.php/lib/Less/Parser.php(498): Less_Parser->_parse(’/homepages/5/d8…’) #2 /homepages/5/d805147558/htdocs/shop/engine/Shopware/Components/Theme/LessCompiler/Oyejorge.php(73): Less_Parser->parseFile(’/homepages/5/d8…’, ‚…/…/custom/pl…‘) #3 /homepages/5/d805147558/htdocs/shop/engine/Shopware/Components/Theme/Compiler.php(381): Shopware\Components\Theme\LessCompi in /homepages/5/d805147558/htdocs/shop/vendor/oyejorge/less.php/lib/Less/Parser.php on line 677

Hi skarpeta,

naja, der less compiler von oyejorge ist seit 2015 archiviert - https://github.com/oyejorge/less.php

Sollte sich grundsätzlich durch den aktuell von Wikimedia gepflegten ersetzen lassen, aber SW hat wohl noch Anpassungen gemacht. Kannst ja mal ein Ticket auf https://issues.shopware.com/ anlegen.

LG Phil

1 „Gefällt mir“

Ist ja toll dass du sowas schreiben kannst. Aber wenn du es nicht ständig verwendest, generiere den Code online und schreib ihn so rein.

1 „Gefällt mir“

Falls jemand noch danach sucht:

Die Syntax ist wohl scheinbar zu neu für die Version die in Shopware genutzt wird.

Zeile 4 calc war wohl hier das Problem, wenn man die Berechnung anders escaped geht es:

    .generate_rows_tablet_m_4 (@i, @n) when (@i < 41) {
        .start-row-m-@{i}.row-m-4 {
            height: calc(~"100vw - 15px") !important;
            top: calc(@n ~(* (50vw - 7.5px")") !important;
        }

        .generate_rows_tablet_m_4(@i + 1, @i * 0.5)
    }

    .generate_rows_tablet_m_4(2, 0.5);

Shopware verwendet less 2.5.3 und mit diesem Compiler kann man es ganz gut testen und erhält auch eine richtige Fehlermeldung: estFiddle