Drupal 8 Tutorium

Intro

Drupal 8

Build something
amazing.

Drupal 8: Ein Web Content Management System mit besonderen Maßschneiderungsoptionen für Entwickler

CSS, JavaScript und HTML Grundkenntnisse reichen heutzutage nicht aus, wenn eine Seite für einen Kunden entwickelt werden soll.
Der Kunde möchte eigene Bilder, Texte und weiteren Content selbst anpassen können ohne sich mit einer Hypertext Markup Language, Cascading Stylesheets, JavaScript oder sonstigem auseinander setzen zu müssen.
Das Ganze soll also über eine grafische Benutzeroberfläche (GUI) möglichst einfach anpassbar sein.

In meinem Projekt an der Hochschule der Medien in Stuttgart, Studiengang Medieninformatik recherchierte ich, wie jemand mit dem oben genannten Wissen eine Website erstellen kann bei welcher, in Verbindung mit Drupal, der Inhalt möglichst leicht anpassbar ist.

Zu meiner Recherche trugen das World Wide Web sowie die Bücher 📚  Drupal 8 Developement: Beginner's Guide und Beginning Drupal 8 bei.
Am meisten lernte ich jedoch auf einem Drupal Codesprint und anschließenden Drupal Camp in München.

druplicon and me
dcmuc16
dcmuc16Ich am drupalkunstlaufen 💃
DrupalLearning==figureSkating:
return 'oft bin ich gefallen, jedoch am Ende ist etwas Schickes draus geworden! 😅';

Meine Anfänge mit Drupal:

Als ich im Wintersemester 2015/16 mein erstes Softwareprojekt hier an der HDM mit Drupal machte, war ich mehr als überfordert. Ich arbeitete Tutorials auf video2brain, YouTube und dem World Wide Web durch. Ebenfalls versuchte ich die Drupal Dokumentation zu verstehen, jedoch tat ich mir bei all dem schwer. Die Tutorials, die ich fand, erklärten entweder "deep coding" oder die Benutzeroberfläche, aber nicht Entwicklung mit Drupal von Anfang an: also, wie bekomme ich erst einmal den Server und meine Website zum Laufen.
Der Benutzer soll eine Eingabe in einer komfortabelen Benutzeroberfläche (wie "Microsoft Word") machen können, während meine HTML Elemente, CSS Klassen, mein Styling und JavaScript Code das Ganze zu einer "high fashion" Website machen.

Demzufolge arbeitete ich in meinem ersten Projekt mit DOM Manipulation, riss die verschiedenen Felder mittels JavaScript aus Drupal heraus und umwrappte sie mit meinen eigenen Containern, meinem Script und CSS. Diese Vergewaltigung Drupals führte zu erheblichen Performance Beeinträchtigungen.
Ich als ehemalige Leistungssportlerin konnte dies natürlich nicht auf mir sitzen lassen: ich wollte unbedingt wissen, wie Drupal richtig funktioniert.
Außerdem möchte ich mit diesem Blog anderen Kommillitonen und Webentwicklern helfen einen Einstiegspunkt in Drupal zu bekommen. Denn nun nach meiner Recherche bin ich der Meinung, dass Drupal gar nicht so schwer ist, wie es tut.

Deswegen habe ich verschiedene Kapitel verfasst, welche Webentwicklung mit Drupal von Grund auf beschreiben:

  • Zuerst natürlich, wie du eine Seite zum Laufen bekommen kannst
  • Wie du das Theme, also das Hauptgerüst der Seite, selbst erstellst
  • Und als Letztes noch wie du mein oben genanntes Problem lösen kannst: eigene Container um die Drupal Input Felder generieren
    Hierzu entwickeln wir eine Studentenseite mit etwas CSS, JavaScript und HTML

 

So nach dem ganzen BLABLA wünsche ich dir viel Spaß beim Durcharbeiten meines Blogs 📝 und viel Erfolg bei deiner Arbeit mit Drupal!🍀

dcmuc16

Setup

Werkzeug

Drupal 8

Bevor man ein Haus 🏠 bauen kann muss erst einmal das Gerüst stehen 🔧:betriebssysteme

