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

Permissions für einzelne Nodes durch Authentifizierung mit verschiedenen(!) FB-Apps?

Eingetragen von E-Fee (481)
am 10.09.2012 - 21:35 Uhr in
  • Module
  • Drupal 7.x

Ich hab hier grad eine knifflige Aufgabe auf dem Tisch, für die es zwar fertige Tools gibt. Lieber wäre uns jedoch was Eigenes mit Drupal als Backend.

Die Überlegung ist, Nodes mit Webform anzulegen. Dabei soll jeder einzelne Node als FB-App verdrahtet sein, mit App-Id und allem, Darstellung als IFrame. Das ist dann soweit auch kein Problem.
Schwierig wird es nun, weil nur Nutzer, die die jeweilige App zugelassen bzw. Seite geliked haben, auch auf die Website bzw. die jeweilige Unterseite kommen sollen - es sollen also keine unauthentifizierten Zugriffe erfolgen.
Bei den ganzen einschlägigen FB-relevanten Modulen gibt es meines Wissens nur welche, wo EINE App-Id für die ganze Website eingetragen werden kann. Die wären also an der Stelle nicht brauchbar.
Auch soll im IFrame bei Benutzern, die die zugehörige Seite noch nicht geliked haben, eine entsprechende Aufforderung statt des Inhalts angezeigt werden, Stichwort Fangate. Ich muss mich also sowieso noch in die ganze OpenGraph-Thematik einarbeiten. Kann ich mir die benötigten Werte für beide Teilaufgaben da einfach rausziehen und dann per Modul oder im Template bestimmte Bereiche anzeigen und verbergen bzw. auf eine andere Seite redirecten? Es soll nach Möglichkeit alles im IFrame laufen und die Drupal-Site selbst nicht erreichbar sein.

Mir erscheint das jetzt erstmal eine halbwegs sinnvolle Vorgehensweise, aber vielleicht hat ja auch jemand schon mehr Erfahrungen in der Thematik und weiß, was geht und was definitiv nicht geht?

Merci!

‹ Panels funktioniert nur mit OG HTML Mail ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Nach ein paar Tests denke

Eingetragen von E-Fee (481)
am 11.09.2012 - 17:40 Uhr

Nach ein paar Tests denke ich, das sollte so eigentlich funktionieren, mit Einbindung von Facebooks PHP-SDK und entsprechendem Code in ein Modul

Ich seh nur aktuell den Wald vor Bäumen nicht und übersehe was Offensichtliches. Hab bislang mit den üblichen Hooks Variablen verändert etc.
Was mir aber gerade irgendwie fehlt, ist eine Funktion, die mir ganz simpel die Werte von zwei Feldern des jeweiligen Nodes als Rückgabewert liefert, und die umgekehrt die Parameter so hat, dass ich innerhalb der Funktion an die Werte komme. Hab schon viel rumprobiert, aber waren alles Sackgassen. Und die ganzen Hooks etc. sind ja immer dermaßen "standalone" dokumentiert, dass man für eine solche Anwendung auch nicht wirklich ein Beispiel findet.
Per hook_node_load($nodes, $types) komme ich an die Felder ran, das ist kein Ding - nur brauche ich die außerhalb der Funktion, um sie an anderer Stelle im Modul verwursten zu können. Also so wie $meineVariable = hook_node_load($nodes, $types); - was aber so natürlich nicht funktioniert. hook ist natürlich durch den Modulnamen ersetzt.

Drupal Freelancer im Rheinland gesucht?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nur node_load($id) verwenden.

Eingetragen von wla (9213)
am 11.09.2012 - 18:19 Uhr

Nur node_load($id) verwenden. Das ist kein hook, sondern eine Funktion des Node-Modules.

Beste Grüße
Werner

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für Deine Antwort,

Eingetragen von E-Fee (481)
am 11.09.2012 - 22:38 Uhr

Danke für Deine Antwort, Werner, aber:

'nen Hook mit den oben genannten Parametern gibt es aber auch. Und wie binde ich die von Dir genannte Funktion jetzt ein? Einfach so, da krieg ich nur die Info, dass die leider undefined ist - das hatte ich nämlich vorhin auch schon versucht.
Deklariere ich die Funktion in meinem Modul, dann meckert das Node-Modul mit "Cannot redeclare ...".
Ich komm irgendwie "from scratch" und ohne Hooks einfach nicht ran an $node und alles, was dahinter hängt.

Drupal Freelancer im Rheinland gesucht?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du brauchst aber die normale

Eingetragen von wla (9213)
am 11.09.2012 - 23:27 Uhr

Du brauchst aber die normale Funktion [api:node_load]. Wenn er die nicht findet, musst Du auf Existenz prüfen und falls noch nicht da, mittels include_once die entsprechende Datei des Node Moduls von Hand laden.

