На странице добавления новой страницы Plone я хочу предложить заголовок пользователю, полученному из названия папки, добавив его в поле формы заголовка. Какова наилучшая практика реализации этого поведения в моем экземпляре Plone?Предложить название страницы пользователям
2
A
ответ
0
Вы можете monkeypatch или подкласс Basic metadata
поведения, чтобы изменить поведение _get_title: https://github.com/plone/plone.app.dexterity/blob/master/plone/app/dexterity/behaviors/metadata.py#L350-L351
1
3
Альтернативное решение может быть использование Javascript, соответственно JQuery:
(function($) { $(document).ready(function() {
// A Dexterity-based document is added:
if(window.location.href.endsWith('/++add++Document')) {
// Grab the parent's title of the current title-tag's content:
var title = $('title')[0].innerHTML.split(' — ')[0]
// Prefill the new document's title-field with the parent's title:
$('#form-widgets-IDublinCore-title').val(title)
}
// An Archetypes-based document is added:
if(window.location.href.indexOf('/portal_factory/Document/') > -1) {
var parentUrl= document.referrer
var parentTitleEleId = 'parent-fieldname-title'
// Provide ele to load parent's title into:
var loadEle = document.createElement('span')
// Load parent's title into ele:
$(loadEle).load(parentUrl + ' #' + parentTitleEleId, function() {
// After loading finished, fetch parent-title of ele, remove
// trailing spaces and set it into the new doc's title-field:
$('#title').val(loadEle.childNodes[0].innerHTML.trim())
// Thy had served y'er purpose, vanish:
loadEle.remove()
});
}
});})(jQuery);
Смежные вопросы
- 1. показать название узла незарегистрированным пользователям
- 2. Позволяет пользователям создавать страницы
- 3. Предложить пользователям, основанным на общих интересах - MySql query
- 4. Как получить название сайта и название страницы веб-страницы
- 5. Название сайта показывает название страницы в WP
- 6. Название страницы аналитики Google
- 7. WordPress - название страницы
- 8. Название страницы внутри шаблона?
- 9. ASP.NET/C# Название страницы
- 10. получить название страницы PDF
- 11. Изменение неактивной страницы 'Название'
- 12. Php - название страницы частей
- 13. название веб-страницы
- 14. Как запретить пользователям перемещать страницы?
- 15. Django ограничивает страницы определенным пользователям
- 16. Название страницы Umbraco вместо id страницы
- 17. Wordpress: название страницы Появляется дважды
- 18. Как сохранить название тестируемой страницы
- 19. Попытка сделать название страницы notifcation
- 20. Joomla название страницы (показано дважды)
- 21. название страницы получает всегда null
- 22. Название страницы показывает "title | sitename"
- 23. Изменить название страницы в гобелене
- 24. Xamarin.Forms.WebView - получить название отображаемой страницы?
- 25. Название страницы в ui routing
- 26. Предыдущее название страницы в asp.net
- 27. Loop Change Название страницы JavaScript
- 28. liferay изменение название страницы динамически
- 29. Safari iOS - изменить название страницы
- 30. Укажите название страницы в вязах?
Не могли бы вы попробовать JS-решение, что-то неясно, какие препятствия? Для меня, например, препятствие с Plone-5 было бы, как просто добавить JS/CSS-файл ... –
Если человек, который попросил, может помочь нам улучшить наши ответы, это было бы хорошо. –
Итак, я попытался решить проблему с предложением исправления Monkey, просто потому, что у меня нет опыта использования Javascript вообще. Обезьяна, исправляющая функцию _get_title, как предложено, работает только в «edit» -form, «add» -form не вызывает эту функцию. Поэтому нужна специальная форма. Также предложенный заголовок в форме редактирования не будет сохранен, если пользователь не изменяет его, что является еще одной проблемой. В-третьих, у меня есть проблема с получением названия папки. Я попытался вызвать _get_title в папке, но, похоже, ничего не возвращает – Waynebird