Es gibt verschiedene Möglichkeiten Drupal zu installieren. Unter anderem ist dies auch vom Betriebssystem abhängig. 

Für professionelle Webentwicklung empfiehlt sich eine Linux Distribution als Betriebssystem zu verwenden oder für die Reicheren unter uns tut's auch ein Mac. 
(ich beispielsweise habe mir Ubuntu 16.04 als Dual Boot neben Windows auf meinem Rechner installiert und Macbuntu als Theme gesetzt. Richtig hübsch :).

Für unsere Windows Nutzer, die Drupal lediglich ausprobieren möchten und nicht gleich auf ein anderes Betriebssystem umsteigen möchten, können den Acquia Dev Desktop verwenden. 

Auf einem Mac besteht die Wahl: Entwicklung mit Hilfe des Acquia Dev Desktops oder über MAMP und die Verwendung des Terminals.
Sobald man sich ein wenig mit dem Terminal beschäftigt hat und herausgefunden hat, wie man eine Drupal Seite zum Laufen bekommt, kann man um einiges effizienter Drupal Seiten bauen. Zudem gibt es hier die Möglichkeit Drupal Seiten mit Hilfe von Composer, einem Paket Manager für PHP Projekte, sehr schnell und einfach zu erstellen. Oder man installiert Drupal mit Hilfe der Drupal Console. Composer ist sehr praktisch, wenn man in größeren Teams entwickelt, da eine JSON erstellt wird in der alle aktuellen Versionen der installierten Module und Tools gelistet werden.

 

Dev Desktop: Windows/Mac

Ladet den Acquia Dev Desktop von  https://dev.acquia.com/downloads herunter und befolgt die Installationsanweisungen.

acquia dev desktop
install devdesktop

 

 Um Drupal zu installieren klicke auf Start from Scratch und wähle die aktuelle Drupal 8 Version zur Installation aus. Dann nur noch einen Namen für dein Websiteprojekt und die Datenbank vergeben. Wenn du nun die Seite im Browser öffnest, wirst du automatisch durch den Installationsprozess geleitet. Der Seite einen Namen vergeben, Benutzername, Passwort und E-Mail festlegen, und schon hast du eine fertige Drupal Seite.

*Tipp: Vorgehensweise bei der Fehlermeldung "update Drupal Core":
  • Die aktuellste Drupal Version als zip von drupal.org/download herunterladen und extrahieren.
  • Im Dev Desktop auf den Code deiner Seite gehen "Local code"(zweiter Link von oben), den Core dort löschen und mit dem Core aus der Zip Datei ersetzen.
  • drush cr in die Console eingeben (schwarze kleine Quadrat rechts im Dev Desktop).

Professionelle Webentwicklung: Linux (Ubuntu)

lamp
composer
  • Installation von Composer
    • Dies ist ein Paketmanager für PHP Projekte wodurch z.B. Abhängigkeiten aufgelöst werden.
      Dadurch wird vieles einfacher.
    • Composer: › getcomposer.org/download
  • Zwei Schritte noch vor der Installation von Drupal 8
    • Bash Aliases anpassen:
      • alias a2rl='sudo service apache2 reload'
      • alias a2s='sudo service apache2 start'
    <Directory /var/www/>
     Options FollowSymLinks
     AllowOverride All
     Require all granted
    </Directory>
    
    • apache2.conf ggf. anpassen:
      sudo gedit /etc/apache2/apache2.conf
  • Installation von Drupal 8 über Composer im Terminal
    1. Wechseln in das Verzeichnis /var/www/html: cd /var/www/html
    2. Das Drupal Composer Template für den Download von Drual verwenden:
      composer create-project drupal-composer/drupal-project:8.x-dev d8tuts --stability dev --no-interaction
      › github.com/drupal-composer/drupal-project
      Der Ordner d8tuts wird für die Drupal Seite angelegt.
    3. Der hosts Datei die Domain der neuen Drupal Seite bekannt geben:
      sudo gedit /etc/hosts
      Ganz unten eine Zeile hinzufügen: 127.0.0.1 d8tuts.local (tab dazwischen)
      und abspeichern.
  1. In das Verzeichnis sites-available wechseln:
    cd /etc/apache2/sites-available
    und 000-default.conf kopieren nach d8tuts.conf
    sudo cp 000-default.conf d8tuts.conf
  2. Die neue Konfigurationsdatei d8tuts.conf anpassen:
    • sudo gedit d8tuts.conf
    • ServerName d8tuts.local
    • DocumentRoot /var/www/html/d8tuts/web
  3. Die Seite aktivieren:
    sudo a2ensite d8tuts
    apache starten: a2s
    Apache Reload: a2rl
