Skip to content
This repository has been archived by the owner on Apr 6, 2020. It is now read-only.

FontAwesome nicht in /assets #22

Open
bizon1 opened this issue Aug 21, 2018 · 21 comments
Open

FontAwesome nicht in /assets #22

bizon1 opened this issue Aug 21, 2018 · 21 comments
Assignees

Comments

@bizon1
Copy link

bizon1 commented Aug 21, 2018

Using config.component-dir has been deprecated. Please use extra.contao-component-dir instead.
Wenn man dieser Meldung beim composer update folgt und die composer.json entsprechend ändert, dann landet die Extension netzmacht/contao-font-awesome bei der Installation in Contao-4.5.21 und Contao-4.6-dev nicht mehr im Ordner /assets/font-awesome/ sondern eine Ebene höher in /components/font-awesome/.
Dadurch funktionieren die Fonts nicht mehr.

Wenn man o.g. Meldung ignoriert und die composer.json also nicht geändert, funktioniert alles.

@dmolineus
Copy link
Member

Der Fehler liegt hier eher bei https://github.com/RobLoach/component-installer

Da das Package nicht mehr weiterentwickelt wird, habe ich keine Ahnung wie man dies fixen kann ohne einen BC Break herbeizuführen. Die vorgeschlagenen Alternativen Asset Packagist or Component Installers Extender halte ich nicht für optimal für die Erweiterung

@bizon1
Copy link
Author

bizon1 commented Aug 21, 2018

Danke für die schnelle Antwort.

Ich habe es vorerst so behoben, indem ich einen Symlink auf /components/font-awesome in /assets gelegt habe.

@Stefko
Copy link

Stefko commented Aug 26, 2018

Ich habe es vorerst so behoben, indem ich einen Symlink auf /components/font-awesome in /assets gelegt habe.

Habe das selbe Problem, könntest Du bitte kurz erklären, wie Du das gemacht hast? Danke :-)

@fritzmg
Copy link

fritzmg commented Aug 26, 2018

Der Fehler liegt hier eher bei https://github.com/RobLoach/component-installer

Eigentlich nicht, das ist schon korrekt so. Wenn kein component-dir in der root composer.json angegeben ist, werden die components by default in den components Ordner gegeben.

Die contao-font-awesome Extension müsste daher prüfen, welcher dieser Ordner in Verwendung ist.

@Stefko: du musst einfach die component-dir konfigurieren:

    "config": {
        "component-dir": "assets"
    },
    "extra": {
        "contao-component-dir": "assets"
    },

@dmolineus
Copy link
Member

Eigentlich nicht, das ist schon korrekt so.

Stimmt, ich habe da zwei Sachen durcheinander gebracht. Bisher nutzten Contao und der Component-Installer beide config.component-dir. Contao nun nicht mehr. Die Deprecated-Warning muss also ignoriert werden.

@fritzmg Problem an einen nicht gesetzten component-dir ist aber, dass die Stylesheets dann nicht geladen würden, oder übersehe ich da gerade etwas?

@fritzmg
Copy link

fritzmg commented Aug 27, 2018

Hm ja stimmt, das component/ Verzeichnis würde ja dann nicht symlinked werden. Könntest du aber selbst einbauen.

@fritzmg
Copy link

fritzmg commented Aug 27, 2018

Vielleicht ist es aber ohnehin besser, du bundlest die assets in deinem package mit (evt. automatisiert).

@dmolineus
Copy link
Member

Vielleicht ist es aber ohnehin besser, du bundlest die assets in deinem package mit (evt. automatisiert).

