2016-10-02 5 views
0

Ich benutze ploneformgen. [bearbeitet] Ich benutze einen benutzerdefinierten Skriptadapter von Ploneformgen, um eine Seite mit den Informationen von übermittelten Formularen zu erstellen. Das Problem ist: Die Seite, die beim Senden erstellt wird, zeigt das Bild nicht an. Ich möchte eine Seite/ein Dokument mit Text UND einem Bild erstellen. Wie kann ich das machen?Wie wird das Bild angezeigt, das in einem eingereichten Formular mit ploneformgen hochgeladen wurde?

Ich habe diesen Code versucht:

#Creating the folder in zope instance. I gave the name 'conteudo' to it. 
targetdir = context.conteudo 

#Here asking for the form, so we can access its contents 
form = request.form 

#Creating an unique ID 
from DateTime import DateTime 
uid= str(DateTime().millis()) 

# Creating a new Page (Document) 
targetdir.invokeFactory('Document',id=uid, title= 'Minha Página', image= form['foto-de-perfil_file'],text='<b>Nome Completo:</b><br>'+form 
['nome-completo']+'<br><br>'+'<b>Formação:</b><br>'+form 
['formacao']+'<br><br>'+'<b>Áreas de Atuação:</b><br>'+form['areas-de- atuacao']+'<br><br>'+'<b>Links:</b><br>'+form['links']) 

# Set the reference for our new Page 
doc = targetdir.get('uid',targetdir) 

# Reindexed the Page in the site 
doc.reindexObject() 

Es nur den Text zeigt, aber das Bild ist nicht da.

Ich habe versucht mit "setImage", aber es zeigt einen Attributfehler. Ich habe versucht, eine andere invokefactory zu machen, aber anstelle von 'Document' gebe ich 'Image' ein, dann wird nur das Bild angezeigt.

Was soll ich an meinem Code ändern, um den Text und das Bild anzuzeigen?

Vielen Dank im Voraus.

+5

Ich denke, du hast viele Details hier imitiert. Wie wird dieser Koe ausgeführt? Betrachtet man den Code * scheint * haben Sie einen Script-Adapter für PloneFormGen, der einen 'Document'-Inhaltstyp erzeugt, und dieses Dokument hat auch ein Nicht-Standard-Bildfeld (Sie haben' collective.contentleadimage' oder was?). Bitte bestätigen Sie diese Details oder versuchen Sie uns mehr Informationen über Ihr Umfeld zu geben. –

+0

update-> redigiert –

+0

Auf einen Blick würde ich denken, dass Sie ein Dokument benötigen, das mit einem Bildfeld erweitert wird. Für Plone-4 gibt es ein Add-On 'collective'contentleadimage', mit dem Sie jeden vorhandenen Inhaltstyp um ein Bildfeld erweitern können. In Plone-5 gibt es ein Verhalten, das Ihnen diese Möglichkeit gibt. –

Antwort

1

Die einzige Sache, die für mich gut funktionierte, war anstatt "Seiten" zu erstellen, ich wechselte es für "Nachrichten".

2

Auf einem Standard-Plone-Dokument besitzt der Inhaltstyp kein Bildfeld. Wenn Sie Plone 4 mit alten ATContentTypes verwenden, müssen Sie collective.contentleadimage installieren und konfigurieren. In Plone 5 oder wenn Sie Dexterity-basierte Inhalte verwenden, müssen Sie das neue Bildfeld zu Ihrem Schema hinzufügen.

+0

Ok, danke für die Antwort ... Ich habe es jetzt installiert, weil ich Plone 4 benutze. Aber, Entschuldigung wegen meiner Ignoranz (ich bin neu bei plone stuff - Entschuldigung), wie kann ich jetzt das Bild auf dem Dokument anzeigen ? Ich habe ein paar Sachen ausprobiert, aber es hat nicht funktioniert. Vielen Dank. –

+0

@ C.E.Petersson Bild von contentleadimage wird automatisch von einem Viewlet angezeigt. Haben Sie das Add-on korrekt konfiguriert? –

+0

sollte ich etwas anderes konfigurieren? Ich habe das Gleiche gemacht, was es immer zu tun hat ... etwas auf build.cfg hinzufügen und dann ausführen. Aber es zeigt nicht das Bild. –

Verwandte Themen