-
+ "
+ tal:condition="elements"
+>
+
\ No newline at end of file
+
diff --git a/src/cs_dynamicpages/views/configure.zcml b/src/cs_dynamicpages/views/configure.zcml
index 15a3539..931c9f1 100644
--- a/src/cs_dynamicpages/views/configure.zcml
+++ b/src/cs_dynamicpages/views/configure.zcml
@@ -2,28 +2,29 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:plone="http://namespaces.plone.org/plone"
+ xmlns:zcml="http://namespaces.zope.org/zcml"
i18n_domain="cs_dynamicpages"
>
+ name="view"
+ for="cs_dynamicpages.content.dynamic_page_row_featured.IDynamicPageRowFeatured"
+ class=".dynamic_page_row_featured_view.DynamicPageRowFeaturedView"
+ template="dynamic_page_row_featured_view.pt"
+ permission="zope2.View"
+ layer="cs_dynamicpages.interfaces.IBrowserLayer"
+ />
+ name="view"
+ for="cs_dynamicpages.content.dynamic_page_folder.IDynamicPageFolder"
+ class=".dynamic_page_folder_view.DynamicPageFolderView"
+ template="dynamic_page_folder_view.pt"
+ permission="zope2.View"
+ layer="cs_dynamicpages.interfaces.IBrowserLayer"
+ />
@@ -98,6 +102,7 @@
diff --git a/src/cs_dynamicpages/views/dynamic_page_folder_view.pt b/src/cs_dynamicpages/views/dynamic_page_folder_view.pt
index 5a0d62b..ea6bf9d 100644
--- a/src/cs_dynamicpages/views/dynamic_page_folder_view.pt
+++ b/src/cs_dynamicpages/views/dynamic_page_folder_view.pt
@@ -1,34 +1,40 @@
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
-
-
-
- View dynamic page
-
-
+
+
+
+
+
+
+ View dynamic page
+
+
-
-
-
+
+
+
-
\ No newline at end of file
+
diff --git a/src/cs_dynamicpages/views/dynamic_page_folder_view.py b/src/cs_dynamicpages/views/dynamic_page_folder_view.py
index f8596ad..d58cd86 100644
--- a/src/cs_dynamicpages/views/dynamic_page_folder_view.py
+++ b/src/cs_dynamicpages/views/dynamic_page_folder_view.py
@@ -1,14 +1,14 @@
-# -*- coding: utf-8 -*-
-
# from cs_dynamicpages import _
from Products.Five.browser import BrowserView
from zope.interface import implementer
from zope.interface import Interface
+
# from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
+
class IDynamicPageFolderView(Interface):
- """ Marker Interface for IDynamicPageFolderView"""
+ """Marker Interface for IDynamicPageFolderView"""
@implementer(IDynamicPageFolderView)
diff --git a/src/cs_dynamicpages/views/dynamic_page_row_featured_view.pt b/src/cs_dynamicpages/views/dynamic_page_row_featured_view.pt
index 980e00f..78af5c0 100644
--- a/src/cs_dynamicpages/views/dynamic_page_row_featured_view.pt
+++ b/src/cs_dynamicpages/views/dynamic_page_row_featured_view.pt
@@ -1,25 +1,29 @@
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
\ No newline at end of file
+
diff --git a/src/cs_dynamicpages/views/dynamic_page_row_featured_view.py b/src/cs_dynamicpages/views/dynamic_page_row_featured_view.py
index 0dd9585..84422a9 100644
--- a/src/cs_dynamicpages/views/dynamic_page_row_featured_view.py
+++ b/src/cs_dynamicpages/views/dynamic_page_row_featured_view.py
@@ -1,14 +1,14 @@
-# -*- coding: utf-8 -*-
-
# from cs_dynamicpages import _
from Products.Five.browser import BrowserView
from zope.interface import implementer
from zope.interface import Interface
+
# from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
+
class IDynamicPageRowFeaturedView(Interface):
- """ Marker Interface for IDynamicPageRowFeaturedView"""
+ """Marker Interface for IDynamicPageRowFeaturedView"""
@implementer(IDynamicPageRowFeaturedView)
diff --git a/src/cs_dynamicpages/views/dynamic_page_row_view.pt b/src/cs_dynamicpages/views/dynamic_page_row_view.pt
index 7eb711f..38f6aae 100644
--- a/src/cs_dynamicpages/views/dynamic_page_row_view.pt
+++ b/src/cs_dynamicpages/views/dynamic_page_row_view.pt
@@ -1,26 +1,29 @@
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
\ No newline at end of file
+
diff --git a/src/cs_dynamicpages/views/dynamic_page_row_view.py b/src/cs_dynamicpages/views/dynamic_page_row_view.py
index df39bd6..a15d1ea 100644
--- a/src/cs_dynamicpages/views/dynamic_page_row_view.py
+++ b/src/cs_dynamicpages/views/dynamic_page_row_view.py
@@ -3,6 +3,7 @@
from zope.interface import implementer
from zope.interface import Interface
+
# from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
diff --git a/src/cs_dynamicpages/views/dynamic_view.pt b/src/cs_dynamicpages/views/dynamic_view.pt
index 983a03e..2c78757 100644
--- a/src/cs_dynamicpages/views/dynamic_view.pt
+++ b/src/cs_dynamicpages/views/dynamic_view.pt
@@ -1,158 +1,248 @@
-
+
-
-
-
-
-
-
-
-
-
-
diff --git a/src/cs_dynamicpages/views/featured_view.pt b/src/cs_dynamicpages/views/featured_view.pt
index 915d80b..839626b 100644
--- a/src/cs_dynamicpages/views/featured_view.pt
+++ b/src/cs_dynamicpages/views/featured_view.pt
@@ -1,23 +1,35 @@
+ image view/related_image;
+ "
+ tal:condition="image"
+ >
+ title=image.Title())"
+ />
+ tal:attributes="
+ class python:context.image_position=='right' and 'col-md-6 order-first' or 'col-md-6';
+ "
+ >
${context/Title}
${context/Description}
-
+
- ${context/link_text}
+ ${context/link_text}
-
\ No newline at end of file
+
diff --git a/src/cs_dynamicpages/views/featured_view.py b/src/cs_dynamicpages/views/featured_view.py
index 0f6e7c5..ae977c9 100644
--- a/src/cs_dynamicpages/views/featured_view.py
+++ b/src/cs_dynamicpages/views/featured_view.py
@@ -1,7 +1,7 @@
# from cs_dynamicpages import _
+from cs_dynamicpages.views.dynamic_page_row_view import DynamicPageRowView
from zope.interface import implementer
from zope.interface import Interface
-from cs_dynamicpages.views.dynamic_page_row_view import DynamicPageRowView
class IFeaturedView(Interface):
diff --git a/src/cs_dynamicpages/views/features_view.pt b/src/cs_dynamicpages/views/features_view.pt
index c85ec5d..664903b 100644
--- a/src/cs_dynamicpages/views/features_view.pt
+++ b/src/cs_dynamicpages/views/features_view.pt
@@ -1,32 +1,50 @@
-
-
+ "
+ tal:condition="elements"
+>
+
+ element brain/getObject;
+ ">
+ image element/related_image_object;
+ "
+ tal:condition="image"
+ tal:on-error="nothing"
+ >
+ title=element.Title())"
+ />
-
${element/Title}
-
${element/Title}
-
${element/Description}
-
+ ${element/Title}
+ ${element/Title}
+ ${element/Description}
+
-
\ No newline at end of file
+
diff --git a/src/cs_dynamicpages/views/horizontal_rule_view.pt b/src/cs_dynamicpages/views/horizontal_rule_view.pt
index 84af8ad..af383ee 100644
--- a/src/cs_dynamicpages/views/horizontal_rule_view.pt
+++ b/src/cs_dynamicpages/views/horizontal_rule_view.pt
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/src/cs_dynamicpages/views/query_columns_view.pt b/src/cs_dynamicpages/views/query_columns_view.pt
index 5b11405..5c23d4e 100644
--- a/src/cs_dynamicpages/views/query_columns_view.pt
+++ b/src/cs_dynamicpages/views/query_columns_view.pt
@@ -1,6 +1,8 @@
-
+
${context/Title}
@@ -11,21 +13,32 @@
+ "
+ tal:condition="image"
+ tal:on-error="nothing"
+ >
+ title=element.Title())"
+ />
-
${element/Title}
-
-
+
${element/Title}
+
+
${element/Description}
@@ -36,7 +49,9 @@
-
\ No newline at end of file
+
diff --git a/src/cs_dynamicpages/views/query_columns_view.py b/src/cs_dynamicpages/views/query_columns_view.py
index 5ae8b6d..29a923a 100644
--- a/src/cs_dynamicpages/views/query_columns_view.py
+++ b/src/cs_dynamicpages/views/query_columns_view.py
@@ -1,8 +1,9 @@
# from cs_dynamicpages import _
+from cs_dynamicpages.views.dynamic_page_row_view import DynamicPageRowView
from plone.app.contenttypes.browser.collection import CollectionView
from zope.interface import implementer
from zope.interface import Interface
-from cs_dynamicpages.views.dynamic_page_row_view import DynamicPageRowView
+
# from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
diff --git a/src/cs_dynamicpages/views/slider_view.pt b/src/cs_dynamicpages/views/slider_view.pt
index bad68cb..7892d95 100644
--- a/src/cs_dynamicpages/views/slider_view.pt
+++ b/src/cs_dynamicpages/views/slider_view.pt
@@ -1,44 +1,74 @@
-
+ "
+ tal:condition="elements"
+>
-
+
-
+ "
+ >
+ "
+ tal:condition="image"
+ >
+ title=image.Title())"
+ />
-
\ No newline at end of file
+
diff --git a/src/cs_dynamicpages/views/slider_view.py b/src/cs_dynamicpages/views/slider_view.py
index ca22b3e..1ce0fd2 100644
--- a/src/cs_dynamicpages/views/slider_view.py
+++ b/src/cs_dynamicpages/views/slider_view.py
@@ -1,8 +1,8 @@
# from cs_dynamicpages import _
+from cs_dynamicpages.views.dynamic_page_row_view import DynamicPageRowView
from plone import api
from zope.interface import implementer
from zope.interface import Interface
-from cs_dynamicpages.views.dynamic_page_row_view import DynamicPageRowView
class ISliderView(Interface):
diff --git a/src/cs_dynamicpages/views/spacer_view.pt b/src/cs_dynamicpages/views/spacer_view.pt
index ae4bf27..903b036 100644
--- a/src/cs_dynamicpages/views/spacer_view.pt
+++ b/src/cs_dynamicpages/views/spacer_view.pt
@@ -1,2 +1,2 @@
-
\ No newline at end of file
+
diff --git a/src/cs_dynamicpages/views/text_view.pt b/src/cs_dynamicpages/views/text_view.pt
index c739948..fd65f8d 100644
--- a/src/cs_dynamicpages/views/text_view.pt
+++ b/src/cs_dynamicpages/views/text_view.pt
@@ -1,4 +1,6 @@
-
-
-
\ No newline at end of file
+
+
+
diff --git a/src/cs_dynamicpages/vocabularies/configure.zcml b/src/cs_dynamicpages/vocabularies/configure.zcml
index 4db2909..74e9b6b 100644
--- a/src/cs_dynamicpages/vocabularies/configure.zcml
+++ b/src/cs_dynamicpages/vocabularies/configure.zcml
@@ -2,16 +2,16 @@
-