Ergebnis 1 bis 12 von 12

Thema: Kleinanzeigen mit Katalog

  1. #1
    Contao-Nutzer
    Registriert seit
    07.07.2009.
    Beiträge
    39

    Standard Kleinanzeigen mit Katalog

    Hallo zusammen,

    ich spiele gerade mit dem Katalog um eine Art Kleinanzeigenmarkt zu bauen. Bisher alles super. Frontend Editing funktioniert, alles wird gelistet auf Wunsch auch gefiltert, usw. Anzeigen dürfen nur von registrierten Mitgliedern eingestellt werden.

    Jetzt geht es darum, wie ich Käufer und Verkäufer in Kontakt bringe...

    Meine Idee ist die Folgende:

    Ich möchte nicht die Kontaktdaten des Verkäufers veröffentlichen. Der Kontakt soll über ein Formular stattfinden. Ein angemeldetes Mitglied bekommt auf der Detailseite eines Artikels einen Link zu diesem Formular angezeigt. Das Formular besteht aus einem Texfeld über das der Kaufinteressent dem Verkäufer eine Nachricht hinterlassen kann. Wäre vielleicht auch schön, wenn neben dem Textfeld vielleicht noch zwei Felder für Mailadresse und Telefonummer vorausgefüllt vorhanden wären. Beim Absenden soll das Formular an die E-Mail Adresse des Verkäufers geschickt werden. Im Catalog Datensatz steht ja die UserID des Mitgliedes drin. Darüber komme ich dann an die E-Mail Adresse.

    Ich bräuchte jetzt ein paar Tipps zur Umsetzung. Wie würdet ihr Profis das realisieren? Vielleicht noch den EFG einbauen oder komplett neu machen?

    Freue mich schon auf eure Antworten.

    Grüße
    Klaus

  2. #2
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo krebbelmund,
    mir fallen da nur Möglichkeiten ein, wo man dann auch im Quellcode o.ä. die Werte auslesen könnte. Das wäre dann ja eher ungeschickt..
    Von daher wäre ein eigenes Modul glaub ich nicht verkehrt (andere würden sich auch darüber freuen *g*).
    Eventuell kannst du dir ein wenig bei dem Formular abschauen was schon beim Catalog dabei ist. Da ist der Empfänger allerdings immer der Admin. Müsste also vllt nur an der Stelle angepasst werden.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  3. #3
    Contao-Fan Avatar von dhe
    Registriert seit
    25.10.2010.
    Ort
    Esslingen a.N.
    Beiträge
    657

    Standard

    Hi,
    ich hab sowas ähnliches schon mal gebaut.
    Benötigte Plugins: inputvar und efg.
    Ich habe im Katalog ein Select-Feld angelegt, mit dem der Katalogeintrag mit einem Registrierten Mitglied verknüpft wird.
    So steht in meinem Katalogeintrag die Member ID des Verkäufers drin. Diese ID hängst du (im Template) z.b. als GET Parameter an den Link zu dem Kontaktformular.
    Im Kontaktformular erstellst du ein "Verstecktes Feld" und trägst als Standardwert {{get::variableName}} ein. Als Name vergibst du z.b. recipientID.
    Somit kannst du in dem Formular als Empfänger folgendes eintragen: {{form::recipientID}}.
    Jetzt brauchen wir einen HOOK:
    d.h. in system/modules/ einen Ordner anlegen: z.b. recipient (system/modules/recipient). Darin einen Ordner config mit der config.php
    PHP-Code:
    <?php if (!defined('TL_ROOT')) die('You cannot access this file directly!');
    $GLOBALS['TL_HOOKS']['processEfgFormData'][] = array('recipient''getMemberData');
    ?>
    in system/modules/recipient muss dann dementsprechend einen recipient.php erstellt werden. Darin fragen wir anhand der übermittelnden ID die E-Mail Adresse des Mitglied ab und ersetzen diese im $arrForm
    PHP-Code:
    <?php
    class recipient extends Backend {

        public function 
    getMemberData($arrSubmitted$arrFiles$intOldId, &$arrForm) {

            
    $id intval($arrSubmitted['recipientID']);
            
    $objMember $this->Database->prepare('SELECT * FROM tl_member WHERE id=?')
                            ->
    execute($id);    
            
    $arrForm['recipient'] = (string)$objMember->email;
            
    $arrForm['formattedMailRecipient'] = (string)$objMember->email;    
        }
    }
    ?>
    Jetzt erhält das Mitglied, dass mit dem Katalogeintrag verknüpft wurde, die E-Mail.

    Ich hoffe, das hilft.

    Gruß
    dhe
    Angehängte Grafiken Angehängte Grafiken

  4. #4
    Contao-Nutzer
    Registriert seit
    07.07.2009.
    Beiträge
    39

    Standard

    Sowas in der Art mit EFG und Hook hatte ich auch im Kopf. Cool, werde in den nächsten Tagen versuchen das nachzubauen. Halte euch auf dem Laufenden.

    Grüße
    Klaus

  5. #5
    Contao-Nutzer
    Registriert seit
    07.07.2009.
    Beiträge
    39

    Standard

    Ok, funktioniert prima. Die E-Mails werden versendet...

    ...allerdings lande ich danach auf einer komplett leeren Seite. Im EFG habe ich eine Weiterleitungsseite angegeben, hilft aber nicht. Die Seite ist übrigens wirklich komplett leer, also kein Headerbild, kein Menu...

    In der localconfig.php habe ich displayerrors auf true gesetzt. Es wird kein Fehler geworfen.

    Habt ihr eine Idee dazu?

    Grüße
    Klaus

  6. #6
    Contao-Fan Avatar von dhe
    Registriert seit
    25.10.2010.
    Ort
    Esslingen a.N.
    Beiträge
    657

    Standard

    1. Super. Freut mich.
    2. Hm, das is komisch. Was passiert, wenn du keine Weiterleitungsseite angibst? Dann müßtest du auf der gleichen Seite landen, die E-Mail müßte auch rausgegangen sein.

  7. #7
    Contao-Nutzer
    Registriert seit
    07.07.2009.
    Beiträge
    39

    Standard

    Interessant...

    Als ich es eben noch mal ohne Weiterleitung ausprobieren wollte bekam ich eine Fehlermeldung um die Ohren geworfen:

    Code:
    Cannot modify header information - headers already ...
    Scheint ja öfters bei UTF8 Problemen oder Leerzeichen am Anfang oder der Ende der *.php Files aufzutreten. Ich hatte auch ein Leerzeichen am Ende der recipient.php. Leerzeichen gelöscht und funktioniert!

    Warum ist Contao da so empfindlich? Aber das ist eigentlich kein Katalog Thema mehr...

    Euch beiden vielen, vielen Dank für die Hilfe!

    Grüße
    Klaus

  8. #8
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von krebbelmund Beitrag anzeigen
    Warum ist Contao da so empfindlich? Aber das ist eigentlich kein Katalog Thema mehr...
    Da ist nicht Contao sondern PHP das so empfindlich ist.
    Ein Leerzeichen ist eben auch ein "Ausgabezeichen" welches Inhalt darstellt, einen Leerraum naemlich.
    Wenn jemand in einem PHP Script ein Leerzeichen haben will, dann bekommt er es auch. Leider bekommt derjenige der keines haben will, aber dennoch eines einbaut dann auch eins.

    Das "Problem" kann zwar durch exzessives Verwenden von Output buffern umgangen werden, wirft dann jedoch an anderen Stellen wieder Probleme auf, weshalb es einfacher ist in seinem Code darauf zu achten was man macht.

    Gruss
    Chris
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

  9. #9
    Contao-Nutzer
    Registriert seit
    07.07.2009.
    Beiträge
    39

    Standard

    War nicht so einfach für mich als PHP Rookie darauf zu kommen :-). Hab aber wieder was gelernt

    Grüße
    Klaus

  10. #10
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard

    könnte man da nich vielleicht die ansätze aus protectedselect nutzen?
    da läuft das kontakten nur über die user id und wird dann contao-intern zugewiesen

    gruss
    ways

    https://contao.org/erweiterungsliste...select.de.html

  11. #11
    Contao-Nutzer
    Registriert seit
    07.07.2009.
    Beiträge
    39

    Standard

    Hmmmm, hört sich erstmal so an, als wäre der Ansatz von dhe einfacher. Und funktionieren tut er prima....

    Grüße
    Klaus

  12. #12
    Contao-Urgestein Avatar von ways2web
    Registriert seit
    23.03.2010.
    Ort
    Berlin
    Beiträge
    1.698
    User beschenken
    Wunschliste

    Standard

    jo, wenn er funktioniert.. dann keine frage...

    schau zumindest noch mal nach, ob die verwendung von inputvar eventuell sicherheitsrisiken birgt.. mir war so..

    gruss
    ways

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •