Contao-Camp 2024
Ergebnis 1 bis 9 von 9

Thema: Ablageort von assets-Dateien im lokalen Bundle

  1. #1
    Contao-Fan
    Registriert seit
    10.01.2010.
    Ort
    Kiel
    Beiträge
    339

    Standard Ablageort von assets-Dateien im lokalen Bundle

    Hallo,

    ich habe ein lokales Bundle erstellt (also im „src“-Ordner im root-Verzeichnis).
    Wie werden css- und javascript-Dateien hier eingebunden? Ich kann sie ja nicht in den „src“-Ordner ablegen, oder? Kommen diese in in den „assets“-Ordner im root-Verzeichnis?

    Viele Grüße
    Tina

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.896
    Partner-ID
    10107

    Standard

    src/Resources/public oder app/Resources/public

  3. #3
    Contao-Fan
    Registriert seit
    10.01.2010.
    Ort
    Kiel
    Beiträge
    339

    Standard

    Danke!

    Und wie ist dann die Pfadangabe?

    Die Datei liegt unter:
    src/Resources/public/assets/css/backend.css

    Welche Pfad gebe ich beim Einbinden an?
    $GLOBALS['TL_CSS'][] = 'public/assets/css/backend.css';

    Wird ein Symlink auf public-Verzeichnis erstellt? Ich habe keinen gefunden (Cache geleert, Symlinks neu erstellt).

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.896
    Partner-ID
    10107

    Standard

    Kommt darauf an, wie dein Bundle heißt. Sieh dir dazu einfach mal den Ordner web/bundles an. Dort gibt es dann symlinks zu deinem Resources/public Ordner (nachdem du ein composer install ausgeführt hast).

  5. #5
    Contao-Fan
    Registriert seit
    10.01.2010.
    Ort
    Kiel
    Beiträge
    339

    Standard

    Alles klar, vielen Dank!

    Falls es noch mal jemand braucht und genauso wie ich etwas auf dem Schlauch steht:

    Dateien ablegen unter:
    src/XXX/YYYBundle/Resources/public/css/backend.css

    Und einbinden über:
    $GLOBALS['TL_CSS'][] = 'bundles/XXXYYY/css/backend.css';

  6. #6
    Contao-Fan Avatar von dhe
    Registriert seit
    25.10.2010.
    Ort
    Esslingen a.N.
    Beiträge
    657

    Standard

    Zitat Zitat von Tina Beitrag anzeigen

    Dateien ablegen unter:
    src/XXX/YYYBundle/Resources/public/css/backend.css

    Und einbinden über:
    $GLOBALS['TL_CSS'][] = 'bundles/XXXYYY/css/backend.css';
    Danke für den Tipp. Unterschied bei mir ist aber, dass ich meine JS Datei am Ende des Body Tags einfügen möchte, also unter
    PHP-Code:
    $GLOBALS['TL_JQUERY'][] = 'bundles/XXXYYY/js/script.js'
    Allerdings bekomme ich immer die 403 Forbidden Fehlermeldung, dass man nicht drauf zugreifen kann.

    Was mache ich falsch?

  7. #7
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    Ist die Datei auch als symlink verfügbar?
    Grüße
    Alex

  8. #8
    Contao-Nutzer Avatar von a-v-l
    Registriert seit
    20.09.2013.
    Ort
    Freiburg im Breisgau
    Beiträge
    88

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Kommt darauf an, wie dein Bundle heißt. Sieh dir dazu einfach mal den Ordner web/bundles an. Dort gibt es dann symlinks zu deinem Resources/public Ordner (nachdem du ein composer install ausgeführt hast).
    Hallo Spooky,

    ich stehe vor dem gleichen Problem, css & js-Dateien einbinden zu wollen. Muss man dazu immer gleich ein Bundle erstellen und in die composer.json eintragen? So:

    Code:
    {
        …
        "repositories": [
            {
                "type": "path",
                "url": "bundles/**/*"
            }
        ],
        "require": {
            "XXX/YYY": "dev-master",
            …
        }
    }
    Und dann meine ganzen Anpassungen in bundles/XXX/YYY/ legen? Das ist ja nicht gerade der Weg, der in der Doku beschrieben wird: https://docs.contao.org/dev/getting-...g-development/

    Danke für einen kleinen Hinweis!

  9. #9
    Contao-Nutzer Avatar von medianetic
    Registriert seit
    08.11.2010.
    Ort
    Berlin
    Beiträge
    194

    Standard

    Kurze Ergänzung: Man sollte wirklich als Erstes in dem 'web'-Verzeichnis nachschauen, wie der Symlink genau heißt, denn mein Bundle heißt 'Medianetic\ContaoJobsBundle', aber das Verzeichnis heißt 'web/bundles/medianeticcontaojobs'.

    Die Symlinks für die eigentlichen Assets (z.B. JS/CSS) werden dann da auch erstellt und man referenziert dann in seinem Code diese Symlinks, daher auch die Pfadangabe.

    Ich habe dann in meiner config.php folgendes eingetragen:
    Code:
     /**
      * Assets
      */
    
    $GLOBALS['TL_JAVASCRIPT'][] = 'bundles/medianeticcontaojobs/js/list.min.js|static';

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •