Mitgliedsbeitrag in Virtuemart

  • Hallo zusammen,


    wir überlegen uns gerade den Mitgliedsbeitrag über Virtuemart auf der Seite an unsere Mitglieder zu verkaufen, bisher mussten die Mitglieder während dem Vereinsbetrieb persönlich erscheinen um den Betrag zu entrichten.


    Aktuell hat unser Vorstand beschlossen keine persönlichen Kontakte aktuell zu fördern.


    Leider gibt es keine festen Mitgliedsnummern, wir erfassen jedes Mitglied namentlich, die Vorgangsnummer ist quasi die laufende Journal-Nummer, die mit dem entrichten des Beitrages vergeben wird.


    Gibt es eine Möglichkeit den Verkauf in Virtuemart anzupassen damit wir ein Verhalten wie nachfolgend als Idee erfasst zu ermöglichen?


    • Mitglied geht auf unsere Seite und in den VIrtuemart (muss noch installiert werden)
    • Gibt ein für wieviel Familienmitglieder der Beitrag entrichtet wird (maximal 10)
    • Entsprechend der Anzahl gibt es pro Mitglied eine Zeile mit den Werten
      • Auswahl Bestandsmitglied oder Neumitglied
      • Name
      • Vorname
      • Strasse/Nr
      • Plz Ort
      • Auswahl für Erwachsener oder Kind (Preise sind unterschiedlich
      • Info zu Vorjahr
        • Letzter gezahlter Mitgliedsbeitrag für Jahr
        • Letzte laufende Nummer (vom letzten gezahlten Jahr)
      • Telefonnummer für Rückfragen
      • Mailadresse für Rückfragen
    • Berechnen des Porto pro Sendung (wird vermutlich immer gleich sein)
    • Bezahlen mit PayPal

    Die Idee das die laufende Nummer eines gezahlten Jahres angegeben werden kann ist das wir so ggf das Mitglied besser identifizieren können wenn der Name nicht eindeutig ist (kommt leider ab und an vor).


    Ich denke bis auf die Angabe für das Vorjahr, Telefonnummer und Mailaddresse müsste alles als Pflichtfeld definiert werden.


    Geht sowas mit Virtuemart bzw wer könnte sowas einrichten?


    Für ein paar Infos vielen Dank im Voraus.


    Viele Grüsse,

    Daniel

  • Servus,


    in diesem Fall würde ich vielleicht erst einmal schauen, ob es nicht eine gute Vereinssoftware für Joomla gibt, die das direkt alles kann.


    Natürlich kann man auch VirtueMart verwenden.

    Ich würde als Produkte dann Hauptmitgliedschaft, Familienangehöriger, Familienangehöriger Kind anlegen.

    Dann selbsterstellte Felder dazu und dann sollte das alles einzurichten sein.


    Das braucht aber sicher ein wenig Kommunikation hin und her, bis dann alle mit dem Ergebnis zufrieden sind.

    Und dann kommt es noch darauf an, wie komfortabel das alles werden soll.

    Das ist so eine 10 bis 100 Stunden Arbeit, bei der alles möglich ist.


    Grüße

    Stefan

  • Hallo Stefan,


    vielen Dank für Deine Antwort.


    Vereinssoftware hatten wir mal angeschaut, aber es gibt eigentlich keine für Joomla, zumindest nicht was ohne Anpassungen umgesetzt werden kann. Man müsste die Anpassungen programmieren lassen. Zudem kostet es bei mindestens 1500 Mitglieder (die Anzahl ändert sich jährlich) eine entsprechende Jahreslizenz, da macht es mehr Sinn nur Virtuemart anzupassen :-)


    Kann man selbsterstellte Felder pro Artikel oder Auftrag machen?


    Was passiert wenn ich für zwei Kinder den Beitrag zahlen möchte, wähle den Artikel und die Menge zwei, dann kann ich ja nicht pro Mitglied den Betrag zahlen bzw den Namen erfassen.


    Oder kann man einstellen das pro Artikel immer nur einer in den Korb gelegt werden kann nachdem der Name angegeben wurde, dass aber mehr als einmal in einem Auftrag um zu erreichen das ich pro Artikel (auch wenn = "Mitgliedsbeitrag Kind") immer den Namen habe?


    Ich denke das wird ein schwieriges Unterfangen, zumal es für nur dieses oder maximal (hoffe ich) nächstes Jahresende gilt, denn wir würden gerne die Mitglieder bei uns begrüssen anstatt im WebShop abzuhandelt. Das könnte dann eher so teuer werden das es sich auch nicht rechnet. Als gemeinnütziger Verein sitzt das Geld nicht so locker und die Mitgliedsbeiträge reichen oftmals nicht zum decken von Miete für Räume etc.



    Gruss,

    Daniel

  • Servus,


    wie Du schon schreibst, die Produkte jeweils auf 1 Produkt begrenzen, das kann man einfach dadurch, dass man die Anzahl versteckt und immer nur 1 gelten lässt. Das sollte über die maximale, minimale Anzahl zu machen sein.

    Dann bekommt jedes Produkt Kind auch eigene Werte für die selbsterstellten Felder.

    Man hat also nachher für jedes Mitglied ein "Produkt" im Warenkorb, mit unterschiedlichen Werten Name usw.


    Das ist nicht so ein großer Aufwand, das ist im Grunde alles VirtueMart Core mit ein wenig CSS, evtl. kleinen Overrides.


    Grüße

    Stefan

  • Hallo Stefan,


    ich habe jetzt mal testweise das eine oder andere versucht, hatte aber kein Erfolg es so umzusetzen wie ich es gerne hätte...


    Was ich nicht verstehe, kann man in einem Kaufvorgang/Artikel den Beitrag für Erwachsene und Kinder wählen lassen und dann eben die Eingabefelder für Name, Mitgliedsnummer etc pro Art (Erwachsener / Kind) als mandatory field abfragen?


    Im Prinzip sowas wie im angehängten Bild, die erste Spalte wäre eine Art von Artikelerweiterung als Auswahlliste (Erwachsener / Kind) die man mit add im Artikel hinzufügen und zum Artikelpreis hinzugefügt wird.


    Ich denke das wir eher nicht gehen, vermutlich muss ich pro Familien-Mitglie ein Artikel dem Warenkorb hinzufügen. In diesem Fall weiss ich noch nicht wie ich pro Feld (Name, Vorname und Mitgliedsnummer) die Eingabefelder im Artikel bereitstellen kann.



    Gruss,

    Daniel

  • Ich glaube ich hab es jetzt so in etwa über selbsterstelle Felder, anlegen einer Feldgruppe, dann anlegen der Eingabefelder als Plugin mit CustomText erledigen können.


    Damit die Menge nicht pro Artikel erhöht werden kann, habe ich das Mengenfeld und das Steuerelement für plus/minus per CSS im Artikel ausgeblendet, ebenso in der Bestellübersicht.


    Man kann das ausblenden aber nur für den kompletten Shop machen, eine Class kann man dem Artikel wohl nicht zuweisen um nur dann die Felder auszublenden wenn es dieser Artikel ist?


    Auch kann man wohl nicht vorgeben das die Felder ausgefüllt werden müssen?


    Viele Grüsse,

    Daniel

  • Servus,


    Man kann das ausblenden aber nur für den kompletten Shop machen, eine Class kann man dem Artikel wohl nicht zuweisen um nur dann die Felder auszublenden wenn es dieser Artikel ist?


    Auch kann man wohl nicht vorgeben das die Felder ausgefüllt werden müssen?

    es könnte helfen, ein eigenes Layout für dieses Produkt anzulegen.

    Im Ordner /components/com_virtuemart/productdetails/tmpl/ die Datei default.php kopieren und umbenennen in mitglider.php oder so, dann in der Produkt-Bearbeitung dieses Layout auswählen.

    Wenn in der mitglieder.php eine Klasse gesetzt wird: class="mitglieder_container", kann man diese im CSS direkt ansprechen.


    Wenn die Felder ausgefüllt werden müssen, könnte man ein wenig jQuery schreiben, um das zumindest im Frontend zu erzwingen.

    In der Logik:

    Wenn Feld leer, blockiere Warenkorb-Button und bei Klick auf Warenkorb-Button markiere erforderliches Feld rot.

    Das sollte für das Frontend ausreichen.


    Das ist schöne Anpassung/Bastelei in den Template-Overrides, macht richtig Spaß wie flexibel VirtueMart ist. ;-)


    Die tabellenartige Liste in Post 5 könnte evtl. mit dem multiadd-Layout funktionieren, das ist aber dann etwas mehr Bastelei.


    Grüße

    Stefan

  • Hallo Stefan,


    klingt interessant...


    Ich habe mal nach dem Pfad geschaut, diesen gibt es bei mir nicht, denke aber das "/components/com_virtuemart/views/productdetails/tmpl" gemeint ist. Habe die default.php kopiert und umbenannt nach default_mitgliederbeitrag.php, dachte dann ich müsste ein Feld im Produkt sehen, habe mal die Auswahl in "Produktseite" angeschaut, dort wird es nicht angezeigt.


    War das soweit mal ansatzweise richtig oder wo muss ich schauen? Ist noch Virtuemart 2.6.22


    Gruss,

    Daniel

  • Hallo Daniel,


    richtig, dem Pfad fehlte noch der view/-Ordner, da war ich wohl noch nicht richtig wach.

    Nenne das Layout nur mitgliederbeitrag.php, dann wird es in der Produktbearbeitung im Dropdown für "Produktseite" angezeigt.


    Bitte beachte meine Ausführung zu Joomla 2.5 in dem anderen Thread.


  • Hallo Stefan,


    vielen Dank, es klappt nun damit ich eine Produkt-Seite zuweisen und anzeigen kann.


    Nun geht es darum eine class="mitgliederbeitrag" zuzuweisen um dann über CSS das Aussehen anzupassen. Denke ich bin da soweit richtig wenn ich folgendes dem bestehendenhinzuweise:

    PHP
    1. <div class="productdetails-view productdetails mitgliedsbeitrag">
    2. <?php
    3. // Product Navigation
    4. if (VmConfig::get('product_navigation', 1)) {
    5. ?>
    6.         ...
    7.     <?php } // Product Navigation EN
    8.     ...
    9. <div/>


    Um es derzeit anpassen zu können, habe in meiner zentralen CSS eingetragen:


    Aber ich finde dann in der Ausgabe-Seite diese "Ansprechpunkte/Tags" nicht mehr.


    Da ich das an der lokalen Seite mache (bevor ich das produktiv umsetze), kann ich die Seite nicht online setzen, aber bin ich prinzipiell auf dem richtigen Weg?


    Vielleicht sehe ich gerade vor lauter Wald den Baum nicht.


    Teste mal weiter, evtl hast Du ein Tipp wie das besser geht?


    Gruss,

    Daniel

  • Das CSS für die Mitgliedsbeitrag-Seite dann einfach mit der neuen Klasse erweitern.


    .mitgliedsbeitrag .price-plugin {

    display: none;

    }


    Und bitte kein !important verwenden, wenn es nicht sein muss. !important ist ein sehr unschönes Ding in CSS, das mehr Probleme macht als es löst.


    Grüße

    Stefan

  • Hi Stefan,


    vielen Dank, konnte ich umsetzen, weiss nicht warum ich das so umständlich gedacht habe, allerdings bin ich mit CSS noch nicht so firm, wird aber langsam.


    Du sagtest man könne den AddToCart-Button per Script blockieren wenn die Felder Name und Vorname nicht ausgefüllt sind.


    Hast Du mit ein Beispiel-Script wo ich mir das vorgehen mal anschauen kann?


    Im Grund bin ich erst mal zufrieden, die WebSite werde ich wohl zum Jahresende angehen, dann habe ich (hoffentlich) mal Zeit.



    Viele Grüsse,

    Daniel


    PS: Und vieeeeelen Dank für Deine wertvolle Hilfe.