PHP Wordpress - Vertretungsplan - Dropbox

auch-da

Cadet 4th Year
Registriert
Okt. 2012
Beiträge
88
Einen schönen Guten Morgen wünsche ich euch,

ich sitze gerade an der neuen Schulhomepage dran, CMS ist Wordpress, und wollte doch sehr gerne einen Vertretungsplan in die neue Schulhomepage integrieren. Meine Überlegungen: Damit es auch wirklich schnell geht, und nicht viel Zeit kostet, soll der Vertretungsplan, jeden Morgen, einfach nur in den Dropboxordner geschoben werden. Dann sollte mit einem kleinen PHP-Skript immer nur das aktuelle Datum abgefragt werden, und der Name geändert werden, damit immer das aktuelle Dokument online ist. Ohne den Dateinamen usw. zu ändern.

Allerdings tuen sich dort 2 Probleme auf:

1. Wie kann ich auf Dropbox zugreifen, ohne das ich die Datei jedes mal freigeben muss? Eventuell ein Plugin für Wordpress? Habe aber leider keins gefunden, nur Dropbox-Backup.

2. Das PHP-Skript, Google hat mir dann folgendes ausgespuckt:
<?php

echo "Now:" .date('d.m.Y');
?>

Bei dem Dateinamen sind "Sie" (Stundenplanbüro) flexibel. Die Dateien werden als PDF gespeichert.

Leider habe ich gar keine Ahnung von PHP! Wie binde ich das denn in Wordpress ein? Einfach in die Seite schreiben?

Für mich scheint diese Lösung die einfachste zu sein, ohne wenig Aufwand, und klappt zumindest in meinem Kopf in der Theorie.:) Für andere Lösungen bin ich sehr offen!

Einen schönen Mittwochmorgen noch. :)

Mit freundlichen Grüßen
auchda

Edit: Wie kann ich denn den Vertretungsplan darstellen? Embed-Tag nicht veraltet?
 
Zuletzt bearbeitet:
Hallo,


Zu 1.
also zumindest wenn die Dateien im Public-Ordner sind bzw. in einem Unterordner, sind die Dateien automatisch über den Link erreichbar.

Wenn du also für eine Datei in dem Ordner so einen Link erzeugst:

hxxps://dl.dropboxusercontent.com/u/1234567/testordner/datei1.pdf

Dann kannst du mit dem Link auch auf

hxxps://dl.dropboxusercontent.com/u/1234567/testordner/datei2.pdf


(Hinweis: https habe ich durch hxxps ersetzt, damit hier der komplette Link gezeigt wird.)

zugreifen, sofern beide Dateien da vorliegen.

Zu 2.
Das Datum kannst du so erzeugen, ich würde es aber andersrum machen, also quasi

echo date('Y-m-d'). ".pdf";

Die Dateien müssen dann z.B. 2014-04-30.pdf heißen. Dann sind die Dateien in dem Ordner wenigstens vernünftig sortiert. Ich würde mir das aber überlegen, ob ich alle Dateien da so liegen lassen würde. So könnten Fremde nämlich hergehen und sich automatisch alle Vertretungspläne auf einmal herunterladen und Statistiken darüber anlegen, wie oft welche Lehrer krank/nicht da sind. Datenschutz und so ;).

Du kannst/solltest also einfach einen festen Namen benutzen, sodass die Datei jeden Tag überschrieben wird. Dann brauchst du auch keinen dynamischen Link.




Bzgl. Einbindung in Wordpress:
Falls du dich doch anders entscheidest, so kannst du das per Shortcode einbinden:

Falls du schon ein Child-Theme verwendest, kannst du folgendes einfach in die functions.php des Child-Themes packen:

function StundenplanShortcode() {
return '<a href="http://DROPBOXURLPREFIX'.date('Y-m-d').'.pdf">Vertretungsplan herunterladen</a>';
}
add_shortcode('stundenplan', 'StundenplanShortcode');

Dann kannst du an beliebiger Stelle in Posts oder Pages [stundenplan] verwenden.



Bzgl. Einbettung:
Falls du es einbetten willst, würde ich das glaube ich einfach per IFrame machen.
 
Zuletzt bearbeitet:
Hallo redeye86,

vielen Dank für deine Antwort! Leider kann ich erst jetzt antworten, da ich mir es fest vorgenommen zu habe berufliches und privat zu trennen. :)

Das ist ein guter Punkt mit Datenschutz... Daher dachte ich, gibt es vielleicht ein Plugin, womit man einen Ordner nur für dieses Plugin freigeben kann? Das Hauptproblem: Er soll mit 1-2 Klicks online sein, schnell und einfach, damit es keine Mehrarbeit ist. Daher dachte ich Dropbox, einfach reinziehen, gibt es da sonst noch eine Alternative?

Das mit dem festen Namen würde vermutlich auch gehen, wenn man das jedesmal überschreibt, ist ja immer nur ein Dokument drin, bezüglich Datenschutz. :)


Mit freundlichen Grüßen
auchda
 
Also du könntest die Datei auch quasi durchleiten, sodass sich der Webserver die Datei aus der Dropbox holt und die dann direkt ausgibt. Dann könnte man die Dateien in der Dropbox entsprechend benennen und der Server würde die mit generischem Namen ausgeben.

Allgemein müsste man dann aber gucken, wann man auf die jeweils neue PDF umschwenkt. So würde ja jetzt ab 0.00 die neue Datei ausgeliefert. Ist die Datei bis dahin für den nächsten Tag fertig? Wenn die noch nicht existiert, bekäme man bis dahin einen 404-Fehler.
Und soll man, wenn die Datei/Teile davon schon am Vorabend fertig sind, diese schon abrufen können?
 
Wie wäres einfach mit einem geschützten Uploadbereich? Wo der Vertretungsplan hochgeladen wird. Ob Du ihn dann noch weiterverarbeitet oder nur verlinkst liegt dann an Dir. Ich denke aber um ein bißchen programmieren wirst Du nicht herum kommen...
 
Ich habe mir gerade nochmal Gedanken gemacht, und überlege gerade, ob ich nicht Owncloud auf dem Server installieren soll.

Meine Theorie: Bei Owncloud lege ich fest, welchen Ordner er synchronisieren soll. Das wäre ganz praktisch, weil die Vertretugspläne immer in einen Ordner gezogen werden müsste. wäre so also kein Mehraufwand, was schonmal ziemlich gut ist. Da Owncloud dann auch auf dem selben Server liegen, müsste ich doch mit WordPress darauf zurückgreifen können. Dann baue ich ein PHP-Skript ein, welches dann sich automatisch die aktuelle Datei (anhand des Datums) nimmt.

Ich werde mich mal erkundigen, wie das mit den Pfaden bei WordPress aussieht.

Das war so meine Theorie, funktioniert das auch in der Praxis? Ich werde jetzt erstmal Google füttern gehen!


Danke für eure Bemühungen!


Mit freundlichen Grüßen
auchda
 
Zurück
Oben