Problem bei der Bereitstellung statischer Inhalte

8

Ich erstelle ein benutzerdefiniertes Thema. Jetzt habe ich eine CSS-Datei hinzugefügt, nur für die Checkout-Seite .

CSS-Dateiaufruf von default_head_block.xml unter app / design / frontent / Amit / Customtheme / Magento_Checkout / layout /

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <css src="Magento_Checkout::css/checkoutstyle.css" />
    </head>
</page>

Der Speicherort der CSS-Datei checkoutstyle.css ist app / design / frontent / Amit / Customtheme / Magento_Checkout / web / css .

Wenn ich jetzt versuche, diese CSS-Datei mit bereitzustellen php bin/magento setup:static-content:deploy

Ich erhalte diesen Fehler:

Compilation from source: 
frontend/Magento/blank/en_US/css/styles-l.less
variable @checkout-tooltip-icon__font-size is undefined in file /var/www/html/Amit/var/view_preprocessed/css/frontend/Magento/blank/en_US/css/source/_extends.less in _extends.less on line 1056, column 21
1054|     input {
1055|         .lib-css(margin-right, @indent__s);
1056|         width: calc(~"100% - (@{checkout-tooltip-icon__font-size} + @{indent__s} + @{indent__xs})");
1057|     }
1058| }
1059| >

Hinweis: Aktueller Anwendungsmodus: Entwickler und System sind Ubuntu.

Kann mir jemand sagen, was passiert ist?

Amit Bera
quelle
Kann mir jemand sagen, warum die Abstimmung nicht stimmt?
Amit Bera

Antworten:

19

Lösung ist veraltet: Nicht verwendet. Schlechte Idee, auf Standard zu wechseln

Es wurde eine Lösung gefunden, die möglicherweise nicht zu 100% richtig ist.

  • Zuerst habe ich Änderung Änderung aktuellen Anwendungsmodus standardmäßig aus developerbei app / etc / env.php ['MAGE_MODE' => 'developer' to 'MAGE_MODE' => 'default'] .
  • Auch manuell durch Löschen der pub/staticund var/view_preprocessed Verzeichnisse und Unterverzeichnisse. ausser fürpub/static/.htaccess
  • Führen php bin/magento setup:static-content:deploy Sie dann aus und es werden erfolgreich statische Dateien generiert .
  • Und ändern Aktuelle Anwendung ändern developerund ausführen, php bin/magento setup:static-content:deploy und es werden wieder erfolgreich statische Dateien generiert.

Hoffe das wird jedem helfen.

Amit Bera
quelle
Wie haben Sie die Anwendung vom Entwickler auf den Standardwert zurückgesetzt?
Claudiu Creanga
app / etc / env.php ['MAGE_MODE' => 'Entwickler' zu 'MAGE_MODE' => 'Standard']
Amit Bera
Tolle Lösung. Ich habe das Gleiche getan, wie Amit vorgeschlagen hatte und mich an die Arbeit gemacht. Eine Sache, die ich hinzufügen möchte ..... dass ...... ich den ersten Schritt Entwickler standardmäßig ausgeführt habe, dann den zweiten Schritt pub / static & var / view_preprocessed, dann den Befehl deploy ausgeführt ..... zu diesem Zeitpunkt Fehler ging nicht aus ..... es war immer noch da, aber dann habe ich den Modus wieder auf Entwickler von Standard geändert. Dann wieder den Bereitstellungsbefehl ausgeführt und dann der Fehler behoben :) Was auch immer es sein mag, aber
Amits
Hallo Amit, ich habe deine Lösung ausprobiert, es liegt immer noch ein Fehler vor ... Hier ist meine Fehlermeldung: Zusammenstellung aus der Quelle: / opt / lampp / htdocs / khelkart / vendor / magento / theme-frontend-blank / web / css / email- inline.less Kompilierung aus Quelle: Frontend / Magento / blank / en_US / css / email-inline.less Inhalt für 'frontend / Magento / blank / en_US / css / source / lib / _lib.less' kann nicht abgerufen werden .... .................................................. ........................................... Erfolgreich: 1411 Dateien; Fehler: 14 können Sie mir bitte bei der Lösung dieses Problems helfen
3bu1
Bei mir hat es nicht funktioniert!
Arvind07
0

Gehen Sie zu /var/www/html/Amit/var/view_preprocessed/css/frontend/Magento/blank/en_US/css/source/_extends.less in _extends.less

und oben hinzufügen @checkout-tooltip-icon__font-size: 18px;

Asish Hira
quelle
Sind Sie sich darüber sicher, da view_preprocesed während des Cache / der Bereitstellung erstellt wird
Amit Bera
Sie können diesen Code direkt zu einem leeren Thema hinzufügen. Löschen Sie dann view_preprocessed. und führen Sie php bin / magento setup: static-content: deploy
Asish Hira
0

Die Lösung funktionierte für mich nach dem Update von Magento 2.2.5 auf 2.3.2:

Wenn im lib-Ordner etwas fehlt, wird dies niemals wiederhergestellt. Laden Sie dazu eine neue Kopie von Magento herunter und ersetzen Sie den lib-Ordner.

Nach dem Ersetzen habe ich diesen Fehler erhalten:

Autoload error: Library 'magento/framework' from '/var/www/html/luiz/lib/internal/Magento/Framework' has been already defined in '/var/www/html/luiz/vendor/magento/framework'

Dann habe ich den Ordner lib / internal / Magento aus dem Magento-Stammverzeichnis gelöscht.

rm -rf lib/internal/Magento

rm -rf var/cache var/page_cache var/view_preprocessed pub/static/*

Nach all dem bin ich gelaufen:

php bin/magento setup:static-content:deploy -f

Bitte beachten Sie, wenn Sie sich im Entwicklermodus befinden, ist dies in Ordnung. Wenn Sie sich jedoch im Standard- oder Produktionsmodus befinden, führen Sie Folgendes aus:

php bin/magento setup:static-content:deploy

Und natürlich können Sie die nächsten Befehle verwenden:

php bin/magento setup:static-content:deploy --jobs 3

Dabei bedeutet Job 3 -> die Anzahl der Threads in der Verarbeitung und im Bereitstellungsprozess.

php bin/magento setup:static-content:deploy en_US de_DE--jobs 3

Sie können Sprachen ohne Probleme inline verwenden.

Alexey Boltynov
quelle
0

So habe ich dieses Problem gelöst (immer noch im Entwicklermodus):

  • Machen Sie eine Kopie Ihres Themas
  • Thema vom Server löschen
  • Wechseln Sie innerhalb von admin zurück zu Luma
  • Bereinigen Sie den Cache, entfernen Sie statische Dateien und var / view_preprocessed

    rm -rf pub/static/frontend/* var/view_preprocessed
    bin/magento c:c
    bin/magento c:f
    
  • Führen Sie den Befehl deploy aus

    bin/magento setup:static-content:deploy -f
  • Laden Sie dann Ihr Thema erneut hoch und schalten Sie es in admin ein

  • Führen Sie die Bereitstellung erneut aus

    bin/magento setup:static-content:deploy -f
Thomas Grabarczyk
quelle