Sass-Variablen werden im Code nicht gelesen

Hallo,

Als ich weitere Einstellungen zu meinem Theme hinzufügte, wurde deutlich, dass Discourse sie ignorierte.

Code:


#main-outlet-wrapper .sidebar-wrapper {
  @if $Full_Width == true {
    left: 10px;
  }
}

@if $Full_Width == true {
  :root {
    --d-max-width: 95%;
  }
  #main-outlet {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 5px;
    margin-bottom: 50px;
  }
}

Dieser Code tut nichts, egal welchen Wert die Einstellung hat.

Wenn ich jedoch == true entferne, wird er immer aktiviert, egal was passiert.

Das scheint auch das Problem bei jedem anderen bool zu sein? Ich habe die Sass-Dokumentation gelesen und mein Code stimmt überein, aber es funktioniert immer noch nicht.


div#main-outlet.wrap.not-found-container,
#main-outlet-wrapper {

  #main-outlet,
  .sidebar-wrapper {
    @if $Is_Background_Blurred {
      backdrop-filter: blur(3rem) !important;
      background-color: #0a0a0aa6 !important;

      input[type],
      .select-kit.combo-box .select-kit-header,
      .d-editor-textarea-wrapper,
      div.ac-wrap {
        background: transparent;
      }
    }

    @else {
      backdrop-filter: none !important;
      background-color: var(--secondary) !important;

      input[type],
      .select-kit.combo-box .select-kit-header,
      .d-editor-textarea-wrapper,
      div.ac-wrap {
        background: transparent;
      }
    }
  }
}

Vielen Dank für jede Hilfe.

2 „Gefällt mir“

Ich bin vor ein paar Wochen auf dasselbe Problem gestoßen und kam zu dem Schluss, dass die if-SASS-Bedingung nicht wie erwartet funktionierte. Ich würde mich sehr freuen zu erfahren, ob so etwas möglich ist:\n\n"if this site_setting == value then" in einer SASS-Datei haben.\n\nIch stelle dies nur hier zur Verfügung, falls es von Nutzen sein sollte:\n\nSass: @if and @else

2 „Gefällt mir“

Ich habe hier nachgesehen, bevor ich meinen Beitrag verfasst habe, und mein Code ist exakt derselbe.

Wenn man @if $var {} verwendet, wird es immer ausgeführt, unabhängig vom Wert, und @if $var == true {} wird nie ausgeführt.

Haben Sie Folgendes versucht:

@if $var == "true"

Es ist möglich, dass der boolesche Wert tatsächlich ein String ist. Ich bin schon einmal auf dieses Problem bei Theme-Komponenten gestoßen.

3 „Gefällt mir“

Ja, das schien es zu beheben, seltsam.

2 „Gefällt mir“

Großartig, ihr habt mir beide geholfen, eine Sache herauszufinden, bei der ich in einer meiner Theme-Komponenten aufgegeben hatte. :v:

2 „Gefällt mir“

Dies könnte die Umschaltung des dunklen Themas beheben, über die wir kürzlich gesprochen haben, danke.

Es funktionierte bisher nicht.

3 „Gefällt mir“

Und so half Kris einer ganzen Bevölkerung.

3 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.