2016-07-15 6 views
1

Ich baue gerade eine App mit ProcessWire. Ich verwende die ServicePages module, um meine Daten als REST-ähnliche API verfügbar zu machen.Vollständige Dateipfade in ProcessWire ServicesPages API abrufen

scheinen jedoch alle Dateien wie folgt ausgegeben werden:

reel_poster: { 
    basename: "breakdown-2015-poster.jpg", 
    description: "", 
    tags: "", 
    formatted: false, 
    modified: 1468541707, 
    created: 1468541707 
} 

Wie erhalte ich den tatsächlichen Pfad/URL der Datei referenziert? Ich muss den Pfad in einer JS-Anwendung abrufen, damit ich die PHP-API nicht verwenden kann.

Ich habe auch this on their forums gepostet, aber es scheint, als gäbe es dort nicht viel Aktivität.

+0

Dies scheint ein bekanntes Problem zu sein: https://processwire.com/talk/topic/1654-pages-web-service-servicepages/?page=3#comment-48900. Der Kommentar stammt aus dem Jahr 2013. * seufz * –

+0

Hier ist es wieder, in 2015: https://processwire.com/talk/topic/1654-pages-web-service-servicepages/?page=4#comment-100002. Die vorgeschlagene Lösung ist jedoch in PHP, was für mich keine Option ist. : / –

Antwort

0

Also, wenn ich this forum post correctly lesen, ist die einzige Möglichkeit, die URL zu erstellen, indem Sie es manuell zusammenstellen. Wir brauchen drei Dinge, um das zu tun:

  • Der Basispfad für Datei-Assets.
  • Die ID der Seite, an die das Feld angehängt ist.
  • Der Bildname.

Wir wissen, dass der Basispfad für Vermögenswerte Datei /site/assets/files/ ist. Wir können dies dann tun, da wir ein page Objekt aus der API haben:

var basePath = '/site/assets/files/'; 
var imagePath = basePath + page.id + '/' + page.image_field.basename; 

Diese funktionieren soll. Ich denke. Ja. Dies ist getestet und funktioniert.