finished installation
  1. In einem beliebigen Browser d8tuts.local öffnen. Der Installationsprozess startet automatisch.
    • Sprache: English
    • Version: Standard
    • d8tuts.local/phpmyadmin öffnen und eine neue Datenbank d8tuts anlegen.
      Zurück auf d8tuts.local Datenbankname d8tuts angeben. Benutzer und Password von PHPMyadmin eintragen.
  2. Die restlichen Formulare (selbsterklärend) ausfüllen und fertig. Die Drupal Installation ist geschafft.
  3. Wenn du bis hier hin durch gehalten hast, dann Herzlichen Glückwunsch, du hast die Installation geschafft! 👏 🎉 🍷
  4. Und als aller Letztes versionierst du das Ganze am Besten noch zum Beispiel mit GitHub.
    Vor allem wenn man in einem Team arbeitet ist dies natürlich unumgänglich.
    Oder wenn man, so wie ich, Drupal mal gerne zum Absturz bringt, freut man sich, wenn man auf eine frühere Version zurück setzten kann.
    (vorausgesetzt man hat immer fleißig gepusht 😅)
github

Professionelle Webentwicklung: Mac

mamp
Tipp: Nano ist ein Texteditor. Naviagion über Pfeiltasten.
  • [strg+w}: Suche nach einem Begriff
  • [strg+o]: Abspeichern
  • [strg+x}: Schließen
composer
  • Installation von Composer
    • Dies ist ein Paketmanager für PHP Projekte wodurch z.B. Abhängigkeiten aufgelöst werden.
      Dadurch wird vieles einfacher.
    • Composer: › getcomposer.org/download
  1. In der Host Datei den Namen der neuen Seite bekannt geben
    • Die Datei mit nano öffnen:

      sudo nano /Applications/MAMP/conf/apache/httpd.conf

    • Ganz unten einen neuen Eintrag hinzu fügen:

      127.0.0.1 d8uts.local

      (tab dazwischen)
  2. Virtual Hosts aktivieren
    • In der Datei httpd.conf die Zeile mit Virtual hosts unkommentieren.
      Öffnen der Datei:

      sudo nano /Applications/MAMP/conf/apache/httpd.conf

    • Mit [strg+w] nach "Virtual hosts" suchen und das # vorne entfernen
    • Abspeichern mit [strg+o] und schließen mit [strg+x]
  3. Einen neuen Virtual host anlegen
    • Öffnen der Datei:

      nano /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

    • Am Ende der Datei einen neuen Eintrag hinzufügen:
      <VirtualHost *:80>
      
          DocumentRoot "/Applications/MAMP/htdocs/d8tuts/web"
      
          ServerName d8tuts.local
      
      </VirtualHost>
      

cd /Applications/MAMP/htdocs

  1. In das Verzeichnis htdocs wechseln wo deine neue Drupal Installation hin soll:
  2. Das Drupal Composer Template für den Download von Drupal verwenden:

    composer create-project drupal-composer/drupal-project:8.x-dev d8tuts --stability dev --no-interaction

    › github.com/drupal-composer/drupal-project
    Der Ordner d8tuts wird für die Drupal Seite angelegt.
  3. MAMP als Programm öffnen und auf "starten" klicken um den Server zu starten.
  4. In einem beliebigen Browser d8tuts.local öffnen. Der Installationsprozess startet automatisch.
    • Sprache: English
    • Version: Standard
    • d8tuts.local/phpmyadmin öffnen und eine neue Datenbank d8tuts anlegen.
      Zurück auf d8tuts.local Datenbankname d8tuts angeben. Benutzer und Password von PHPMyadmin eintragen.
  5. Die restlichen Formulare (selbsterklärend) ausfüllen und fertig. Die Drupal Installation ist geschafft.
  6. Wenn du bis hier hin durch gehalten hast, dann Herzlichen Glückwunsch, du hast die Installation geschafft! 👏 🎉 🍷
  7. Und als aller Letztes versionierst du das Ganze am Besten noch zum Beispiel mit GitHub.
    Vor allem wenn man in einem Team arbeitet ist dies natürlich unumgänglich.
    Oder wenn man, so wie ich, Drupal mal gerne zum Absturz bringt, freut man sich, wenn man auf eine frühere Version zurück setzten kann.
    (vorausgesetzt man hat immer fleißig gepusht 😅)
