Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Content Types mit unterschiedlichen Zuständen

Eingetragen von Q-Base (339)
am 15.05.2015 - 10:05 Uhr in
  • Module
  • Drupal 7.x

Hallo *,

innerhalb einer abgeschlossenen Community sollen Gegenstände tauschbar sein. Ich habe daher einen neuen Content Typ erstellt, der alle notwendigen inhaltlichen Felder enthält. Nun ist es ja so, das ist ja keine übliche "Veröffentlichung", sondern die Nodes haben unterschiedliche Zustände und durchlaufen damit einen Workflow. Ich habe mir dazu die Module Rules und Workflow angeschaut, aber finde kein praktikables Beispiel, wie ich jetzt selbst vorgehen könnte.

Also Beispiel, wenn jemand ein Angebot akzeptiert, dann kann das kein Zweiter tun. Gleichzeitig sollten sich die Tauschpartner gegenseitig kennen, also sollte der Name von allen Beteiligten dastehen.

Mein Anliegen scheint sehr speziell zu sein. Ich wüsste jetzt anhand der vorhandenen Modulbeschreibung und der Suche in diesem Forum aktuell nicht, wie ich anfangen könnte. Ich glaube aber, die Funktionalität von Rules genügt, wissen tue ich das nicht. Kennt jemand ein gutes Tutorial, dass ein anwendbares Beispiel hat?

Ciao, Q

‹ [erledigt] Location über "Computed Field" füllen funktioniert nur teilweise! [gelöst] PHP Modul verursacht Fehlermeldung ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

du wirst dir etwas

Eingetragen von ronald (3845)
am 15.05.2015 - 11:06 Uhr

Gedanken über den Tauschprozess machen müssen.

Wie könnte ein solcher Prozess ablaufen?

Ein Gegenstand GX gehört dem User UY.

Nun bekundet ein User UZ Interesse an diesem Gegenstand, und bietet den Gegenstand GT, den er im Besitz hat, zum Tausch an.

Nimmt UY den Tausch an, wird UZ Besitzer von GX und UY Besitzer von GT.

Oder wie hast du das vorgesehen?

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

Im Prinzip ab ... "bietet

Eingetragen von Q-Base (339)
am 15.05.2015 - 13:32 Uhr

Im Prinzip ab ...

  1. "bietet den Gegenstand GT, den er im Besitz hat, zum Tausch an"
  2. "Nun bekundet ein User UZ Interesse an diesem Gegenstand"
  3. "Nimmt UY den Tausch an, wird UZ Besitzer von GX und UY Besitzer von GT"

Also das sind die digitalen Schritte. Alles weitere passiert ja implizit bzw. offline (außerhalb des Systems).

Ciao, Q
---
Running Gag der IT seit den 70er: "Machen wir eben mal schnell ...".

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dass die Gegenstände transportiert werden müssen

Eingetragen von ronald (3845)
am 15.05.2015 - 13:44 Uhr

ist eine andere Sache.
Aber ansonsten muss der gesamte Prozess im System abgebildet werden.

Es gibt also mehrere User, die eine Listen von Gegenständen zum Tausch anbieten, und darauf warten, dass andere ihnen ein Angebot mit einem Gegenstand aus ihrer Kollektion machen.

Bis dahin sind das wohl einfach views.

Ein Tauschangebot wäre möglicherweise ein spezieller content_type mit referenzfeldern für die Artikel.

Die Tauschbestätigung löst dann den trigger für das Umbuchen der Besitzverhältnisse aus, und veranlasst den physischen Tausch.

Ist dieser vollstreckt, ist der Vorgang abgeschlossen, und kann archiviert oder gelöscht werden.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich denke, es braucht gar

Eingetragen von montviso (2034)
am 15.05.2015 - 17:28 Uhr

Ich denke, es braucht gar keinen Extra Inhaltstyp, sondern nur den Inhaltstyp Tauschgegenstand.

Der hat dann zusätzlich zu den Beschreibungsfeldern und Name des Besitzers (User A) ein Feld Status, das automatisch verändert wird (durch Rules) und ein Feld Tausch, welches vom Typ Referenz auf Inhalt vom gleichen Typ ist (geht das???...warum eigentlich nicht???)

Stati sind 1=Neu, 2=Tauschangebot erfolgt 3=Tausch abgeschlossen
Ein weiteres Feld wird bereit gehalten, um die ID aufzunehmen von dem Gegenstand, den User A von User B,C od. D als Tauschgegenstand akzeptiert.

Ein kleines Modul mit einem form_alter_hook befüllt ein Auswahlfeld, welches Referenzen hinzufügt nur mit Tauschgegenständen des Users B, der diesen Tauschgegenstand vom User A anschaut.
Bzw. man könnte ein Feld View List daraus machen und eine View integrieren, die alle Tauschangebote des Betrachters zur Auswahl anbietet.
Da muß man prüfen, ob man die User-ID des Betrachters an der Stelle als Argument übergeben kann.

