#python #plone #ploneformgen
#python #plone #ploneformgen
Вопрос:
Я использую ploneformgen. [отредактировано] Я использую пользовательский адаптер сценариев из ploneformgen для создания страницы с использованием информации из отправленных форм. Проблема в том, что страница, созданная при отправке, не отображает изображение. Я хотел бы создать страницу / документ с текстом И одним изображением. Как я могу это сделать?
Я пробовал этот код:
#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()
Он показывает только текст, но изображения там нет.
Я попытался использовать «setImage», но он показывает ошибку атрибута. Я попытался создать другой invokefactory, но вместо «Document» я вставил «Image», тогда он показывает только изображение.
Что я должен изменить в своем коде, чтобы отобразить как текст, так и изображение?
Заранее спасибо.
Комментарии:
1. Я думаю, вы имитировали здесь много деталей. Как выполняется этот coe? Глядя на ваш код, кажется , что у вас есть адаптер сценария для PloneFormGen, который создает
Document
тип контента, и в этом документе также есть нестандартное поле изображения (вы использовалиcollective.contentleadimage
или что?). Пожалуйста, подтвердите эти данные или попробуйте go, предоставив нам больше информации о вашем env.2. обновить-> отредактировано
3. На первый взгляд, я бы подумал, что вам понадобится документ, расширенный полем изображения. Для Plone-4 есть надстройка ‘collective’ contentleadimage’, с помощью которой вы можете расширить любой существующий тип содержимого с помощью поля изображения. В Plone-5 есть поведение, дающее вам такую возможность.
4. Привет, спасибо за ответ… и извините за мое невежество, но как я могу использовать его сейчас для отображения изображения в сгенерированном файле документа? (Я использую Plone-4, и я только что установил это дополнение, о котором вы упомянули… также уже пробовал некоторые вещи, но это не сработало). Спасибо!!
5. @C.E.Petersson Извините, что не заметил этот комментарий, всегда хорошо для @ me, поэтому я получаю уведомления по почте. Рад, что вы нашли решение, вы можете принять свой собственный ответ как тот, который вам помог.
Ответ №1:
В стандартном документе Plone тип содержимого не имеет никакого поля изображения.
Если вы используете Plone 4, используя старые ATContentTypes, вы должны установить и настроить collective.contentleadimage. На Plone 5 или, если вы используете содержимое, основанное на ловкости, вы должны добавить новое поле изображения в свою схему.
Комментарии:
1. Хорошо, спасибо за ответ… Я установил его сейчас, потому что я использую Plone 4. Но, извините за мое невежество (я новичок в plone- извините), как я могу отобразить изображение в документе сейчас? Я пробовал кое-что, но это не сработало. Спасибо.
2. @C.E.Petersson изображение из contentleadimage автоматически отображается в viewlet. Вы правильно настроили надстройку?
3. должен ли я настроить что-нибудь другое? Я сделал то же самое, что он всегда говорит делать … добавив некоторые вещи в build.cfg, а затем выполнив его. Но оно не показывает изображение.
4. Я также поддержал этот ответ, потому что в случае, если у вас есть пользовательский тип содержимого, это был бы лучший ответ.
Ответ №2:
Единственное, что мне понравилось, это вместо создания «страниц» я переключил его на «новости».