Davon möchte ich eigentlich wegkommen. Mit den derzeitigen Stand, dass ich für jedes Release die Icon-Informationen aktualisieren muss, ist es egal. Ziel ist es aber, dass ich diese automatisiert auslesen kann (FortAwesome/Font-Awesome#5867).

@fritzmg
Copy link

fritzmg commented Aug 27, 2018

Naja, das Problem ist, dass du so oder so ein shim repository über composer braucht - zB eben components/font-awesome. Ich hätte auch gern eine bessere Lösung für solche assets, aber der aktuelle Stand der Dinge mit solchen assets über composer ist eher meh.

@dmolineus
Copy link
Member

Ja, die Abhängigkeit besteht. Ich würde aber gern dem Nutzer die Entscheidung überlassen, welche Version er verwendet. Und selbst nicht immer hinterher sein zu müssen das Package zu aktualisieren.

@fritzmg Hast du zufällig Erfahrung gesammelt mit https://asset-packagist.org/?

@fritzmg
Copy link

fritzmg commented Aug 27, 2018

@fritzmg Hast du zufällig Erfahrung gesammelt mit https://asset-packagist.org/?

Noch nicht - aber solche Lösungen habe ich bisher nicht für Contao Extensions beachtet, wenn sie Änderungen in der root composer.json benötigen (wie hier zB das zusätzliche repository).

Hast du schon mal https://github.com/oomphinc/composer-installers-extender probiert? Das sollte ja ohne Änderung der root composer.json funktionieren, wenn ich mich nicht täusche.

@dmolineus
Copy link
Member

Noch nicht, aber es benötigt auch eine Konfiguration unter extra in der Root-Konfiguration, siehe https://github.com/oomphinc/composer-installers-extender#how-to-use Und man bliebe auf den Shim-Repositories. Im Prinzip ist es ja nichts anderes als ein Ersatz zu den robloach/components-installer. Dieser benötigt halt auch den Eintrag in der composer.json - den Contao damals glücklicherweise übernommen hatte.

@fritzmg
Copy link

fritzmg commented Aug 27, 2018

Noch nicht, aber es benötigt auch eine Konfiguration unter extra in der Root-Konfiguration, siehe https://github.com/oomphinc/composer-installers-extender#how-to-use Und man bliebe auf den Shim-Repositories.

Hm, sicher? "extra" Einträge könnten - je nach dem, auch in den packages funktionieren.

@dmolineus
Copy link
Member

Hm, sicher? "extra" Einträge könnten - je nach dem, auch in den packages funktionieren.

Ja, hatte den Code gecheckt, weil ich die Readme nicht eindeutig fand.

@dive13
Copy link

dive13 commented Sep 29, 2018

Wie wäre jetzt die konkrete Lösung für das Problem? Welche Schritte müssen gemacht werden, damit man in einer Contao 4.6 wieder auf die icons zugreifen kann? In meiner composer.json steht bereits:
"extra": { "contao-component-dir": "assets" },

@dmolineus
Copy link
Member

Wie wäre jetzt die konkrete Lösung für das Problem? Welche Schritte müssen gemacht werden, damit man in einer Contao 4.6 wieder auf die icons zugreifen kann? In meiner composer.json steht bereits:
"extra": { "contao-component-dir": "assets" },

Du benötigst weiterhin den Eintrag unter config. Die deprecated-Warning von Contao innerhalb von Composer kannst du ignorieren.

    "config": {
        "component-dir": "assets"
    }

@dive13
Copy link

dive13 commented Oct 1, 2018 via email

@designpilot
Copy link

designpilot commented Nov 18, 2018

@dmolineus
Wenn ich das so in der composer.json drin habe funktioniert das aber auch nicht

     "config": {
         "component-dir": "assets"
     },
    "extra": {
        "contao-component-dir": "assets"
    },

weil a) das hier fehlt /assets/font-awesome/css/ und b) ich das mit dem Contao Manager unter Systemwartung alles ausgeführt habe und auch die Pakete aktualisiert habe, es hat alles nichts geholfen, auch nicht das ich Font Awesome deinstalliert habe und nochmals neu installiert hab. Dabei habe ich auch nach der Deinstallation von Font Awesome die oben stehenden Zeilen in der composer.json stehen lassen und nochmal probiert - ohne Erfolg - Der Fehler wird immer angezeigt und das schlägt mit einem Eintrag in der /var/log/ zu buche.

@Aybee
Copy link

Aybee commented Mar 27, 2019

Ich wollte das mal pushen, damit das nach der Installation wieder funktioniert.

@kroerig
Copy link

kroerig commented Dec 8, 2019

kommt hier eigentlich noch eine Version, die wieder out-of-the-box für jedermann nutzbar ist?

@dmolineus
Copy link
Member

kommt hier eigentlich noch eine Version, die wieder out-of-the-box für jedermann nutzbar ist?

Ist derzeit nicht geplant. Die Lösungen müssen derzeit in der root composer.json vorgenommen werden. Die Erweiterung unterstützt ja aktuell nur Font Awesome 4, in eigenen Projekten bin ich seit einiger Zeit auf Font Awesome 5 umgestiegen. Der Bedarf an dieser Erweiterung meinerseits ist nicht mehr vorhanden.

Selbstverständlich können entsprechende Features/Wünsche auch beauftragt werden.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

8 participants