Aktualisierung Blockinhalt
Eingetragen von rschmi29 (22)
am 28.06.2011 - 07:49 Uhr in
am 28.06.2011 - 07:49 Uhr in
Ich habe einen Blockinhalt mit PHP Skript versehen. ( Es soll täglich ein Datenbankinhalt abgeholt werden Stichwort Zitatensammlung)
Nun stelle ich fest, dass der aktualisierte Inhalt zwar im Backend zu sehen ist, allerdings nicht zuverlässig ins Frontend übertragen wird.
Woran liegt das? Wie kann ich das ändern? Danke vorab.
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich glaube, Dein Ansatz hat
am 28.06.2011 - 08:59 Uhr
Ich glaube, Dein Ansatz hat da so seine Tücken. Ein Block wird nur dann aufgerufen, wenn er auf einer Seite dargestellt werden soll. Wie willst Du das tägliche Abholen garantieren? Das macht man in einem eigenen Modul das den hook_cron implementiert. Dann wird bei einem Cron-Lauf die Aktion ausgeführt.
Wie stellst Du die Zitate den dar? Das macht man üblicherweise über einen View. Was heißt denn "wird nicht zuverlässig ins Frontend übertragen"? Da brauchen wir weitere Informationen um helfen zu können.
Beste Grüße
Werner
Als Zusatz zu Werners
am 28.06.2011 - 09:06 Uhr
Als Zusatz zu Werners Kommentar: Es kann auch bedeuten, dass bei Dir als angemeldeter User der Block nicht gecached wird, als Gast aber schon.
Glaskugel ...
am 28.06.2011 - 09:08 Uhr
Hallo,
meine Glaskugel ist zur Inspektion (jk)....
Kannst Du mal Deinen Code posten? So ganz ohne Hintergrundinformationen wird es schwierig zu helfen.... Mercie!
Leider erst jetzt!
am 28.06.2011 - 23:01 Uhr
Das skript sieht so aus:
<?php
// Datendatei zum aktuelle Datum ermitteln: (Jahreszahl vierstellig!)
$LphpPfad = "http://www.combib.de/losungphp/";
$LphpDatei = date(Y) . "/" . date(m) . date(d) . ".dat";
// Die Daten einlesen: (z.B.: "http://www.combib.de/losungphp/index.html")
$Lphp = file($LphpPfad . $LphpDatei);
// Variablen für die Datumsangabe in der Überschrift
// Wochentagsname: (z.B.: "Montag")
$LphpWT = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
$LphpWochentagName = $LphpWT[date(w)];
// Monatsname: (z.B.: "Februar")
$LphpM = array("", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
$LphpMonatName = $LphpM[date(n)];
// Tag als Zahl: (z.B.: kurz = "4" / lang = "04")
$LphpTagKurz = date(j);
$LphpTagLang = date(d);
// Monat als Zahl: (z.B.: kurz = "2" / lang = "02")
$LphpMonatKurz = date(j);
$LphpMonatLang = date(m);
// Jahr als Zahl: (z.B.: kurz = "08" / lang = "2008")
$LphpJahrKurz = date(y);
$LphpJahrLang = date(Y);
// Losung:
echo $Lphp[0] . "<b>" . $Lphp[1] . "</b><br>";
echo $Lphp[2] . "<br><br>";
// Lehrtext:
echo $Lphp[4] . "<b>" . $Lphp[5] . "</b><br>";
echo $Lphp[6];
?>
Danke vorab! R.
Nochmals: Ich verstehe Dich
am 29.06.2011 - 08:43 Uhr
Nochmals: Ich verstehe Dich so, dass es im Prinzip funktioniert, dass Du den Blockinhalt siehst, aber der Normalo-User nicht immer - richtig?
Dann versuch mal, den Block-Cache abzustellen
/admin/settings/performance
Danach den Cache löschen.
Sieht man anschliessend Deinen Block als Normalo erwartungsgemäss?
Cache abgeschaltet
am 29.06.2011 - 16:37 Uhr
Ich habe, wie empfohlen den cache abgeschaltet und den Inhalt gelöscht. Nun ist der Inhalt des blocks nicht mehr nur im Backend sondern auch im Frontend zu sehen.
Danke Euch