Wenn der Betrachter User B einen Gegenstand aus seinem Fundus auswählt, wird dieses also dem Referenzfeld angehängt.
Dieses Referenz Feld kann entweder beliebig viele oder nur eine bestimmte Anzahl annehmen, was eben Sinn macht.

Über Field Permissions kann man einstellen, daß keiner der User das Feld Status, bzw. das mit der Referenz-ID ändern darf, aber jeder darf beim Feld Tausch eine Auswahl treffen aus den eigenen Tauschgegenstand-Inhalten.

Das Hinzufügen eines Tausch-Angebotes führt per Rules dazu, daß der Status auf 2 wechselt.
EVt. kann die Rule auch eine Mail an User A senden ("Guck mal, User B hat was angeboten")

Es gibt eine View, die User A anzeigt, wer ihm alles was zum Tausch angeboten hat. (Also sieht er hier nur die Gegenstände mit Status 2 und die dazu angebotenen Produkte + Besitzer
Bei jedem Gegenstand befindet sich ein Link, der als Argument die ID vom Tauschgegenstand User A und die ID vom Tauschgegenstand User B enthält.
Wenn er auf diesen Link klickt, öffnet sich eine Seite, auf der ne Rule anspringt, die
a) ID vom Tauschgegenstand User B in das dafür vorbereitete Feld mit der Tausch-ID schreibt
b) den Status auf 3 setzt
c) eine Mail an User B schickt ("Yuhu, Dein Gegenstand wurde akzeptiert")
d) ene Mail an User C, D... schickt ("Schade, diesmal nicht")

Und dazu kann man dann natürlich noch ein paar weitere hübsche Views bauen.

Nur mal so als schneller Brainstorm...

LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ganz lieben dank euch beide

Eingetragen von Q-Base (339)
am 20.05.2015 - 11:25 Uhr

Ganz lieben dank euch beide für die Ideen. Mir fehlt aber gerade wirklich der Link zu "das mache ich jetzt mit X". Alleine schon, dass ein Benutzer B, ein Angebot von A annimmt, stellt für mich die Frage, wie bekomme ich da so ein Button "Biete auf Angebot" hin. Wenn der Statuswechsel ein Field ist, dass "hidden" ist und nur durch das Rules-Modul verändert wird, welchen Typ hat es? Wenn ein Tausch perfekt ist, wie werden die Content Nodes dann insgesamt "unsichtbar"?

Ich kenne mich da eher nicht so aus, daher hatte ich auch nach einem sinnvollem Tutorial gefragt. Wie habt ihr das gelernt, wie man mit eigenen Content Types einen Prozess abhilden könnt?

Achso, und ich kann kein PHP und kenne mich in Drupal so gar nicht aus. Ich bin da also eher ein Drupal-Anwender für eigene Zwecke.

Ciao, Q

Ciao, Q
---
Running Gag der IT seit den 70er: "Machen wir eben mal schnell ...".

  • Anmelden oder Registrieren um Kommentare zu schreiben

sinnvolle Tutorials kannst du

Eingetragen von patrici (107)
am 20.05.2015 - 18:46 Uhr

sinnvolle Tutorials kannst du selber suchen... flag modul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • PHP 8.1 - Deprecated function: rtrim()
  • Preloader / Spnner entfernen Menu Link Modal-Modul
  • Schriftgröße standard einstellen
  • Drupal Website gestalten
  • MariaDB 10.6
  • Entity Reference - Title Felder werden als Link angezeigt
  • Tokens werden in Viev als Link angezeigt
  • [bug entdeckt & workaround gefunden] benutzerdefinierte Felder vom Userprofil tauchen ungefragt auch in den Forumtopics auf...
  • [gelöst] Mass contact Empfängerliste nach Taxonomy Term statt Rolle
  • Update V. 9.3.12 auf V. 9.4 mit Fehler: Modul mySQL fehlt. Bitte Hilfe.
  • Sprachpfad, in Drupal Korrekt einstellen, auch bei den Meta-Tags
  • Update von Drupal 9.3 auf 9.4 oder bei 9.3 bleiben
Weiter

Neue Kommentare

  • Danke fürs Feedback. Gut dass
    vor 2 Stunden 2 Minuten
  • Patch angewandt
    vor 5 Stunden 14 Minuten
  • core_version_requirement: ^8
    vor 2 Tagen 6 Stunden
  • core_version_requirement: ^8
    vor 2 Tagen 6 Stunden
  • ok. Wenn ich das mache
    vor 2 Tagen 6 Stunden
  • Bei gleichem Namen hat das
    vor 2 Tagen 7 Stunden
  • Sorry, dass ich mich hier
    vor 2 Tagen 7 Stunden
  • Habe Patch versucht
    vor 2 Tagen 14 Stunden
  • Hier wird ein Patsch
    vor 2 Tagen 16 Stunden
  • Mit Drupal geht das um 150
    vor 3 Tagen 3 Stunden

Statistik

Beiträge im Forum: 247866
Registrierte User: 19592

Neue User:

  • Davidsnins
  • kudes
  • Tkakah

» Alle User anzeigen

User nach Punkten sortiert:
wla9213
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 5 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association