Anfängerfragen zur Einbindung von PHP in Drupal
Eingetragen von lernender (2)
am 30.03.2012 - 16:28 Uhr in
am 30.03.2012 - 16:28 Uhr in
Guten Abend,
ich hoffe das ich hier im richtigen Unterforum bin, ein passenderes habe ich nicht gefunden.
Ich habe Drupal bisher nicht genutzt und komme aus der Joomlaecke. Aus diesem Bereich habe ich einige Grundkenntnisse, allerdings ist Drupal für mich ein völlig neues Konzept. Ich habe ein selbstgeschriebenes Script und möchte das in Inhaltsseiten einfügen. Dazu habe ich zwei Fragen:
- Wie komme ich an die User-ID des aktuell eingeloggten Benutzers? Wo finde ich eine Functionsübersicht für entsprechende Funktionen?
- Wie verhindere ich dass eine selbstgeschriebene PHP-Datei außerhalb des Context von Drupal aufgerufen wird?
vielen Dank und Grüße
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn die Variabel $user
am 30.03.2012 - 18:00 Uhr
Wenn die Variabel $user bekannt ist, dann kannst du die User-ID des eingeloggten Users über $user->uid bekommen.
Was in den Varialble (meist sind es mehrdimensionale Arrays) drinsteckt kannst du mit der Ausgabe
<?php
dsm($user)
?>
herausbekommen. Dazu muß das Devel-Modul zur Verfügung stehen.
Wenn du den PHP-Filter aktivierst, kannst du auch auf einer "normalen" Inhaltsseite PHP-Code ausführen lassen.
wenn du dort dein PHP-Script einträgst, dann kann man es außerhalb von Drupal ja nicht aufrufen, denn es exisitiert ja keine physische Datei mit dem Inhalt, sondern der Inhalt ist in der DB gespeichert.
Trotzdem finde ich dein Vorgehen etwas merkwürdig (das soll ein konstruktive Kritik sein und keine Beleidigung)....
meist ist es gar nicht erforderlich, PHP-Code ausführen zu lassen, insbesondere dann nicht, wenn man nur mit Grundkenntnissen von einem anderen CMS (bei dir ja Joomla) kommt.
Es gibt für sehr viele Problemstellungen schon Lösungen in Drupal und bevor man anfängt, eigene Script zu entwickeln, sollte man in jedem Falle schauen, was Drupal in diesem Bereich schon für dich tun kann. Meistens erübrigt sich dann das Schreiben von PHP-Scripten.
Es widerspricht auch ein bißchen der Philosophie von Drupal, denn dort werden Probleme nicht mit einzelnen kleinen PHP-Scripten gelöst, sondern mit Modulen, die dann vielfach einsetzbar und einstellbar sind.
lieben Gruß
Berthold Lausch
Drupal Video-Tutorials
super, vielen Dank. Das
am 30.03.2012 - 18:20 Uhr
super, vielen Dank.
Das Script besteht aus vielen PHP-Functionen, Drupal soll lediglich die Seitenstruktur, Nutzerverwaltung, ein Forum und weiteres übernehmen. Das Script verarbeitet übergebene Daten und liefert Ausgaben. Diese Funktionen werden Daher möchte ich dass die entsprechenden Dateien nur im Content der entsprechenden Seite in Drupal geöffnet werden können, nirgends woanders. Gibt es dafür eine entsprechende function?
Du kannst auch eine eigene
am 30.03.2012 - 20:47 Uhr
Du kannst auch eine eigene kleine PHP Librarie als Modul installieren. Wie das in Drupal 6 geht, kannst du in diesem Artikel sehen.
Vielleicht hilft dir das weiter.....
lieben Gruß
Berthold Lausch
Drupal Video-Tutorials
quick n dirty
am 30.03.2012 - 21:45 Uhr
Ich würde das mit den Input Filter PHP machen, den musst du als Modul erst aktivieren.
Dann kannst du in jeden beliebigen Field den Input auf PHP stellen und dort einfach deinen Code reinwerfen.
Um alle Variablen zu sehen die gerade so verfügbar sind installier dir mal das Modul Devel
Drupal Programmierer Hamburg: https://stevenschulz.net
Zitat: Ich würde das mit den
am 30.03.2012 - 22:36 Uhr
Ich würde das mit den Input Filter PHP machen, den musst du als Modul erst aktivieren.
Das wäre das zweit-schlechteste, was er machen könnte, kommt direkt nach "ins Root-Verzeichnis legen und aufrufen". Tu dir selbst einen gefallen und mach dir die Mühe, dein Script in ein Modul umzuschreiben, mit allem anderen wird's nur halbgarer Unsinn.