Beste Grüße
Werner

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mich wundert das auch

Eingetragen von E-Fee (481)
am 11.09.2012 - 23:56 Uhr

Mich wundert das auch irgendwie jetzt. Hab haufenweise Beispiele gesehen, auch in Modulen mit quasi nichts außer dieser Funktion, wo die zu funktionieren scheint. Wieso bei mir nicht?

Also mal ganz simpel, angenommen, ich hätte ein Modul, das genau so aussähe, nichts weiter macht:

<?php
$nid = 1;
$node = node_load($nid);
dsm($node);

Und natürlich auch angenommen, dass es den Node mit der $nid 1 gäbe.
Das Ganze wird auch auf einer Seite mit einem Node, bzw, sogar genau diesem Node aufgerufen.

Wenn ich auf Existenz prüfe, kommt nach dem include_once der node.module (natürlich im entsprechenden Unterverzeichnis) bei einer weiteren Existenzabfrage immer noch, dass die Funktion nicht existiert?

Was fehlt mir da bloß, dass so 'ne popelige Funktion nicht will?

Drupal Freelancer im Rheinland gesucht?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Verstehe ich jetzt nicht. Da

Eingetragen von wla (9213)
am 12.09.2012 - 00:21 Uhr

Verstehe ich jetzt nicht. Da müsste man Deinen Code genauer untersuchen. Arbeitest Du da evtl. mit OO-Code? Dann wäre so etwas denkbar, wenn die Funktion in einen speziellen Context geladen wird und dann anderswo nicht zur Verfügung steht.

Beste Grüße
Werner

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

Den genauer zu untersuchenden

Eingetragen von E-Fee (481)
am 12.09.2012 - 00:58 Uhr

Den genauer zu untersuchenden Code habe ich doch gerade im letzten Post zitiert! Um das unabhängig von der restlichen Funktionalität des geplanten Moduls zu überprüfen, habe ich in der .module-Datei ausschließlich diese drei Zeilen stehen, die so oder ähnlich jetzt in zig Threads zu dieser Funktion zu finden waren.
Da ist nix mit OO-Code, da ist sonst überhaupt nix custom, das ist ein frisches D 7.15 mit ein paar gängigen Modulen und zwei Nodes, bei einem von mir angelegten Content Type mit zwei (Text-)Feldern und dazu Webform enabled.

Drupal Freelancer im Rheinland gesucht?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Und wie denkst Du, wird

Eingetragen von wla (9213)
am 12.09.2012 - 09:31 Uhr

Und wie denkst Du, wird dieser Code aufgerufen oder von wo? Du musst doch diesen Code in einer Funktion haben die über einen definierten Mechanismus, z.B. einen Menüpunkt oder einen Hook, aufgerufen wird. Jetzt ist mir auch klar, was passiert: beim Booten von Drupal wird dieser Code einmal durchlaufen (vielleicht auch gar nicht) und vom Node-Modul ist noch nichts zu sehen.

Beste Grüße
Werner

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

wla schrieb Und wie denkst

Eingetragen von E-Fee (481)
am 12.09.2012 - 11:39 Uhr
wla schrieb

Und wie denkst Du, wird dieser Code aufgerufen oder von wo? Du musst doch diesen Code in einer Funktion haben die über einen definierten Mechanismus, z.B. einen Menüpunkt oder einen Hook, aufgerufen wird.

Genau DAS war ja meine Frage, und genau DESHALB hab ich ja auch lieber über einen Hook arbeiten wollen.
Ich will an dem Punkt beim Node-Aufruf nix modifizieren, nix speziell rendern oder so, das soll alles normal ausgegeben werden. Ich brauche nur den Wert zweier Felder des Inhaltstyps, den ich an eine andere Funktion übergeben kann, die dann mit Facebook interagiert.

Drupal Freelancer im Rheinland gesucht?

  • 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 Tagen 3 Stunden
  • Patch angewandt
    vor 2 Tagen 6 Stunden
  • core_version_requirement: ^8
    vor 4 Tagen 7 Stunden
  • core_version_requirement: ^8
    vor 4 Tagen 7 Stunden
  • ok. Wenn ich das mache
    vor 4 Tagen 7 Stunden
  • Bei gleichem Namen hat das
    vor 4 Tagen 8 Stunden
  • Sorry, dass ich mich hier
    vor 4 Tagen 8 Stunden
  • Habe Patch versucht
    vor 4 Tagen 15 Stunden
  • Hier wird ein Patsch
    vor 4 Tagen 17 Stunden
  • Mit Drupal geht das um 150
    vor 5 Tagen 4 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