cake

Theming

business character

Der Charakter der Website

Als Erstes natürlich die Frage: Was ist überhaupt ein Theme?

Ein Theme ist, wie der Name schon sagt, das Thema, der Charakter einer Website.

In einem Theme beschreibt man die Regionen wie Header, Content und Footer in welchen die Inhalte später stehen sollen. Außerdem können Breakpoints für Responsive Webdesign angelegt werden. (also dass die Seite sowohl auf großen wie kleinen Handybildschirmen gut aussieht oder zumindest lesbar/ erkennbar ist.)
Hier wird auch der Haupt-Stil über Cascading Style Sheets (CSS) festgelegt.

Natürlich kann man auch einfach eines der vielen Themes von der Drupal Seite herunter laden, aber diese werden niemals euren eigenen Charme widerspiegeln. Außerdem hat man mehr Kontrolle über sein eigenes Theme und es beinhaltet wirklich nur das, was man benötigt.

Ein eigenes Theme in Drupal zu erstellen ist recht einfach.

Unter dem Theme Ordner einen Ordner 'custom' oder 'contrib' anlegen.

drupal-console
Tipp: Verwendung der Drupal Console
  • Einfach drupal gt ins Terminal eingeben und ein Themeskelett wird generiert.
  • Falls Drupal mit dem Dev Desktop installiert wurde funktioniert dies jedoch nicht, da die Drupal Console hier noch nicht integriert ist.
