kopia lustrzana https://github.com/wagtail/wagtail
Fix #4785 Wagtail Sitemaps does not allow for Django Sitemap instances
rodzic
e5f9c122ab
commit
12ac86217a
|
@ -31,6 +31,7 @@ Changelog
|
|||
* Fix: Refactor all breakpoint definitions, removing style overlaps (Janneke Janssen)
|
||||
* Fix: Updated draftjs_exporter to 2.1.5 to fix bug in handling adjacent entities (Thibaud Colas)
|
||||
* Fix: Page titles consisting only of stopwords now generate a non-empty default slug (Andy Chosak, Janneke Janssen)
|
||||
* Fix: Sitemap generator now allows passing a sitemap instance in the URL configuration (Mitchel Cabuloy, Dan Braghis)
|
||||
|
||||
|
||||
2.3 LTS (23.10.2018)
|
||||
|
|
|
@ -55,6 +55,7 @@ Bug fixes
|
|||
* Refactor all breakpoint definitions, removing style overlaps (Janneke Janssen)
|
||||
* Updated draftjs_exporter to 2.1.5 to fix bug in handling adjacent entities (Thibaud Colas)
|
||||
* Page titles consisting only of stopwords now generate a non-empty default slug (Andy Chosak, Janneke Janssen)
|
||||
* Sitemap generator now allows passing a sitemap instance in the URL configuration (Mitchel Cabuloy, Dan Braghis)
|
||||
|
||||
|
||||
Upgrade considerations
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import inspect
|
||||
from django.contrib.sitemaps import views as sitemap_views
|
||||
|
||||
from .sitemap_generator import Sitemap
|
||||
|
@ -20,7 +21,7 @@ def prepare_sitemaps(request, sitemaps):
|
|||
"""Intialize the wagtail Sitemap by passing the request.site value. """
|
||||
initialised_sitemaps = {}
|
||||
for name, sitemap_cls in sitemaps.items():
|
||||
if issubclass(sitemap_cls, Sitemap):
|
||||
if inspect.isclass(sitemap_cls) and issubclass(sitemap_cls, Sitemap):
|
||||
initialised_sitemaps[name] = sitemap_cls(request)
|
||||
else:
|
||||
initialised_sitemaps[name] = sitemap_cls
|
||||
|
|
|
@ -27,6 +27,7 @@ from wagtail.contrib.forms.forms import FormBuilder
|
|||
from wagtail.contrib.forms.models import (
|
||||
FORM_FIELD_CHOICES, AbstractEmailForm, AbstractFormField, AbstractFormSubmission)
|
||||
from wagtail.contrib.settings.models import BaseSetting, register_setting
|
||||
from wagtail.contrib.sitemaps import Sitemap
|
||||
from wagtail.contrib.table_block.blocks import TableBlock
|
||||
from wagtail.core.blocks import CharBlock, RichTextBlock, StructBlock
|
||||
from wagtail.core.fields import RichTextField, StreamField
|
||||
|
@ -364,6 +365,11 @@ class SingleEventPage(EventPage):
|
|||
SingleEventPage.content_panels = [FieldPanel('excerpt')] + EventPage.content_panels
|
||||
|
||||
|
||||
# "custom" sitemap object
|
||||
class EventSitemap(Sitemap):
|
||||
pass
|
||||
|
||||
|
||||
# Event index (has a separate AJAX template, and a custom template context)
|
||||
class EventIndex(Page):
|
||||
intro = RichTextField(blank=True)
|
||||
|
|
|
@ -12,6 +12,7 @@ from wagtail.images import urls as wagtailimages_urls
|
|||
from wagtail.images.api.v2.endpoints import ImagesAPIEndpoint
|
||||
from wagtail.images.tests import urls as wagtailimages_test_urls
|
||||
from wagtail.tests.testapp import urls as testapp_urls
|
||||
from wagtail.tests.testapp.models import EventSitemap
|
||||
|
||||
api_router = WagtailAPIRouter('wagtailapi_v2')
|
||||
api_router.register_endpoint('pages', PagesAPIEndpoint)
|
||||
|
@ -29,7 +30,7 @@ urlpatterns = [
|
|||
url(r'^sitemap\.xml$', sitemaps_views.sitemap),
|
||||
|
||||
url(r'^sitemap-index\.xml$', sitemaps_views.index, {
|
||||
'sitemaps': {'pages': Sitemap},
|
||||
'sitemaps': {'pages': Sitemap, 'events': EventSitemap(request=None)},
|
||||
'sitemap_url_name': 'sitemap',
|
||||
}),
|
||||
url(r'^sitemap-(?P<section>.+)\.xml$', sitemaps_views.sitemap, name='sitemap'),
|
||||
|
|
Ładowanie…
Reference in New Issue