Verzeichnisstruktur
Eine Herbie-Website ist in der Regel wie folgt aufgebaut:
project
├── site
├── vendor
└── web
├── assets
├── cache
├── media
├── .htaccess
└── index.php
Wofür diese Dateien und Verzeichnisse stehen, siehst du in der folgenden Tabelle:
Datei/Verzeichnis | Beschreibung |
---|---|
project |
Dein Projektverzeichnis auf dem Webserver. |
site |
Der eigentliche Inhalt der Website (siehe unten). Dieses Verzeichnis ist normalerweise nicht über das Web zugänglich. Es kann aber auch im öffentlichen Verzeichnis abgelegt werden. |
vendor |
In diesem Verzeichnis ist Herbie mit allen abhängigen Komponenten und Drittanbieter-Programmen enthalten. Hier solltest du nichts anpassen. Dieses Verzeichnis ist nicht über das Web zugänglich. |
web |
Das öffentliche Verzeichnis deines Webservers. Du hast darauf über den Webbrowser Zugriff. |
web/assets |
Die Ablage für JavaScript-, CSS- und Bilddateien, welche für das Layout der Website benötigt werden. |
web/cache |
Der Cache für Dateien, die öffentlich zugänglich sein sollen, z.B. verkleinerte Bilder. |
web/media |
In diesem Verzeichnis sind Dateien abgelegt, die du über deine Inhalte verlinkt hast. Zum Beispiel Bilder, PDFs, Videos, MP3s, etc. |
web/.htaccess |
Falls in deinem Projekt die Option nice_urls aktiviert ist,
muss diese Datei mit den entsprechenden Anweisungen vorhanden sein. |
web/index.php |
Die Bootstrap-Datei und Teil von Herbie. Über diese Datei laufen alle Anfragen an den Webserver. |
site-Verzeichnis
Normalerweise arbeitest du ausschliessliche im site
-Verzeichnis deines Webprojektes.
Dieses ist in der Regel wie folgt aufgebaut:
site
├── assets
├── cache
├── config
| ├── plugins
| | ├── imagine.yml
| | └── video.yml
| └── main.yml
├── data
| └── persons.yml
├── layouts
| ├── head.html
| ├── footer.html
| ├── error.html
| └── default.html
├── pages
| ├── index.md
| ├── company
| | ├── index.md
| | ├── about-us.md
| | ├── our-vision.md
| | └── team.md
| ├── services.md
| └── contact.md
├── plugins
├── posts
| ├── 2013-10-29-my-third-blog-post.md
| ├── 2007-10-29-my-second-blog-post.md
| └── 2007-10-29-my-new-blog.md
└── twig
In der folgenden Tabelle siehst du wiederum, wofür jede dieser Dateien und Verzeichnisse stehen:
Datei/Verzeichnis | Beschreibung |
---|---|
assets |
Das Assets-Verzeichnis von Herbie. Darin sind CSS- und JS-Dateien abgelegt, die zur Laufzeit ins Web-Assets-Verzeichnis kopiert werden. |
cache |
Das Cache-Verzeichnis von Herbie. Darin werden z.B. Twig Cache-Dateien gespeichert. |
config |
Das Konfigurationsverzeichnis mit Dateien im YAML-Format (die Hauptdatei kann auch eine PHP-Datei sein).
Konfigurationen für Plugins sind als einzelne Dateien im Unterordner plugins abgelegt. |
data |
Das Daten-Verzeichnis, im dem verschiedene Daten-Dateien im YAML-Format gespeichert werden können. |
layouts |
Das Layout-Verzeichnis der Website. Hier sind HTML- bzw. TWig-Dateien abgelegt, die für das Aussehen der Website zuständig sind. |
pages |
Die CMS-Seiten der Website. Diese sind als Textdateien (Markdown, Textile, Text, HTML) abgespeichert. |
posts |
Die Blog-Posts der Website. Diese sind ebenfalls als Textdateien abgespeichert. |
plugins |
In diesem Verzeichnis sind deine Plugins abgelegt. Plugins verwaltest du einfach über Composer. |
twig |
In diesem Verzeichnis sind Twig-Filter, Twig-Funktionen und Twig-Tests abgelegt. |
.htaccess-Datei
Falls in deinem Projekt die Option nice_urls
aktiviert ist, muss im
web
-Verzeichnis eine .htaccess-Datei mit den entsprechenden Anweisungen
vorhanden sein.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
Damit werden - vereinfacht gesagt - alle Seitenaufrufe an die zentrale Bootstrap-Datei weitergereicht. Dies ist zum Beispiel für die Suchmaschinen-Optimierung wichtig, aber auch für die Besucher deiner Website.
Bitte beachte, dass obige Konfiguration für den Apache Webserver ausgelegt ist.