theme drupal OrdnerStruktur
  1. Die Ordnerstruktur wie auf dem Bild links aufbauen.
    • Natürlich könnt ihr 'css', 'js', 'img' und den 'templates' Ordner auch anders strukturieren.
      Hier das Ganze nochmal auf der offiziellen Drupal Seite: › drupal-8-theme-folder-structure
    • Damit ein Theme auf der Seite im Backend unter Appearance erscheint wird lediglich die 💮.info.yml Datei benötigt.
      💮 Steht hierbei für den Übergeordneten Ordner 'mein_theme_ordner' und muss so genannt werden.
      Hier werden auch die Regionen der Seite definiert bspw. Header, Content, Footer etc.
    • In der 💮.libraries.yml Datei werden die Pfade zu den JavaScript und CSS Dateien festgelegt.
    • Die 💮.breakpoints.yml wird für Responsive Webdesign verwendet, um das Verhalten der Seite auf verschieden großen Geräten wunderschön darzustellen.
      (Oder zumindest lesbar) .
    • Die 💮.theme Datei enthält Funktionen für das Preprocessing der Website und kann ebenfalls die Theme-Settings erweitern.
      (Ich werde hier jedoch nicht auf diese Datei eingehen, da dies ein Anfänger Tutorial ist)
    • Enthält der 'mein_theme_ordner' ein logo.png, screenshot.png oder favicon.ico (Wird als kleines Bild im Tab des Browsers angezeigt), dann werden diese Bilder automatisch dem Theme hinzu gefügt.
    • Die Themes, die bei Drupal bereits mitgeliefert werden, findet man unter Core >Themes. Bartik ist das Default Theme der Installation. Dieses kann ebenfalls als Vorlage genutzt werden.
    • Hier kann das d8tuts_theme d8tuts_theme downloadherunter geladen werden, das ich für dieses Tutorial erstellt habe.
      (Einfach in den Ordner themes > contrib kopieren
  1. Die d8tuts_theme.info.yml Datei anlegen
    • Wichtig sind die Abstände in diesem Dokument. Es dürfen keine Tabs verwendet werden, sondern jeweils zwei Leerzeichen.
    • 'name', 'description', 'screenshot' und 'type' sind selbsterklärend. Den Typ theme muss man angeben, da Module vom Aufbau die gleiche 💮.info.yml Datei haben und lediglich der Typ das Ganze als ein Theme oder Modul qualifiziert.
    • Das 'package:' kann nach belieben vergeben werden, auch 'rosa_einhorn_packet' ist bspw. zulässig.
      Das Package kann auch komplett weg gelassen werden. Bei Modulen werden diese nach Packages im Backend sortiert. Bei themes konnte ich jedoch nichts derartiges feststellen.
    • Angabe des cores ist verpflichtend, damit das Theme einer Drupal Version zugeordnet werden kann.
hteme_info file structure
  • Das 'base theme' gibt an von welchem Theme geerbt werden soll. Man kann von einem beliebigen Theme dessen Stärken und Schwächen erben und diese Charakteristik in seinem eigenen Theme ausbauen. Bei einem gefühlt eigenen Theme sollte man 'classy'(klassifiziert sich über klasse CSS-Klassen) oder 'stable' , dies wird automatisch zum Base Theme, falls dieses nicht explizit angegeben wird.

  • Die Angabe des base themes ist also nicht verpflichtend aber sehr zu empfehlen!
  • Die Regionen legen das Layout der Seite fest. Die 'content' Region ist Pflicht. Einen footer und header besitzt eigentlich auch jede Seite.
    In diese Regionen wiederum können verschiedene Inhalte wie Navigation, Artikel, News, Div-Container etc. über das Drupal Backend unter mysite.local/admin/structure/block eingefügt werden.
  • 'libraries' gibt den Namen einer Bibliothek an, welche in der 💮.libraries.yml die Pfade zu den JavaScript und CSS Dateien enthält.
    Struktur: Minus + Leerzeichen + theme_ordner_name + Slash + Bibliotheksname
  • Die Angabe des Screenshots ist optional. Wird dieser nicht angegeben, wird in dem Theme Ordner nach einem Screenshot.png Bild gesucht, wird dies nicht gefunden, wird das Bild des Base Themes verwendet.
    Außerdem wird nach einem logo.png und favicon.ico gesucht. Möchte mach jetzt, wie ich das gemacht habe, gerne ein 💮.gif als Logo oder Favicon, kann man das Bild unter mysite.local/admin/appearance/settings/my_theme_name anpassen.
hteme_library file structure
  1. Die d8tuts_theme.libraries.yml Datei anlegen
    • Wieder wichtig: zwei Leerzeichen verwenden, keine Tabs!
    • Am weitesten Links, ohne Leerzeichen also,wird die Bibliothek definiert, die in der 💮.info.yml Datei deklariert wird. Eine eigene Version des Themes wie z.B. 1.0 o.Ä. kann angegeben werden sowie die Pfade zu den CSS un d JS Dateien.
      Nach CSS muss wie im Bild theme folgen, sonst funktioniert es nicht.
    • Bibliotheken können auch geschachtelt werden. Zum Beispiel kann global-styling eine Bibliothek unicorn-style: enthalten.
      global-styling: + Neue Zeile + zwei Leerzeichen + unicorn-style: + Neue Zeile + zwei Leerzeichen+ ab version: wie Bild Links.
  1. Das Template page.html.twig anlegen
    • Damit alles seine Ordnung hat, definierst du am besten einen Ordner templates und da das page das Layout deiner verschiednen Seiten definiert generierst du noch einen Ordner layout in welchen du die page.html.twig hinein legst.
    • Im Bild links siehst du Doppelte geschweifte Klammern mit einem page.region Inhalt. Dies sind TWIG Variablen. Hier kannst du die Regionen benutzen, die du in der Info Datei festgelegt hast.
      Mit {% if page.regionname %} Inahlt der gezeigt werden soll, falls die Region existert {% endif %} kann abgefragt werden, ob eine Region mindestens ein Element enthält.
    • {{page.help}} ist, wie der Name schon sagt, eine Hilfe von Drupal, die es sich lohnt in seine Seite einzubauen.
    • Man kann also eigene HTML tags und CSS Klassen anlegen um die gewünschte Seitenstruktur zu bekommen.
hteme_page file structure
  • Um alle Variablen anzuzeigen kann man:
    <ul>
      {%for x,y in page%}
        <li>{{x}} : {{y}}</li>
      {%endfor%}
    </ul>
    am besten an den Anfang der Datei schreiben und die Ausgabe im Browser ansehen.
    Der Cache muss eventuell gefulshed werden. In die Console drush cr eingeben.
  • Zu TWIG templating werde ich später noch ein Kapitel verfassen. Für den Anfang reicht es, wenn du lediglich die page.html.twig anlegst und den Inhalt dieser Datei verstehst.
    • Die anderen Templates, wie auf dem Bild angezeigt, können hier d8tuts_theme download herunter geladen werden.
  1. Das Theme unter mysite.local/admin/appearance aktivieren.
    • Das Theme suchen und auf Install and set as default klicken.
    • Jetzt könen die Blöcke wie im Video links nach Belieben verschoben werden.
      Siehst du wie schön clean der Blöcke Teil ist? Lediglich drei Regionen.
    • Da im Kapitel Front End Design eigene Content Types angelegt werden, brauche ich den unpersonalisierten Artikel nicht. Um alles schön clean und übersichtlich zu haben lösche ich diesen im Video.
 

  

dcmuc16

Frontend Design

heart

Das Herz der Seite

Gestalltung des Inhalts der Website, das Herzstück der Seite

Es ist immer schön zu wissen, was einen in einem Tutorial erwartet.
Deswegen fühl dich frei das Video links anzusehen.
Genaue Ziele und Vorstellungen erhöhen die Motivation und können gegebenenfalls sogar in den Flow-Zustand führen.
(Du weißt nicht was das ist? Dann google mal nach Flow und Mihalyi Csikszentmihalyi.)
  • Wie das Video schon aussagt, erstellen wir mit Drupal 8 eine Seite mit Studenten und Studentinnen.
  • Das Video verdeutlicht außerdem, wie einfach redaktionelle Arbeit für den User in Drupal ist.
  • Das Ganze erreichen wir indem wir die Module Paragraphs und Field_Group von Drupal verwenden.
    Außerdem benutzen wir CSS und JavaScript, das du bereits im Theming Tutorial eingebunden hast.
  • Das Theming Tutorial ist also Voraussetzung, damit dieses Tutorial glücklich und zufrieden endet. 😇
Das Video erklärt alle Schritte noch einmal bildhaft also fühl dich frei es anzuschauen.
  1. Einen neuen Paragraph anlegen
    • Unter:
      Structure › Paragraphs Type
    • Name: StudentIn
  2. Felder wie in der Tabelle rechts anlegen
Feld Name Feld Typ Format Constraints
Bild Image Required
Name Text (Plain) Required
Matrikelnummer Number (integer) Required
Studiengang Plain Text Required
Interessante Fakten Text (formatted,long)  
  1. HTML Struktur wie links auf dem Bild aufbauen
    • Blau hinterlegt sind die HTML Wrapper Elemente für die StudentIn
    • Grau hinterlegt sind die Label der StudentIn
    • Die anderen Felder sind die Input Felder für den Redakteur der Website
    • Das klingt am Anfang kompliziert, deswegen geh am Besten so vor wie ich es im Video zeige.
Paragraphs-Layout
  1. Jetzt noch einen Content Type erstellen
    • Ein Feld Paragraph hinzufügen und einen Haken bei deinem erstellten Paragraph setzten.
    • Ein paar Feinjustierungen vernehmen über sichtbare Label, etc.
  2. Letzter Schritt: eine Beispielstudierenden-Seite anlegen.

Herzlichen Glückwunsch, du kannst nun anfangen deine Seiten mit Drupal zu basteln! 👏 🎉 🍷

map

Impressum

Law

All rights reserved.

Impressum

Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV:
Nadin-Katrin Apel 
Kernerstr.9
70182 Stuttgart 

Kontakt: E-Mail: d8tuts@gmail.com

Angaben gemäß § 5 TMG

Vertreten durch: Prof. Dr. Jens-Uwe Hahn

Haftungsausschluss: Haftung für Inhalte

Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.

Haftung für Links

Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.

law
No front page content has been created yet. Subscribe to