[Gelöst] Zugriff persönliches Kontaktformular

am 16.11.2007 - 16:46 Uhr in
Ich habe das persönliche Kontaktformular standardmässig aktiviert, und das allgemeine Kontaktformular allen Benutzer freigegeben. Nun möchte ich das persönliche Kontaktformular auch für anonyme User freigeben. Geht das überhaupt oder ist der Kontakt nur zwischen angemeldeten Benutzer möglich?
- Anmelden oder Registrieren um Kommentare zu schreiben
scheint standardmässig
am 19.11.2007 - 14:51 Uhr
scheint standardmässig nicht zu gehen, aber müsste sicher eine extension geben...
___________________________
it's easier than you think
Raphael Schär
http://www.schaerwebdesign.ch
Facebook Gruppe Schweiz-CH: http://www.facebook.com/group.php?gid=5683015414
geht das inzwischen ?
am 07.12.2009 - 14:22 Uhr
auch wenn der Tread schon recht alt ist - genau das brauche ich auch :)
Ein Gast der Website darf keine Benutzer einfach so kontaktieren, auch wenn er das Recht hat, auf die Profilseite zuzugreifen.
<- aus Drupal 6
Und wie geht das Gegenteil ?
Geht für Drupal 6.x nur ...
am 07.12.2009 - 15:22 Uhr
... im Rahmen eines Minimoduls MEINMODUL, das aber nur sehr wenig leistet: hook_menu_alter muss implementiert werden sodann innerhalb des Hooks etwa so:
<?php
/**
* Contact form for anonymous users
*/
function MEINMODUL_menu_alter(&$items) {
$items['user/%user/contact']['access callback'] = TRUE;
unset($items['user/%user/contact']['access arguments']);
}
?>
Aber hallo - das übergeht dann auch Einstellungen von Usern, die gemäß ihren Kontoeinstellungen nicht kontaktiert werden wollen! Wenn man solches auch berücksichtigen will, muss man zusätzlich eigene kleine Validator-Funktion schreiben, die das User-Objekt aus dem Pfad entgegennimmt und anhand des Wertes von $account->contact TRUE oder FALSE zurückgibt.
Anders geht es m. E. nicht, da Kontaktrechte von Usern für anonyme Besucher hardcoded nicht vorgesehen sind.
[Gelöst]
am 07.12.2009 - 18:07 Uhr
Ich habe mich dafür entschieden über die Form API ein eigenes Formular zu schreiben, diese direkt zu verschicken, wobei Cc: etc gefiltert werden und der User nur eine bestimmte Anzahl dieses Formular abschicken kann. Diese gebe ich dann in einem Block aus. so kann ich mein Formular beliebig einblenden. Meine User sollen möglichst oft kontaktiert werden, daher interessiert es mich nicht ob sie das Kontaktformular deaktiviert haben. Das Contactmodul habe ich ausgeschaltet.
workaround ?
am 07.12.2009 - 20:41 Uhr
geht das ganze auch ohne workaround ? (ich finde das sind beides keine richtige lösungen)
kann es sein das sich das irgd. in Profile einbetten lässt ?
wie kann man eig im profile
am 07.12.2009 - 21:54 Uhr
wie kann man eig im profile eine mail adresse eintragen ?
url ist ja schon vorgegeben aber wie geht es das der benutzer nur seine mail eintippt und daraus ein mailto:xyz wird so das andere benutzer dies nur noch anklicken müssen ?
Off topic.
am 07.12.2009 - 22:10 Uhr
...
why offtopic ? ! -> ein
am 07.12.2009 - 22:26 Uhr
why offtopic ? !
-> ein öffentliches kontaktformular is doch auch nix anderes als die mail adresse im profile auch wenn man sie übers formular halt nicht sehen würde und das mail programm embedded ist
ale_89 schrieb why offtopic
am 07.12.2009 - 22:35 Uhr
why offtopic ? !
Weil das Thema "Zugriff persönliches Kontaktformular" lautet und nicht "Anzeige einer E-mailadresse via mailto: im User-Profil". Du solltest, das war nur gemeint, ein neues Thema beginnen, weil künftige Suchende aufgrund des Thread-Themas hier niemals nach einer Antwort suchen würden.
ok
am 08.12.2009 - 00:03 Uhr
stimmt is doch ein wenig was anderes
wenn man auf contact zugreifen kann ist die mailadresse nicht öffentlich (spam) - dann frage ich mich aber immer noch wie man das unangemeldeten erlaubt ?
über die Form API ein eigenes Formular zu schreiben
sagt mir nicht viel - und das MEINMODUL klingt gut ist aber ohne den Validator auch wieder ungünsitg ...
Personal contact forms can not be used by Anonymous users
am 09.12.2009 - 11:59 Uhr
Personal contact forms can not be used by Anonymous users - no permissions for allow/restrict this
das hier scheint genau die Thematik zu beleuchten
soweit ich das mitbekommen habe ist unter #6 die möglichkeit gegeben nicht angemeldeten usern den zugriff auf das personal kontaktforumalr zu erlauben (falls der jenige der die nachricht bekommen soll ein personal kontaktformular aktiviert hat)
weis jemand wie man den 'patch' integriert ? mir scheint als wäre das ähnlich wie das oben gepostete 'MEINMODUL' nur eben mir Validierung
Ganz interessantes Thema
am 09.12.2009 - 13:28 Uhr
Wäre durchaus ein eigenes kleines Modul wert. Core-Code zu patchen ist aber keine sinnvolle Lösung, wenn Du ein späteres Updaten von Drupal nicht verweigern willst.
An einem solchen Modülchen hinge doch einiges dran (der Hook oben reichte alleine ganz sicher nicht aus):
Ich bin mir nicht sicher, ob das Contact-Modul dafür überhaupt verwendet werden sollte, weil es dafür einfach nicht da ist. Gibt es keine Modulerweiterung für profile, die ein Kontaktformular bereitstellt, ähnlich wie email für CCK? Käme mir sinnvoller vor.
EDIT: ich denke, man sollte sich das besser mit content profile, CCK und email field zusammenschrauben.
spam
am 09.12.2009 - 20:31 Uhr
ich denke, man sollte sich das besser mit content profile, CCK und email field zusammenschrauben.
habe das jetzt mal gemacht allerdings sieht man dann auch immer die mail -> SPAM
deshalb wäre es, so finde ich, schon geeigneter das contact modul wie oben zu erweitern - leider fehlen mir da noch die kenntnisse dazu :(
CCK Kontaktformular
am 09.12.2009 - 20:57 Uhr
habe das jetzt mal gemacht allerdings sieht man dann auch immer die mail -> SPAM
Nö. Das muss gehen. Bekommst Du kein E-mail-Formular angezeigt? Hast Du Dich mit CCK field formatters auseinandergesetzt? Evtl. hilft auch dieser Beitrag.
umständlich ?
am 09.12.2009 - 21:34 Uhr
werde mir das mit CCK field formatters gleich anschauen aber ist es nicht so das man:
warum kann man dann nicht einfach im profile selbst ein e-mail field anlegen ? (url gibs ja auch schon)
oder hat das einen tieferen sinn ?
Tricky
am 09.12.2009 - 22:34 Uhr
Du hast einfach die Einstellungen für email noch nicht gefunden. Geh mal via Administer => Content types => (in der Zeile des Inhaltstyps auf:) manage fields => Tab: Display fields - eben: zu den Display fields. Da kannst Du das Kontaktformular von email aktivieren und bekommst dann, anstatt Klartext-Links, einen Link auf ein Kontaktformular.
Und in Drupal 6 haben Profile als Nodes schon noch viele Vorteile, z.B. kannst Du damit eben alles machen, was man mit Nodes so machen kann, z.B. einen Kontaktformularlink auf den Node-Besitzer einbinden, wie etwa: "Dem Autoren eine E-mail senden" :-)
Das Core-Profil-Modul ist mit seinem Angebot an Feldoptionen nicht so ganz auf der Höhe der Zeit - manchmal beklagt in den Foren.
fast gelöst
am 13.12.2009 - 22:33 Uhr
so habe jetzt mal die Zeit gefunden das auszuprobieren - und es funktioniert TOP
allerdings muss ich sagen das ich zB um das mit der E-Mail einzutragen im Nodetyp "Profile" keinen "Titel" und "Textkörper" brauche. Allerdings kann man diese Felder nicht löschen ?
Titel nicht, aber wenn Du
am 13.12.2009 - 22:53 Uhr
Titel nicht, aber wenn Du bei Textkörper den Text wegnimmst (also Textkörper), dann ist er weg.
Beste Grüße
Werner
user
am 13.12.2009 - 22:59 Uhr
weis ich - allerdings "sieht" der normal-benutzer dieses feld ja noch und ist somit verleitet da etwas hinein zuschreiben
Nein, wenn Du in einem
am 13.12.2009 - 23:06 Uhr
Nein, wenn Du in einem eigenen Nodetyp die Bezeichnung "Textkörper" löschst und das dann sicherst, wird das Feld beim Erstellen von Inhalt für diesen Datentyp auch nicht mehr angezeigt.
Beste Grüße
Werner
optik
am 13.12.2009 - 23:14 Uhr
super :D wusste nicht das man das machen kann
jetzt habe ich noch eine kleine Frage zur Optik:
da E-Mail bei mir das einzige Feld ist, wird der gesamte Node im Profile mit dem üblichen "Noderahmen" umgeben - kann man das ändern das das wie ein normalles Feld aus dem Profile-Module aussieht ?
CSS
am 14.12.2009 - 10:03 Uhr
Da wirst Du in die Niederungen des CSS abtauchen müssen. Installiere Dir den Firefox und dazu das Plugin Firebug. Damit kannst Du einfach feststellen, wodurch der Rahmen erzeugt wird.
Im CSS-File Deines Themes (der heißt meist style.css) jetzt am Ende eine Anweisung einfügen, die den Rahmen verhindert.
Beste Grüße
Werner