[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • assets Addon | scss und import
Seite 1 von 1

assets Addon | scss und import

Verfasst: 21. Jan 2016, 12:37
von ex-q
Hallo Zusammen,

erst einmal ein großes Dankeschön an Yakamara und alle aktiven für Redaxo 5! Wir testen gerade ob wir mit neuen Projekten schon auf R5 umsteigen können und sind bis dato hell auf begeistert.

Ein kleines Problem ist jedoch aufgetaucht:
Hat schon jemand rausgefunden wie man @import sass-Anweisungen mit dem assets Addon realisieren kann? Also beispielsweise hat man die Dateistruktur

Code: Alles auswählen

resources/css/_mixins.scss
resources/css/main.scss
und in der main.scss

Code: Alles auswählen

@import '/resources/css/mixins';
oder
@import 'resources/css/mixins';
oder
@import 'mixins';
oder
...
Leider funktioniert nichts dergleichen derzeit.
Für Hilfe wäre ich sehr dankbar!

Lg, ex-q

Re: assets Addon | scss und import

Verfasst: 21. Jan 2016, 16:02
von Sioweb
Ho!

Assets benötigt die Plugins zur jeweiligen Dateiendung. Für Scss muss das Plugin sassphp installiert und aktiviert sein.

Falls du das hast, musst du noch den Pfad zu deinen CSS-Ordner angeben:

/pfad/zu/assets/

und da drin liegen dann die Ordner /css und /js oder wie auch immer. Danach kannst du ein Set anlegen und die Datei main.scss aktivieren. Import sollte dann auf jeden Fall funktionieren.

lg Sascha

Re: assets Addon | scss und import

Verfasst: 21. Jan 2016, 16:04
von ex-q
Hi Sascha,

danke für Deine schnelle Antwort!

genau das habe ich gemacht und alles funktioniert auch soweit, das scss kompiliert sauber solange man keine @import-Anweisung verwendet. Sobald man importet klappt das leider nicht, ich vermute es liegt irgendwie an den Pfadangaben...


Lg,
ex-q

Re: assets Addon | scss und import

Verfasst: 21. Jan 2016, 16:08
von Sioweb
Liegt Redaxo in einem Unterordner?

Re: assets Addon | scss und import

Verfasst: 21. Jan 2016, 16:17
von ex-q
nein, alles ganz plain installiert :)

Re: assets Addon | scss und import

Verfasst: 21. Jan 2016, 16:29
von Sioweb
Gut, ich hab mir eben eine Datei basic.scss erstellt mit folgendem Inhalt:

---
@import '/sass/test.css';
@import '/sass/test2';

body {
line-height: 1;
}
---

Im selben Verzeichnis wie die basic.scss liegt auch der Ordner /sass/

Der import geht auf jedenfalls von der Sass-Datei aus.

Re: assets Addon | scss und import

Verfasst: 21. Jan 2016, 17:08
von ex-q
Aaaah vielen Dank, jetzt bin ich durch Dich auf die Lösung gekommen :)

Beim Sass-@Import ist es normalerweise so, dass die zu importierende Datei mit einem "_" beginnt und auf ".scss" endet, also z.B. "_mixins.scss". In der Import-Anweisung schreibt man dann aber nur "mixins".
Quelle: http://sass-lang.com/guide

Im assets-Package wird aber nicht auf den Underscore eingegangen, daher hat es bei mir nicht geklappt. Wenn ich den Unterstrich beim Import schreibe klappt alles wunderbar!

Vielen Dank für Eure Hilfe!

Re: assets Addon | scss und import

Verfasst: 21. Jan 2016, 17:19
von Sioweb
Ah okay, dass könnte ich ggf. noch einbauen ^^

Gerne.

Re: assets Addon | scss und import

Verfasst: 21. Jan 2016, 21:39
von Oliver.Kreischer
Cool,

dann ist Bootstrab & Co nutzbar ;-)

LG
Oliver

Re: assets Addon | scss und import

Verfasst: 22. Jan 2016, 11:16
von ex-q
Ach Du bist direkt der Autor? :)

Dann kann ich Dir ja vllt. auf dem Wege noch einen kleinen Bug reporten: Wenn man @font-face verwendet mit mehreren, komma-getrennten url-Angaben für die src, dann konvertiert er immer nur den Pfad für die erste url-Angabe.

Re: assets Addon | scss und import

Verfasst: 26. Feb 2016, 12:24
von Sioweb
Ho!

Das Problem sollte behoben sein.

Re: assets Addon | scss und import

Verfasst: 26. Feb 2016, 12:33
von Oliver.Kreischer
Cool. Danke.
Ich teste es gerne bei Gelegenheit!

LG
Oliver

Re: assets Addon | scss und import

Verfasst: 1. Mär 2016, 12:27
von jimhein
Ich habe gerade folgende Pfadprobleme mit SCSS. Wenn ich folgendes Snippet in mein Template einbinde

Code: Alles auswählen

