Hilfe - ich habe da einige offene Fragen :-(
am 07.01.2015 - 12:20 Uhr in
Hallo zusammen,
ich hoffe ihr könnt mir einige meiner Fragen beantworten.
Die Drupal Installation ist durch und jetzt würde ich gerne eine Dummy Seite erstellen.
Mein Vorhaben: Ich möchte gerne eine einfache Lieferdienst Seite erstellen.
Nur zum üben.
Also brauche ich ja erst einmal ein Theme. Okay, da gibt es ja einige. Da suche ich mir
jetzt irgend eines, welches mich optisch anspricht heraus.
Nehmen wir einmal an, ich habe jetzt schon fünf Lieferdienste die ich eintragen möchte.
Muss ich jetzt schon darauf achten, dass das Theme eine Seite für Suchergebnisse bereit stellt,
oder wie funktioniert das später mit dem Anzeigen meiner Firmen?
Wie geht man hier überhaupt vor?
Was muss ich machen, damit ich mir Lieferdienste in Drupal einfügen kann.
Ich möchte, zum üben, erst einmal gar nicht mehr zu einem Lieferdienst eintragen als:
Name
Ort
Telefonnummer
Website
Wie stellt man das an? Welche Module benötigt man dafür?
Und noch einmal: kann ich dazu jetzt jedes x beliebige Theme nehmen?
Und wie erstellt man ein Suchformular, zum Beispiel nur Anhand des Ortes?
DANKE DANKE DANKE für eure Hilfe.
- Anmelden oder Registrieren um Kommentare zu schreiben

Um die Suche nach
am 07.01.2015 - 15:01 Uhr
Um die Suche nach Lieferdienst z.B. anhand des Ortes zu erstellen und die Suchergebnisse darzustellen, mußt Du Dich in erster Linie mit dem Thema Views und Blöcke beschäftigen.
Die Themes sind dabei nebensächlich.
Du kannst aber auf jeden Fall erst den Inhaltstyp für Lieferdienste anlegen mit den gewünschten FEldern und ein paar einpflegen, damit Du was zum Spielen hast.
Vielleicht brauchst Du auch Taxonomy, um Kategorien zu pflegen.
Du kommst vermutlich nicht drum rum, Dich in das Online-Handbuch von Drupal (englisch) einzuarbeiten oder ein Buch zu kaufen.
Ich denke, für Dich wäre es
am 07.01.2015 - 18:12 Uhr
Ich denke, für Dich wäre es das beste, erst einmal zu versuchen, Drupal und seine grundlegenden Konzepte zu verstehen... Themes sind zunächst einmal tatsächlich nebensächlich, da kann ich mich meiner Vor-Kommentatorin nur anschließen. Stell Dir Themes einfach als die Maske oder das Gewand vor, das Du Deinem Projekt überstülpst... das ist nur der äußere Firlefanz, sozusagen. Erstellst Du Übersichten, funktionieren die erst einmal immer - Themes legen nur fest, wie die aussehen.
Also, was Du benötigst ist sicherlich erst einmal ein Grundverständnis von Nodes, Feldern und Views (vielleicht hier mal schauen: https://www.drupal.org/documentation/modules/field-ui). Das sind eigentlich die Werkzeuge, die Du brauchst. In Deinem Fall würdest Du einen Inhaltstypen "Lieferdienst" anlegen, dem Du die Felder (=Daten) hinzufügst, die Du brauchst, also z.B. Ort, Telefonnumer etc. (für den Namen würde ich das Standardfeld Titel nehmen, das kann man umbenennen). Dann legst Du einige Lieferdienste an und erstellst mit Views eine Übersicht. In Views kannst Du z.B. dann einstellen, dass die Übersicht gefiltert werden soll = das macht die Seite zu einer Suchseite, weil Nutzer die Übersicht nach den Filtern durchsuchen können.
Das mal so als Tipp zum Einstieg.
DANKE
am 08.01.2015 - 10:01 Uhr
Schon einmal vielen, vielen Dank für die schnellen und hilfreichen Antworten!
Nachdem ich mich gestern noch intensiver mit der Doku befasst habe :-), habe ich schon mehr verstanden wie es laufen muss.
Gestern habe ich mir neue Inhaltstypen definiert und dann noch Felder hinzugefügt. Jetzt kann ich also schon einmal ein paar Firmen eintragen.
In Drupal habe ich es bisher bei den Inhaltstypen im Manage Display Block nur hinbekommen, dass ich die Reihenfolge der Felder, wie sie angezeigt werden sollen, ändern konnte.
Wo in Drupal, oder mit welchem Modul, kann ich das Aussehen der Anzeigeseite für einen Inhaltstypen ändern?
Und jetzt habe ich noch eine Frage: Was ist, wenn ich später möchte, dass der Lieferdienst XY den ich selbst eingetragen habe, später einmal ein Benutzerkonto bekommen soll, damit er selbst seine Daten pflegen kann.
Läuft das dann immer noch als Inhaltstyp oder muss ich da anders vorgehen?
DANKE
Bei der Anzeige des Inhalts
am 08.01.2015 - 10:15 Uhr
Bei der Anzeige des Inhalts eines bestimmten Inhaltstyps mußt Du grundsätzlich unterscheiden zwischen der Anzeige des einzelnen Nodes bzw. einer Übersicht über mehrere Inhalte (Nodes).
Bei der Anzeige des Nodes hast Du die Möglichkeit die Reihenfolge der Felder bzw. der Ansicht ob oder ob nicht via "Ansicht" im Inhaltstyp selbst zu regeln.
Wenn Du eine Übersicht über die vorhandenen Inhalte anlegen möchtest (z.B. mehrere Anrisstexte mit Weiterlesen-Link) dann machst Du das mit einer View.
Bei der View kannst Du entweder auch den ganzen Node anzeigen lassen, oder nur bestimmte Felder, deren Auswahl und Reihenfolge Du dann frei bestimmen kannst.
In der View machst Du ja auch die Suche, die Dir dann nur eine eingeschränkte Übersicht bzw. gleich einen bestimmten Node liefert.
Sowohl für die Nodes, als auch für versch. View-Ansichten gibt es außerdem noch Template-Dateien, die Du im gewählten Theme anlegst und nach Wunsch veränderst.
Zur Frage mit der späteren Pflege durch angemeldete User: Ja das ist kein Problem.
Du kannst ja in der Rechtevergabe hinterlegen, daß ein User mit der Rolle xy den eigenen Lieferdienst pflegen darf.
Dazu brauchst Du die User-Registrierung mit Login.
Wenn sich so ein User registriert hast, dann kannst Du beim angelegten Lieferdienst den Besitzer ändern.
Etwas mehr Verständnis und Pflegeaufwand erfordert die Plattform mit angemeldeten Usern natürlich schon.
Allerdings musst Du beachten,
am 08.01.2015 - 10:52 Uhr
Allerdings musst Du beachten, dass User keine Inhaltstypen sind. Wenn Du einen User anlegst, ist das ein ganz eigenes "Gebilde". In Deinem Fall müsstest Du einen User anlegen und am einfachsten den passende Inhalt vom Typ "Lieferdienst" diesem User zuordnen, indem Du den neuen User als "Autor" festlegst. Außerdem braucht dieser User eine Rolle, vielleicht auch die Rolle "Lieferdienst" ("Benutzer" -> "Berechtigungen" -> "Rollen"). Dieser Rolle solltest Du dann die Berechtigung geben, eigene Inhalte vom Inhaltstyp "Lieferdienst" bearbeiten zu können, sonst können diese Nutzer das nicht.
und noch einmal
am 08.01.2015 - 11:17 Uhr
vielen vielen Dank!
Scheint so, als ob ich gleich mal das richtige Forum für meine Fragen gefunden hätte :-)
Also das User keine Inhaltstypen sondern etwas selbständiges sind wusste ich. Ich war mir nur nicht sicher, ob es der richtige Weg ist, Inhaltstypen "Lieferdienst" anzulegen und dann noch zusätzlich Lieferdienst-Benutzerkonten.
Hätte ja auch sein können, das es mehr Sinn macht, dass man eine Benutzergruppe "Lieferdienst" anlegt, diesen alle benötigten Felder (Logo, Firmenname, Anschrift usw) zuweist und dann die Views nicht auf Inhalt sondern auf
Benutzer laufen lässt.
Aber so wie ihr das vorgeschlagen habt, klingt das schon besser.
Da kann ich jetzt einfach mal x Lieferdienste eintragen, dann kann sich ein Lieferdienst als Benutzer registrieren, diesem muss dann der bereits vorhandene (falls vorhanden) Eintrag zugeordnet werden und er kann ihn verändern.
Das klingt logisch :-)
@montvisa: genau der Hinweis zu der Template-Datei hat mir gefehlt. Das muss ich mir mal genauer anschauen.
Danke
Es gibt ja immer mehrere Wege
am 08.01.2015 - 11:25 Uhr
Es gibt ja immer mehrere Wege nach Rom...Du machst jetzt ja erste Schritte, um Dir ein Verständnis aufzubauen. Ich hätte das jetzt nicht so gemacht, Du hattest ja nicht erwähnt, dass das im Grunde Benutzerprofile werden. Für Dein Anliegen hätte ich entweder die Drupal-eigene Möglichkeit genutzt, den Usern beliebige Felder hinzufügen zu können - oder noch besser das Profile2 Modul.
Aha
am 08.01.2015 - 11:39 Uhr
also doch nicht über den Weg mit den Inhaltstypen.
Profile2 habe ich auch schon gesehen.
Okay, ich schreibe noch einmal kurz zusammen was ich gerne hätte :-)
1) Es sollen Lieferdienste auf der Seite angezeigt werden
2) Ein paar Firmen trage ich schon einmal ein, damit Daten vorhanden sind
3) Jetzt sollen sich aber später, Lieferdienst-Firmen bei mir auf der Seite registrieren können, und
falls ihr Datensatz schon vorhanden ist, diesen ergänzen bzw. ändern können.
4) Die Einträge von Lieferdiensten, die ich selbst eingetragen habe, bei denen es noch keinen registrierten
User gibt, sollen weniger Felder haben, oder es sollen einfach weniger Felder angzeigt werden.
--> Bei einem Lieferdienst ohne User soll zum Beispiel das Feld "Website" nicht angezeigt werden.
Das wären so grob die Anforderungen an meine Drupal-Testseite.
Ist es jetzt doch nicht so schlau, das ganze mit Inhaltstypen umzusetzen?
Wenn ich jetzt aber für jeden der Lieferdienste, den ich eintrage, auch schon einen Benutzer anlege, dann
habe ich doch das Problem, dass sich genau dieser Lieferdienst nicht wirklich neu registrieren kann.
Wenn man den Lieferdienst als
am 08.01.2015 - 11:56 Uhr
Wenn man den Lieferdienst als erweiterten Profiltyp anlegt, dann ist die Beziehung User <-> Lieferdienst für alle Zeiten fest gezurrt.
Könnte es irgendwann sein, daß sich mehrere User um ein Objekt Lieferdienst kümmern?
Oder daß mehrer User in einer Gruppe sind (Organic Groups) und einen Gruppen-Inhalt gemeinsam verwalten dürfen, welches dann eben der Inhaltstyp Lieferdienst wäre?
Oder ist das umgekehrte Szenario möglich, daß ein User (z.B. der Admin) mehrere Lieferdienste pflegt?
(So wie jetzt im 1. Schritt angedacht)
Sofern auch nur im Entferntesten solche 1:N statt 1:1 Beziehungen zwischen User <-> Lieferdienst angedacht sind, würde ich auf jeden Fall bei der Inhaltstyp-Logik bleiben, wo man später Referenzen in jede nur gedachte Richtung anlegen kann.
Nach meiner Erfahrung gibt es keinen echten Nutzwert dabei, das als Profil-Datensatz anzulegen, außer der minimalen Zeitersparnis (keinen Inhaltstyp anlegen), aber evt. spätere Einschränkungen.
Hm
am 08.01.2015 - 12:19 Uhr
also bei dem ausgedachten Beispiel wird es keine 1:N sondern immer nur 1:1 Beziehungen geben.
Und sollte ein Lieferdienst-Inhaber mehrere Filialen betreiben, müsste er mit dieser Logik mehrere Profile
anlegen, richtig?
Der Charm der Profile wäre, denke ich, dass man gleich beim Anlegen des Users automatisiert (je nach Register-Form, richtig?) festlegen kann, welche Rechte und somit welche Daten geändert werden dürfen.
Hm, ich habe mir gerade die Antwort vorher noch angesehen, da habt ihr ja geschrieben, dass man dem User die Rechte an dem Inhaltstyp geben würde.
Also manuell.
Wie würde man es denn machen, wenn das ganze automatisiert ablaufen soll?
Nehmen wir an ich habe jetzt nicht fünf Dummy Datensätze eingepflegt, sondern via Script 5000 Datensätze.
Es gibt den Lieferdienst, automatisiert eingepflegt: Pizza Super Lecker - Standort: Hamburg
Jetzt registriert sich der Lieferdienst "Pizza Super Lecker" und soll genau diesen Datensatz bearbeiten dürfen.
Kann man das irgendwie automatisiert lösen?
Könnte man neben der Anzeige des Datensatzes "Pizza Super Lecker" einen "speziellen" Registrierungsbutton
anlegen, der dann einen User erzeugt, dem genau dieser Datensatz zugeordnet wird?
Und wieder einmal: Danke
Das mit den Rechten
am 08.01.2015 - 12:38 Uhr
Das mit den Rechten funktioniert über Rollen.
D.h. der User bekommt automatisiert eine bestimmte Rolle beim Registrieren und diese Rolle hat das Recht gewisse Felder des Inhaltstyps oder des Profils zu ändern.
Hier sehe ich keinen großen Unterschied.
Wegen der automatischen Zuordnung sehe ich keinen wirklich gangbaren Weg, das nachträglich zu machen.
Und ich habe schon einige ähnliche Anwendungsfälle gehabt und durchdacht.
In der Praxis wird das dann meistens so gelöst, daß ein Lieferdienst angezeigt wird. Ein User erkennt "Jow, das ist ja mein Lieferdienst" und klicht auf ein Button: "Ich bin der Besitzer".
Dann kann er sich registrieren und übermittelt an den Betreiber eine Mail in der die ID des Lieferdienstes automatisiert übermittelt wird.
Nun liegt es in der Entscheidung des Betreibers, ob er genau prüft, ob das wirklich der Besitzer ist.
Natürlich könnte man das technisch automatisieren.
Jemand legt Account an, klickt auf Button, "ich bin Besitzer" und dann wird der Inhalt automatisch mit diesem User verknüpft.
Aber rechtlich kann das halt Probleme geben, weil vielleicht war es nicht der Besitzer, sondern der Konkurrent, der den Lieferdienst klammheimlich still legt...
Ja das ist ein
am 08.01.2015 - 12:57 Uhr
wirklich guter Einwand.
Automatisiert wäre da wirklich der falsche Weg.
Aber dann ist die Sache ja eigentlich, zumindest soweit, schon klar.
Denke ich :-)
o ich benötige also eigenen Inhaltstypen
o mit Hilfe der Views kann ich mir dann eigene Filter bauen
o wie das Ergebnis der Suche angezeigt wird, wird über ein eigenes Template gesteuert, das ich dann direkt im Code anpassen muss, richtig?
o "Lieferdienste" gibt es nicht nur als Inhaltstypen sondern auch als Benutzer
o Diesen Lieferdienst-Benutzern weißt man eigene Rechte über die Rollen zu
o Dann verknüpft der Website-Betreiber, also in dem Fall ich, den Lieferdienst-User mit dem Lieferdienst-Inhalt (falls vorhanden)
Ach herrlich, ich muss schon sagen, ich bin von Drupal schon sehr begeistert! Das ist, wenn man sich mal eingearbeitet hat, ein wirklich
verdammt mächtiges CMS und wesentlich einfacher und übersichtlicher als zum Beispiel Typo3.
Du scheinst aber auch ein
am 08.01.2015 - 14:41 Uhr
Du scheinst aber auch ein Naturtalent zu sein, wenn Du das so schnell kapierst.
Ich habe deutlich länger gebraucht, bis ich die Vorteile so klar erkennen konnte.
Das lag vermutlich darin, daß ich vorher zu viel mit TYPO3 gemacht hatte und die Umstellung fand ich schwieriger, als ganz neu anfangen.
Wenn man das Prinzip verstanden hat, dann finde ich es auch einfacher als TYPO3 und vor allem braucht man nicht diese schreckliche TYPOSCRIPT-Sprache.
Sowas wie Views gibt's auch nicht out-of-the-Box.
Jedenfalls denke ich, daß Du mit Deinen Überlegungen auf dem richtigen Weg bist.
Ob Du wirklich ein Template brauchst, ist nicht sicher.
Du kannst ja bei der View Art und Reihenfolge der Felder bestimmen und das ganze mit CSS stylen.
Man muß ja immer bedenken (obwohl ich Dich ungerne gleich auf dieses unliebsame Thema stoße ;-)), daß die Syntax in Templates / Modulen bei Versionen-Upgrades angepasst werden muß.
Deshalb versuche ich inzwischen so viel wie möglich ohne Code zu machen.
Anfangs, wo ich die Funktionen noch nicht so gut verstanden hatte, habe ich zu schnell im Code rumgefummelt.
und eine neue frage zu dem gleichen thema
am 19.01.2015 - 10:26 Uhr
So, das hat bisher alles sehr gut funktioniert. Allerdings habe ich jetzt noch eine weitere Frage, und noch keine Idee wie man das vernünftig in Drupal umsetzt.
Ich habe den Inhaltstypen: Lieferdienst
Jetzt möchte ich realisieren, dass registrierte Benutzer einen neuen Lieferdienst anlegen können.
Dabei sollen Sie den Inhaltstyp Lieferdienst aber nicht mit allen für den Inhaltstyp vorhandenen Feldern befüllen dürfen.
Also ein Benutzer soll einen Lieferdienst anlegen können, und dabei "nur" folgende Felder befüllen dürfen:
Name
Anschrift
Telefonnummer
Wenn sich der Lieferdienst, der zu diesem Datensatz gehört, auf der Seite einen Account anlegt, und ich als Website-Admin diesem Lieferdienst dann,
diesen Inhaltstypen zuordne, also als Eigentümer setze, dann sollen diesem alle Felder des Inhaltstypen (wie oben nur mit E-Mail, Website, Logo) zum
Bearbeiten zur Verfügung stehen.
Wie würde man das denn am Besten lösen?
Auch mit Views???
Danke
das ist eine Frage der Rechte
am 19.01.2015 - 10:41 Uhr
Der User "Servicebesitzer" hat dann nur die Rechte, diese Felder zu erfassen, auf die anderen Felder darf er nur lesend zugreifen.
Du kannst auch Rollen so vergeben, oder über rules steuern, dass er Später die erweiterten Felder pflegen kann.
Wichtig ist eine gute Vorausplanung.
Denkbar ist auch, dass es einen referenzierten Teil gibt, also einen zusätzlichen content_type, auf den der Besitzer kein Schreibrecht hat, der aber von einem Admin verknüpft werden kann.
Mit dem Modul field_access
am 19.01.2015 - 11:49 Uhr
Mit dem Modul field_access kann man pro Rolle Rechte auf Felder vergeben.
https://www.drupal.org/project/field_permissions
vielen
am 19.01.2015 - 14:09 Uhr
Dank. Das hört sich genau nach dem Modul nach das ich suche bzw. brauche.
Das werde ich mir heute Abend gleich mal genauer anschauen.