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 - 09: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 (3831)
am 15.05.2015 - 10: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 - 12: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 (3831)
am 15.05.2015 - 12: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 (1861)
am 15.05.2015 - 16: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 - 10: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 - 17:46 Uhr

sinnvolle Tutorials kannst du selber suchen... flag modul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • D 7.78 und eine sqlite Datenbank statt mySQL
  • Versenden von Anfragen per Webform
  • eMail-Adresse überprüfen ob diese auch tatsächlich existiert
  • [gelöst]Welche Tokens werden bei Images im Feld Dateiverzeichnis erlaubt
  • Modulupdate per Webinterace scheitert an authorize.php und access denied für Admin-User
  • Fehlermeldung nach Update auf PHP 7.4 - array offset on value of type null in geocoder_widget...
  • BEF Exposed Filter collapse funktioniert nicht mit Bootstrap Theme
  • content und media-files von drupal8 nach drupal9 migrieren
  • Notificationsnicht immer und gesammelt bei Update
  • Meldung zu Token im Statusbericht
  • Fehlermeldung: Deprecated function
  • Warning: call_user_func() expects parameter 1 to be a valid callback, class 'Drupal\node\Entity\Node' does not have a method 'ge
Weiter

Neue Kommentare

  • bei den meisten Hostern
    vor 4 Stunden 42 Minuten
  • wirklich sicherstellen kann man es nur,
    vor 4 Stunden 47 Minuten
  • Moin Moin vielen lieben Dank
    vor 10 Stunden 24 Minuten
  • Auch,wenn es noch über
    vor 15 Stunden 8 Minuten
  • Das steht über dem Bereich,
    vor 15 Stunden 11 Minuten
  • Hallo Jenna, ich habe das
    vor 1 Tag 11 Stunden
  • Ich hatte gehofft, bis auf
    vor 1 Tag 11 Stunden
  • Wenn der Provider keine freie
    vor 1 Tag 12 Stunden
  • Problemeingrenzung
    vor 1 Tag 13 Stunden
  • Ich habe es bei einigen
    vor 2 Tagen 15 Stunden

Statistik

Beiträge im Forum: 245991
Registrierte User: 18832

Neue User:

  • finnster
  • Damian1802
  • MrWebMV

» Alle User anzeigen

User nach Punkten sortiert:
wla9012
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3916
ronald3831
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 3 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