php Script und Drupal Cache
Eingetragen von fpr (11)
am 07.06.2009 - 00:10 Uhr in
am 07.06.2009 - 00:10 Uhr in
Hallo, nachdem ich schon Stunden erfolglos rumgesucht habe, muss ich doch mal eine Frage zur Version 6.xx stellen:
Wie kann ich ein eigenes php-Script, welches jeweils die aktuelle Seite abfragt, in Drupal integrieren, ohne dass es vom Cache "geschluckt" wird?
Einfach in die theme.php packen, fuunktioniert natürlich nicht.
Auch wenn ich dafür einen extra Block erstelle und Block Cache deaktiviere, habe ich keinen Erfolg.
Es scheint, dass man mit http://api.drupal.org/api/constant/BLOCK_NO_CACHE etwas erreichen kann, ich weiss aber nicht wie.
Hat jemand vielleicht eine Idee oder einen passenden Link zur Hand?
- Anmelden oder Registrieren um Kommentare zu schreiben
wo willst du denn das Skript
am 07.06.2009 - 00:53 Uhr
wo willst du denn das Skript einbinden? Muss das in einem Block sein, oder muss es allgemein auf jeder Seite einmal ausgeführt werden, oder willst wirklich einen Block haben, falls ja musst(solltest) du ein Modul schreiben und hook_block implementieren
in $op = 'list' kannste 'cache' => BLOCK_NO_CACHE setzen
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
oder so etwas ...
am 07.06.2009 - 01:10 Uhr
http://drupal.org/project/blockcache_alter
dereine schrieb wo willst
am 07.06.2009 - 04:18 Uhr
wo willst du denn das Skript einbinden? ...
Hallo,
es muss nicht zwingend in einen Block - Hauptsache ist, dass es auf jeder Seite neu ausgeführt wird - da es ein kleiner Bot-Logger ist. Ich hatte den Php-Code ja schon einfach in die bootstrap.inc gepackt, das hat aber leider immer die Aufrufe vom Ad-Modul mitgeloggt, was ja die Last unnötigt erhöht.
Wo könnte ich denn den Php-Code sonst noch unterbringen, um zu einem Ergebnis zu kommen?
Bezgüglich der Lösung im Block, womit ich mich die letzten Stunden beschäftigt habe:
Ein wenig seltsam ist, dass scheinbar nicht der Block-Cache sondern der normale Cache für das Problem verantwortlich ist.
Wenn ich nur den Cache ausschalte und den Block-Cache eingeschaltet lasse, funktioniert es; in der Block-Tabelle habe ich für den betreffenden Block bei "Cache" auch schon kommischerweise den benötigten Wert "-1".
(@ tumblingmug, Danke, aber das bringts leider auch nicht, s.o.)
Mit hook_boot kannste Dinge
am 07.06.2009 - 08:33 Uhr
Mit hook_boot kannste Dinge durchführen bevor die ganzen Dinge durchgeführt werden.
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
Hallo, ich blicke nicht mehr
am 07.06.2009 - 16:38 Uhr
Hallo, ich blicke nicht mehr durch; hook_boot scheint sich ja nur auf Module zu beziehen.
Muss ich denn wirklich für drei Zeilen Php-Code, die sich nicht auf den Drupal-Code beziehen, ein eigenes Modul schreiben?
<?php
$timestamp = time();
$uhrzeit = date("H:m:s",$timestamp);
echo $uhrzeit;
?>
Kommt drauf an was man
am 07.06.2009 - 16:48 Uhr
Kommt drauf an was man machen will. Aber jetzt im Ernst du willst doch nicht die Uhrzeit anzeigen?
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
Ja aber nicht viel mehr; das
am 07.06.2009 - 17:12 Uhr
Ja aber nicht viel mehr; das war nur zur Untermauerung, dass mein Script nicht mit Drupal interagieren muss, sondern nur bei jedem Seitenaufruf neu ausgeführt werden soll.
Ich blicke einfach nicht, an welcher Stelle ich solche kleinen Spielereien reinhacken kann.
Wo würdest Du denn mein Beispiel unterbringen, ohne dafür extra ein Modul zu schreiben?
Das scheint so trivial zu sein, dass darüber nichts im Netz zu finden ist.
Sowas garnicht. Wer die
am 07.06.2009 - 17:46 Uhr
Sowas garnicht. Wer die Uhrzeit wissen will, schaut in die Taskleiste :D. In die tpl meines Themes direkt jenachdem wo es erscheinen soll. zb ganz unten im footer -> page.tpl.
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
Zumal ich es als Besucher
am 07.06.2009 - 17:53 Uhr
Zumal ich es als Besucher ziemlich unspannend finde welche Zeit der Server gerade hat... ;)
--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!
webseiter.de
Spartacus schrieb In die
am 07.06.2009 - 18:04 Uhr
In die tpl meines Themes direkt jenachdem wo es erscheinen soll. zb ganz unten im footer -> page.tpl.
Nur wird das Script auch an dieser Stelle gecached und wir fangen wieder von vorne an ;-).
Ich sehe schon, ich muss mir wohl doch ein Modul schreiben und das für so ein kleines Piss-Script ...
Trotzdem, erstmal Danke.
Modülchen
am 07.06.2009 - 18:07 Uhr
Also bevor ich das jetzt lange erkläre, kriegst Du hier ein Modülchen von mir angehängt.
Kurz erklärt aber doch:
da Du ja im Grunde keinen Block vom Caching ausschließen willst, sind die Block-Varianten irreführend; und da Du zusätzliche Funktionalität willst, musst Du wohl ein Modul verwenden, um 1.) nicht im Core herumzutun und um 2.) auch bei Theme-Wechsel die Funktionalität zu behalten. (Darum wäre die "template.php" selbst dann der falsche Ort, wenn es ginge, denn die ist theme-gebunden.)
Wie trivial das Ganze aber dennoch ist, siehst Du, wenn Du in den Code schaust. hook_exit() ist hier das Zauberwort. Probiere es aus.
Link zum Modul
Nachtrag:
Jeder, der mir hier die Upload-Rechte nachhaltig vorenthält, kriegt von mir künftig Embed-Verbot für meine Screencasts :( (Ist ja wirklich lächerlich, ich hatte hier schon mal Upload-Rechte ...)
Danke, Du hast mein Keyboard
am 07.06.2009 - 19:12 Uhr
Danke, Du hast mein Keyboard gerettet ;-).
Mit Deinem Beispiel funktioniert es wunderbar.
Jetzt verstehe ich auch allmählich, wie der Hase bei Drupal zu laufen hat.
Ein kleines Script sagt halt manchmal mehr als tausend Worte.
Hast ja auch Recht, ein Modul macht sich immer besser als in der Core rumzupfuschen.
gleiches Problem
am 02.07.2009 - 10:49 Uhr
Hi,
bin gerade über diesen Thread gestolpert, da ich das selbe Problem habe. Nun habe ich das "Mini-Modul" getestet mit folgendem Problem: wenn ich es aktiviere und die Konfiguration speichere, erschein eine weiße Seite mit der Ausgabe der Zeit. Auch beim ausführen der Prüfung auf Aktualisierungen, bleibt es bei einer weißen Seite stehen, die die Uhrzeit zeigt. Woran kann das liegen? Es scheint als würde das Script nicht korrekt beendet oder so...
Das liegt daran das die Zeit
am 02.07.2009 - 11:08 Uhr
Das liegt daran das die Zeit direkt geprinted wird.
ändere so die Dateien:
mymod.module
<?php
/**
* Implementation of hook_exit().
*
* Code execution on page accesses.
*/
function mymod_exit() {
include_once drupal_get_path('module', 'mymod') .'/myscript.php';
return format_date(zeit());
}
function mymod_footer($main = 0) {
return '<div style="clear:both;">'. mymod_exit() .'</div>';
}
myscript.php
<?php
function zeit() {
return time();
}
?>
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
myscript.php
am 02.07.2009 - 14:05 Uhr
myscript.php ist ja nur ein Beispielskript, das anhand der Zeit zeigt, dass das funktioniert. Du musst myscript.php jetzt mit Deinem PHP-Skript ersetzen, das bei jedem Seitenaufruf ausgeführt werden soll. Und natürlich darf da direkt nichts ausgegeben werden.
hat funktioniert
am 03.07.2009 - 13:02 Uhr
Die Korrektur von mymod.modul hat funnktioniert:
function mymod_footer($main = 0) {
return '<div style="clear:both;">'. mymod_exit() .'</div>';
}
Seitdem kann ich das Modul normal aktivieren und auch wieder die Prüfung auf Aktualisierungen ohne Fehler durchführen. Allerdings ist mir die Funktion mymod_footer nicht ganz klar. Diese schreibt jetzt ein Datum (von 1970) in den Footer!?
Die Ausgabe meiner eigentlichen Datumsanzeige klappt sehr gut und wird auch nicht mehr gecacht.
Eigentlich müsste dort das
am 03.07.2009 - 13:34 Uhr
Eigentlich müsste dort das Datum , welches du unter admin/settings/date-time bei Mittleres Datumsformat: ausgewählt/eingestellt hast, ausgegeben werden. Also zb 3 Juli, 2009 - 14:33.
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
nein das macht er nicht
am 03.07.2009 - 14:03 Uhr
Nein das macht er nicht. Es wird folgendes Datum ausgegeben: 1. Januar 1970 - 2:00
myscript.php habe ich aber auch leicht verändert:
<?php
function zeit() {
return date("d M Y H:i");
}
?>
Im Template rufe ich dann die Funktion auf und erhalte das gewünschte Datum mit Uhrzeit
<div id="date_time"><?php print zeit($date) ?> Uhr</div>
Ohne die Funktion mymod_footer in der mymod.module gab es ja den oben genanntenn Fehler, sonst hätte ich diese Funktion gleich raus gelassen. Ich habe da bestimmt noch einen Dreher drin.
Wenn dann so: function
am 03.07.2009 - 14:37 Uhr
Wenn dann so:
function mymod_exit() {
include_once drupal_get_path('module', 'mymod') .'/myscript.php';
return format_date(zeit(), 'custom', 'd M Y H:i');
}
function mymod_footer($main = 0) {
return '<div style="clear:both;">'. mymod_exit() .'</div>';
}
Und wenn in der myscript.php nur die zeit zurückgeben wird, dann so.
function mymod_exit() {
return format_date(time(), 'custom', 'd M Y H:i');
}
function mymod_footer($main = 0) {
return '<div style="clear:both;">'. mymod_exit() .'</div>';
}
Und du unter admin/settings/date-time "Benutzerdefiniertes Format" auswählst bei Mittel und dort
d M Y H:i
einträgst, dann so:function mymod_exit() {
return format_date(time());
}
function mymod_footer($main = 0) {
return '<div style="clear:both;">'. mymod_exit() .'</div>';
}
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
Positionierung
am 05.07.2009 - 16:49 Uhr
Ok, vielen Dank für die Aufklärung. Ich habe jetzt Variante 1 genommen und bekomme im Footer das korrekte Datum und die entsprechende Uhrzeit ausgegeben.
Wie kann ich diese Zeile in einen anderen Bereich der der Page setzen? Brauche diese Angabe an einer individuellen Stelle im Header (Kopfbereich) der Seite. Verstehe hier irgendwie das Prinzip der Ansteuerung nicht.
Ich zitiere mal Alexander
am 05.07.2009 - 17:17 Uhr
Ich zitiere mal
Zumal ich es als Besucher ziemlich unspannend finde welche Zeit der Server gerade hat... ;)
Modul deaktivieren und in der page.tpl direkt format_date() benutzen.
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
Zitat: Alexander Langer
am 05.07.2009 - 18:09 Uhr
Alexander Langer schrieb
Zumal ich es als Besucher ziemlich unspannend finde welche Zeit der Server gerade hat... ;)
Jeder hat so seine Bedürfnisse ;-).
Modul deaktivieren und in der page.tpl direkt format_date() benutzen.
So habe ich es vorher auch gemacht und diese Ausgabe wurde gecacht! Dadurch gab es regelmäßig eine Uhrzeit, die der tatsächlichen weit "hinterher hing". So bin ich auf diesen Thread gestoßen.
Genau
am 05.07.2009 - 19:06 Uhr
Womit wir wieder beim Thema wären. Denn mymod hatte mit dem Eingangsthema gar nicht so viel zu tun. hook_exit würde für den nicht zu cachenden Teil einer Page nicht in Frage kommen, sondern hier nun tatsächlich hook_boot. Wirkt wie gewünscht bei gecachten Pages sowie bei aktiviertem "Normal Caching Mode" auch für nichtangemeldete Besucher.
Ich würde also via hook_boot eine globale Variable mit der aktuellen Zeit füttern und diese dann in einem Block (der Einfachheit halber) per PHP ausgeben lassen.
EDIT: Ne, daneben geschossen - geht auch nicht. Geht nämlich sowieso, wenn der Block-Cache abgeschaltet ist, aber weiterhin nicht, wenn er eingeschaltet ist. Damit stellt sich also die immer noch nicht gelöste Frage, wie man das Caching für einen spezifischen Bereich einer Page abschaltet – oder auch so: wie kann ich Pagecontent cachen, aber eben einen speziellen Teil davon nicht? Wer's verrät, sollte ein Bier ausgegeben bekommen :)
tja und da kommt der Heilige
am 05.07.2009 - 19:15 Uhr
tja und da kommt der Heilige Gral :) Wenn du das lösen kannst biste gut :)
Die einfachste Lösung / auch für gäste mit Cache aktiviert, ist einfach JS :) Notfalls per json Request von Drupal geholt.
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
Ne
am 05.07.2009 - 19:24 Uhr
JS ist keine Lösung und nicht the Drupal way. Die Sachen müssen immer auch ohne JS funktionieren, sonst wär's zu einfach! Ne, im User-Modul ist das z.B. in user_block(...) so gelöst:
<?php
// Too dynamic to cache.
$blocks[3]['info'] = t('Who\'s online');
$blocks[3]['cache'] = BLOCK_NO_CACHE;
return $blocks;
?>
Klar oder? "Who's online" darf ja nicht gecached werden, sonst wär's blöd :)
Also denke ich, hook_block in einem eigenen Modülchen verwenden und es so machen, wie's die Core-Jungs hier zeigen ...
Aber wie ginge so etwas außerhalb eines Blocks?????
Naja klar ist ohne JS besser
am 05.07.2009 - 19:47 Uhr
Naja klar ist ohne JS besser aber:
1. Page Cache steht überhalb von BlockCache, d.h. wenn Page Cache Aktiv ist wird für Gäste die Zeit nie stimmen. Page Cache speichert den HTML String, gegzipt. Der BlockCache funktioniert halt auch für angemeldete Benutzer.
Außerhalb vom Block gehts überall anders :) z.B. in hook_preprocess_page
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
dereine schrieb Außerhalb
am 05.07.2009 - 20:01 Uhr
Außerhalb vom Block gehts überall anders :) z.B. in hook_preprocess_page
Na hoppla. Was hat denn dieser Hook damit zu tun? Dessen weitergereichte (modifizierte) Variablen werden genauso gecached wie der übrige Page-Content. Das wäre die Antwort auf meine Frage nicht: wie kann ich Teile einer gecachten Page dynamisch aktualisieren?
Und der "Who's online"-Block funktioniert auch, obwohl die Pages, auf denen er erscheint, gecached sind, wenn ich recht sehe ...
mh das war eigentlich auf
am 05.07.2009 - 20:49 Uhr
mh das war eigentlich auf die hook_block alternative bezogen ....
Sicher dass das geht? Ich würde sagen nein, sonst könnte ja man das gleich lassen :)
Aktuell geht das AFAIK nur wirklich gut mit JS
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
JS oder Block
am 06.07.2009 - 15:23 Uhr
Was würdet ihr machen, wenn es notwendig ist: Eher JS dafür integrieren oder einen extra Block bauen? Ganz schön umständlich das Ganze...
green_eye55 schrieb Ganz
am 06.07.2009 - 22:23 Uhr
Ganz schön umständlich das Ganze...
Ja und Nein. Es ist eine Frage des Konzepts. Aktiviertes Drupal-Caching für Pages meint: nicht angemeldete Benutzer sehen nicht in jedem Moment den aktuellsten Content. Punkt. Wenn Du zeitbezogene Daten auf der Page für "Anonymous" in jedem Moment aktuell angezeigt haben willst, hast Du die Wahl zwischen zwei Möglichkeiten:
Ersteres kostet Performance, funktioniert aber auch für Benutzer ohne JS. Die zweite Variante ist durch Caching performanter, kostet aber Accessibiltity, sprich: Benutzer ohne JS sehen nichts bzw. nur das, was Du an nicht-aktuellen Daten für sie vorsiehst.
Ich habe bislang keine Möglichkeit gefunden, nur Teile bereits gecachter Pages zu verändern bzw. zu aktualisieren. Wer nicht angemeldet ist in Drupal, ist bei aktiviertem Caching schlichtweg nicht auf dem allerletzten Stand.
JS Versuch
am 07.07.2009 - 16:51 Uhr
Lösung Nr. 1 (Deaktivieren des Caching) ist keine wirkliche Lösung, denke ich. Der Performance-Verlust dürfte gerade bei größeren Seite (Portalen etc.) doch erheblich sein. Nur um ein paar wenige "Live-Infos" zur Verfügung zu stellen, ist das doch ein sehr hoher Preis. Also habe ich mich entschieden Variante Nr. 2 zu testen.
Vielleicht gehört es nicht direkt hierher, aber es schließt das Thema vielleicht mit einem Lösungsansatz ab. Dazu habe ich eine script.js in mein Theme-Verzeichnis gelegt, welche in Drupal 6 automatisch erkannt und eingebunden wird. Dieses schreibt das aktuelle Datum mit Uhrzeit bei Seitenaufruf in den Container #date_time:
if(Drupal.jsEnabled){
$(document).ready(function(){
$.get('meinTplPath/date_time.php', function(msg) {
$('#date_time').empty();
$('#date_time').append(msg);
})
});
}
Im selben Verzeichnis liegt date_time.php und holt die aktuelle Serverzeit:
<?php print date("d M Y H:i") ?> Uhr
Dazu muss ich sagen, dass ich kein Programmierer bin. Ich habe die paar Zeilen zusammengebastelt und gehofft, dass es funktioniert ;-). Das tat es auf den ersten Blick gut. Nach einer Weile viel auf, dass auf bestimmten Unterseiten ein Fehler passiert. Die Seite zerreißt und wird ineinander doppelt dargestellt. Firebug gibt folgene Fehlermeldung zurück:
uncaught exception: [Exception... "Unexpected error" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: http://www.domain.de/misc/jquery.js?r :: anonymous :: line 13" data: no]
An irgendeiner Stelle, wo beide Scripte gleichzeitig ausgeführt werden oder eine ungünstige Konstellation auftritt, hakt es komplett. Kann das jemand deuten oder vielleicht auch einen Fehler in meinem Script erkennen?
JS hat auch eine Date
am 07.07.2009 - 19:11 Uhr
JS hat auch eine Date Funktion http://de.selfhtml.org/javascript/objekte/date.htm, also brauchst keine Datei einbinden
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
aber dann ist doch das ganze
am 07.07.2009 - 19:50 Uhr
aber dann ist doch das ganze nicht Serverseitige Zeit oder :p
das genau wollte er ja anzeigen
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
Keine Ahnung, welche
am 07.07.2009 - 19:54 Uhr
Keine Ahnung, welche Zeit[Client oder Server] dort genommen wird. Aber wegen sone Zeitangabe muss ja nicht den ganzen Workflow kaputt machen :D.
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
Ich hoffe ihr seid von
am 13.07.2009 - 17:25 Uhr
Ich hoffe ihr seid von diesem Thema noch nicht so genervt wie ich. Alle Versuche diese Zeitangabe per Javascript anzeigen zu lassen, schlugen fehl. Das heißt, die reine Umsetzung hat schon funktioniert, jedoch gibt es auf bestimmten Unterseiten meiner Webseite ständig eine Fehlermeldung und schreckliche Layoutfehler, verursacht durch das Script. Da ich nach ewigem Suchen den Fehler nicht finden konnte und diese Uhrzeit dringend ausgeben muss, habe ich mich zu einem Versuch das Ganze per Block zu lösen entschlossen.
Aber auch hier macht das Caching Kopfschmerzen. Ich habe einen Block angelegt und in den Kopfbereich meiner Seite gepackt, nun mit Hilfe des Moduls blockcache_alter verucht für diesen speziellen Block das Caching zu verhindern, aber ohne Erfolg. Dann habe ich einfach versucht, das Caching in der Datenbank für diesen Block zu deaktivieren (cache = -1), aber auch das Hilft nicht.
Meine letzte Idee war es das Ganze über Views zu versuchen. Dabei bin ich mir nicht mal sicher, ob das einen Unterschied macht. Habe also eine View erstellt, das Caching auch hier NICHT aktiviert und als Block im Kopfbereich platziert. Wieder ohne Erfolg.
Das komische ist: Auf meiner Testseite funktioniert es - auf der Produktivseite nicht im geringsten. Es scheint, als würden alle Blocks generell gecacht, wenn das seitenweite Block-Caching aktiviert ist. Gibt es noch eine andere Möglichkeit einen einzelnen Block vom Caching auszuschließen.
Hat dazu eventuell nochmal jemand einen Tipp?
Soweit ich sehe, hilft Dir
am 14.07.2009 - 22:01 Uhr
Soweit ich sehe, hilft Dir das Block-Caching bei der beschleunigten Seitenanzeige für angemeldete Benutzer, nicht aber für anonyme Besucher. Aber damit würde die Zeitanzeige ja dann nicht einmal mehr funktionieren, wenn Du angemeldet bist ...
Bist Du lokal vielleicht immer angelmeldet und testest remote als Anonymous?
Ich denke - bitte, man berichtige mich! -, dass eine Page entweder komplett gecached ausgeliefert wird oder komplett nicht gecached (wobei Blöcke und gefilterter Content davon ausgenommen sind/ sein können). M. E. musst Du Caching für die Site überhaupt abschalten, wenn eine serverseitige Zeitanzeige auf allen Pages für Anonymous funktionieren soll.
zitat: sowas gar nicht ...
am 08.08.2009 - 10:14 Uhr
Hallo Thomas,
also "sowas garnicht" ? !
Ich stehe vor einem ähnlichen Problem. Und zur Illustration, das sowas sinnvoll sein kann. Es handelt sich um eine Seite, auf der ein Link zeitgesteuert erscheinen soll, also muss ich die Zeit ermitteln. Die Seite (Node) selbst ist natürlich veröffentlicht, nur ein Link auf der Seite darf erst zu einem gewissen Zeitpunkt freigeschaltet werden. Wieso sollte also eine PHP-Zeitfunktion gar nicht gehen ....?
Gruß
--++--
draeck
++--++
achso, übrigens
am 08.08.2009 - 10:10 Uhr
... habe ich die sache seeeehr dirty gelöst..... ich ahbe meine zeilen php code für den zeitgesteuerten link ausgelagert und als (Igitt) IFRAME eingebunden. nun gehts wenigstens ohne irgend welche rumfrutzeleien am cache....
mean and dirty but working
gruß
--++--
draeck
++--++
Dirty, aber OK, finde ich.
am 08.08.2009 - 10:22 Uhr
Dirty, aber OK, finde ich. Gemessen nämlich an allem sonstigen Aufwand mit dem Thema Cache in Drupal. Solange man nicht direkt in gecachete Seiten quasi "last minute" Änderungen einbuchen kann, muss man das Thema wohl oder übel so oder anders umgehen.
Und: diese Lösung gefällt mir besser als JavaScript-Lösungen.