REX_ASSETS[type=css file=bf] 
ergibt es folgenden Pfad in Quelltext:

Code: Alles auswählen

<link rel="stylesheet" href="/homepages/35/d12345/htdocs/blurb/assets/addons/assets/fe/bf.min.css">
Die CSS Datei ist leider über den Pfad nicht abrufbar.
Alternativ habe ich es über einen PHP-Aufruf versucht:

Code: Alles auswählen

	echo Assets::loadFiles([
		rex_path::assets('site/css/style.scss')
	]); 
Im Quelltext wird auch eine aufrufbare Url erstellt (Pfad:/assets/addons/assets/na/dcca48101505dd86b703689a604fe3c4.min.css ). In dieser CSS Datei werden allerdings die in der SCSS Datei importierten anderen SCSS Dateien (@import "normalize.scss"; @import "baseline.scss"; @import "grid.scss";) wie folgt verlinkt:

Code: Alles auswählen

@import "../../../../d12345/htdocs/blurb/assets/site/css/normalize.scss";
@import "../../../../d12345/htdocs/blurb/assets/site/css/baseline.scss";
@import "../../../../d12345/htdocs/blurb/assets/site/css/grid.scss";
Die sollten doch eigentlich durch den SCSS Parser verarbeitet werden und nicht hier verlinkt werden, oder?

Hat jemand einen Tipp für mich?

lg
ingo

Assets Addon 2.9.0
Redaxo 5.0.1
PHP 7.0.3

Re: assets Addon | scss und import

Verfasst: 1. Mär 2016, 12:42
von Sioweb
Ho!

Danke für die Meldung.

Ich arbeite nicht viel mit Sass, daher müsste mir jemand erstmal erklären wie Sass mit Includes und Underscores umgehen soll. In Less habe ich es so generiert, dass die Includes direkt eingebunden werden, muss das in Sass auch so sein?

Zu dem Pfaden, kannst du bitte mal die Datei test.php in deinem Redaxo-Root erstellen und folgenden Inhalt einpflegen?

Code: Alles auswählen

<?php

unset($REX);
$REX['REDAXO'] = false;
$REX['HTDOCS_PATH'] = './';
$REX['BACKEND_FOLDER'] = 'redaxo';
$REX['LOAD_PAGE'] = false;

require $REX['BACKEND_FOLDER'] . '/src/core/boot.php';
echo 'Test: '.$_SERVER['DOCUMENT_ROOT'].' - '.rex_path::base();
Damit kann ich dann sehen warum Assets dir so einen Pfad aufbaut. Mit diesen Variablen frage ich ab, ob sich Redaxo in einem Unterordner befindet. Wenn die bei dir anderst sind, müsste ich einen anderen Weg finden.

Re: assets Addon | scss und import

Verfasst: 1. Mär 2016, 12:59
von Thomas.Blum
Hej

@Sascha

Für REDAXO habe ich diesen Compiler geschrieben. Der Part mit der Underscore-Prüfung ist hier:

https://github.com/redaxo/redaxo/blob/m ... hp#L70-L87

vg Thomas

Re: assets Addon | scss und import

Verfasst: 1. Mär 2016, 13:10
von jimhein
Redaxo befindet sich nicht in einem Unterordner, sondern direkt im Root der Domain.
Dein Script spuckt folgendes aus:
Test: /kunden/homepages/35/d12345/htdocs/blurb - /homepages/35/d12345/htdocs/blurb/
Interessanterweise scheint das auf einem anderen Server zu funktionieren (gleiche PHP,Redaxo + Addon Version). Prinzipiell sollten die importierten SCSS Dateien, wie in LESS auch, direkt verarbeitet werden. Das macht ja auch der andere Server.

Ich arbeite sonst auch mit LESS, allerdings hatte ich letzte Woche das Problem, das das Assets Addon mir die MediaQueries in der LESS Datei verhackstückt hat und ich schnell eine funktionierende Alternative brauchte. Das war dann SASS...

lg
ingo

Re: assets Addon | scss und import

Verfasst: 1. Mär 2016, 15:00
von jimhein
Mir ist gerade noch folgendes aufgefallen:

Code: Alles auswählen

input[type="url"] {
	border:1px solid #ccc;
}
...
wird zu

Code: Alles auswählen

input[type="url("../../../../d12345/htdocs/blurb/assets/site/css/255,255,255,0.80");"

und folgendes Snippet liefert in Addon Version 2.8.0 noch den richtigen Pfad, ab 2.81 aber nicht mehr

Code: Alles auswählen

REX_ASSETS[type=css file=bf]

Re: assets Addon | scss und import

Verfasst: 2. Mär 2016, 09:19
von Sioweb
Danke. Ich werde schauen was ich tun kann, idealer Weise brauche ich aber Zugang zu deinem System um zu schauen warum deine Pfade so seltsam aufgelöst werden. Wäre das möglich?

Um das type="url" problem werde ich mich asap kümmern :)