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

Drupal Änderung nach PHP Skript nicht korrekt

Eingetragen von TorstenHI (46)
am 25.01.2012 - 15:43 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x oder neuer

Hallo,

ich habe folgendes Problem:

Ich betreibe die Webseite www.tkvkh.de.(Gemeinnütziger Sportverein)
Dort habe ich einen Bereich "Trainingszeiten" ein PHP Skript, welches Datenbankabfragen übernimmt und die Ergebnisse als HTML Tabelle darstellt.

Parallel dazu habe ich mir ein Frontend gebastelt (PHP), wo ich genau angeben, welches Training mit welchem Trainer stattfindet.
Dieses Frontend Skript aktualisiert zudem auch die Drupal Seite (node) mit dem aktuellen Timestamp der Änderung, damit diese auch auf der Startseite angezeigt wird.

Alles funktioniert reibungslos mit einer Ausnahme.
Die Änderungen sind nicht auf der Trainingsseite sichtbar. Wenn ich mich auf Drupal mit meinem Admin Account anmelde, dann sehe ich die Aktualisierung auf der Startseite und die geänderten Trainingszeiten im entsprechenden node.

Wenn ich mich nun wieder von Drupal abmelde, dann stehen wieder die alten Daten im node und das Aktualisierungsdatum stimmt auch nicht.

Workaraound: Ich logge mich ein, gehe auf die Seite (node) mit den Trainingszeiten, klicke auf bearbeiten und auf speichern, ohne eine Änderung vorzunehmen.
Wenn ich mich dann abmelde, ist alles korrekt.

Hat einer eine Idee, was die Ursache hierfür ist?

MfG
Torsten

‹ hook_form_alter für cck-feld klappt nur im Add-Form, jedoch nicht im Edit Views zu viele Felder für Tabellen-Darstellung ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Das klingt so, als ob den

Eingetragen von Exterior (2903)
am 25.01.2012 - 16:52 Uhr

Das klingt so, als ob den anonymen Usern eine Version aus dem Cache gezeigt wird. Müsstest mal mit den Drupal-Cache-Einstellungen herumspielen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzt du auch die

Eingetragen von Tobias Bähr (4019)
am 25.01.2012 - 16:56 Uhr

Benutzt du auch die Api-Funktionen vom Node-Modul? In diesem Fall node_save() ?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Exterior, wo genau finde

Eingetragen von TorstenHI (46)
am 27.01.2012 - 13:59 Uhr

Hi Exterior,

wo genau finde ich diese Cache Einstellungen in Drupal?
Bei den Berechtigungen finde ich auch nichts.

Gruß
Torsten

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Tobias,also, um deine

Eingetragen von TorstenHI (46)
am 27.01.2012 - 14:18 Uhr

Hallo Tobias,

also, um deine Frage zu beantworten, nein.
Das intergrierte PHP Skript ruft die Datenbanktabellen ab und soll die Inhalte anzeigen.
Ich wüsste auch nicht, wie ich die API richtig nutzen könnte.
Das Frotend für die Anpassung der Trainingszeiten, ist ein PHP Skript, welches nicht über Drupal auf gerufen werden kann.
Insofern würde im PHP Code "node_save(&11)" nichts bringen, oder muss ich zuvor eine php Api Klasse "include" setzen, dann ein Objekt mit meiner Drupalinstallation kreiieren, um auf dieses Objekt node_save anwenden zu können?
Wo finde ich dann die Klasse?

Derzeit aktualisiere ich den node mit folgender SQL Anweisung. ($time = aktueller Timestamp)
$sql="UPDATE node set changed='".$time."' where nid='11'";

Oder habe ich dich falsch verstanden?

Gruß
Torsten

  • Anmelden oder Registrieren um Kommentare zu schreiben

node_save() sollte global

Eingetragen von Tobias Bähr (4019)
am 27.01.2012 - 17:41 Uhr

[api:node_save] sollte global verfügbar sein, weil nur dadurch wird dann auch der Cache geleert, durch direktes SQL bekommt Drupal ja so nicht mit, dass es sein cache für diese Node etc. löschen muss.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Tobias, mir ist noch nicht

Eingetragen von TorstenHI (46)
am 30.01.2012 - 08:18 Uhr

Hi Tobias,

mir ist noch nicht ganz klar, wie ich diese Funktion einbaunen bzw. aufrufen soll.
Ich habe 2 Dinge ausprobiert:

1) Aufruf der Funktion node_save(11); im PHP Skript für die Datenbankspeicherung (11= Nr. des Nodes mit der Anzeige der Trainingszeiten)
Dann bekomme ich folgende Fehlermeldung:
Fatal error: Call to undefined function node_save() in /is/htdocs/.../edit.php on line 89

2) Wenn ich die Funktion in HTML aufrufe,
dann paasiert gar nichts. Es wird dann nur im Browser der Test "node_save(11)" ausgegeben.

Was mache ich falsch?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nachtrag zur Lösung

Eingetragen von TorstenHI (46)
am 30.01.2012 - 09:20 Uhr

Das Einbinden von

require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

ermöglicht die Nutzung von node_load & node_save

Syntax;
$node = node_load(11);
node_save($node);

Damit funktioniert es wunderbar.

Bislang ist es mir nicht gelungen, die "edit.php" in einen Unterordner von Drupal zu schieben. Ich bekomme dann immer Fehlermeldungen, dass der Pfad nicht stimmt.
require_once '../includes/bootstrap.inc';
funktioniert wohl nicht.

Hat noch jemand hierzu eine Idee?

Gruß
Torsten

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Hat noch jemand hierzu

Eingetragen von Exterior (2903)
am 30.01.2012 - 10:01 Uhr
Zitat:

Hat noch jemand hierzu eine Idee?

Deine edit.php zerlegen und die Funktionalität in ein eigenes Drupal-Modul übertragen wäre wohl das beste.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn Du eigene PHP-Skripte in

Eingetragen von wla (9461)
am 30.01.2012 - 10:02 Uhr

Wenn Du eigene PHP-Skripte in Drupal integrieren willst, geht das nur über ein eigenes Modul. Du solltest Dich also mit dem Modul schreiben etwas näher befassen. Dokumentation dazu findest Du auf drupal.org.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

  • Inzwischen sind wir bei
    vor 2 Tagen 16 Stunden
  • Migrieren von D7 auf D8/ D10/ D11
    vor 3 Tagen 8 Stunden
  • melde mich mal wieder, da ich
    vor 8 Wochen 12 Stunden
  • Hey danke
    vor 8 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 8 Wochen 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 8 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 8 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 9 Wochen 3 Tagen
  • In der entsprechenden View
    vor 9 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 9 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250235
Registrierte User: 20462

Neue User:

  • marouane.blel
  • capilclinic
  • Quabzibboter

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 24 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