Browse Source

finalize the news plugin

Olivier Massot 5 years ago
parent
commit
92177e574f
24 changed files with 121 additions and 2020 deletions
  1. 38 0
      ot_templating/Configuration/TypoScript/setup.txt
  2. 7 14
      ot_templating/Resources/Private/Layouts/Classic/News.html
  3. 19 26
      ot_templating/Resources/Private/Layouts/Modern/News.html
  4. 33 0
      ot_templating/Resources/Public/assets/Classic/style/module/_news.scss
  5. 0 1980
      ot_templating/Resources/Public/assets/Classic/style/style.css
  6. 0 0
      ot_templating/Resources/Public/assets/Classic/style/style.css.map
  7. 1 0
      ot_templating/Resources/Public/assets/Classic/style/style.scss
  8. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-blue.css
  9. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-blue.css.map
  10. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-green.css
  11. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-green.css.map
  12. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-grey.css
  13. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-grey.css.map
  14. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-light-blue.css
  15. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-light-blue.css.map
  16. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-light-red.css
  17. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-light-red.css.map
  18. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-orange.css
  19. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-orange.css.map
  20. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-purple.css
  21. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-purple.css.map
  22. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-red.css
  23. 0 0
      ot_templating/Resources/Public/assets/Classic/style/theme-red.css.map
  24. 23 0
      ot_templating/Resources/Public/assets/Modern/style/custom.css

+ 38 - 0
ot_templating/Configuration/TypoScript/setup.txt

@@ -169,3 +169,41 @@ lib.tx_ottemplating.widgets.contact {
     }
     settings.persistenceIdentifier = EXT:ot_templating/Resources/Private/Forms/Contact.form.yaml
 }
+
+# * News extension
+# @see https://docs.typo3.org/p/georgringer/news/master/en-us/Introduction/Index.html
+
+# create the list and the details objects
+# they can be added to a template with:
+#    <f:cObject typoscriptObjectPath="lib.tx_ottemplating.widgets.news_list" />
+#    <f:cObject typoscriptObjectPath="lib.tx_ottemplating.widgets.news_detail" />
+lib.tx_ottemplating.widgets {
+    news_list = USER
+    news_list {
+        userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
+        extensionName = News
+        pluginName = Pi1
+        vendorName = GeorgRinger
+        action = list
+        switchableControllerActions {
+            News {
+                1 = list
+            }
+        }
+
+        settings < plugin.tx_news.settings
+        settings {
+            # settings for the news.list plugin
+            # @see https://docs.typo3.org/p/georgringer/news/master/en-us/AdministratorManual/Configuration/TypoScript/#
+            list.paginate {
+                insertAbove = 0
+            }
+        }
+    }
+
+    news_detail < lib.tx_ottemplating.widgets.news_list
+    news_detail {
+        action = detail
+        switchableControllerActions.News.1 = detail
+    }
+}

+ 7 - 14
ot_templating/Resources/Private/Layouts/Classic/News.html

@@ -7,23 +7,20 @@
 <f:comment><!-- Render the header defined in partial/header.html--></f:comment>
 <f:render partial="Classic/Header" arguments="{_all}" />
 
-<v:variable.set name="request"
-                value="{ot:request.get()}" />
+<v:variable.set name="request" value="{ot:request.get()}" />
 
 <div class="main">
     <f:comment><!-- Central column --></f:comment>
     <div class="content">
-        <div class="news-section">
 
+        <f:comment><!-- All news or details --></f:comment>
+        <h2>Actualités</h2>
+
+        <div class="ot-news">
             <f:if condition="{request.tx_news_pi1.news}">
                 <f:then>
                     <f:comment><!-- a news was required, show details --></f:comment>
-
-                    <v:render.request extensionName="News"
-                                      vendorName="GeorgRinger"
-                                      controller="News"
-                                      action="detail"
-                                      arguments="{news: request.tx_news_pi1.news}" />
+                    <f:cObject typoscriptObjectPath="lib.tx_ottemplating.widgets.news_detail" />
 
                     <f:link.page>
                         Revenir à la liste des actualités
@@ -32,11 +29,7 @@
                 </f:then>
                 <f:else>
                     <f:comment><!-- no news was required, show list --></f:comment>
-                    <v:render.request extensionName="News"
-                                      vendorName="GeorgRinger"
-                                      controller="News"
-                                      action="list"
-                                      arguments="{overwriteDemand: {limit: 9}}" />
+                    <f:cObject typoscriptObjectPath="lib.tx_ottemplating.widgets.news_list" />
                 </f:else>
             </f:if>
 

+ 19 - 26
ot_templating/Resources/Private/Layouts/Modern/News.html

@@ -4,42 +4,35 @@
 <f:comment><!-- Special layout for the Members page --></f:comment>
 <f:layout name="News" />
 
+<v:variable.set name="request" value="{ot:request.get()}" />
+
 <section class="t-container st-effect-3">
     <div class="wrapper">
 
         <f:comment><!-- Render the header defined in partial/header.html--></f:comment>
         <f:render partial="Modern/Header" arguments="{_all}" />
 
-
         <section class="page-section-ptb">
             <div class="container">
                 <div class="row">
                     <div class="col-sm-12 mt-30">
-
-                        <f:if condition="{request.tx_news_pi1.news}">
-                            <f:then>
-                                <f:comment><!-- a news was required, show details --></f:comment>
-
-                                <v:render.request extensionName="News"
-                                                  vendorName="GeorgRinger"
-                                                  controller="News"
-                                                  action="detail"
-                                                  arguments="{news: request.tx_news_pi1.news}" />
-
-                                <f:link.page>
-                                    Revenir à la liste des actualités
-                                </f:link.page>
-
-                            </f:then>
-                            <f:else>
-                                <f:comment><!-- no news was required, show list --></f:comment>
-                                <v:render.request extensionName="News"
-                                                  vendorName="GeorgRinger"
-                                                  controller="News"
-                                                  action="list"
-                                                  arguments="{overwriteDemand: {limit: 9}}" />
-                            </f:else>
-                        </f:if>
+                        <f:comment><!-- All news or details --></f:comment>
+                        <h2>Actualités</h2>
+
+                        <div class="ot-news">
+                            <f:if condition="{request.tx_news_pi1.news}">
+                                <f:then>
+                                    <f:comment><!-- a news was required, show details --></f:comment>
+                                    <f:cObject typoscriptObjectPath="lib.tx_ottemplating.widgets.news_detail" />
+
+                                    <f:link.page>Revenir à la liste des actualités</f:link.page>
+                                </f:then>
+                                <f:else>
+                                    <f:comment><!-- no news was required, show list --></f:comment>
+                                    <f:cObject typoscriptObjectPath="lib.tx_ottemplating.widgets.news_list" />
+                                </f:else>
+                            </f:if>
+                        </div>
 
                     </div>
                 </div>

+ 33 - 0
ot_templating/Resources/Public/assets/Classic/style/module/_news.scss

@@ -0,0 +1,33 @@
+// News plugin (list and details)
+$content-a-color: $content-a-color;
+
+.ot-news {
+  margin: 48px;
+}
+
+.ot-news .article {
+  max-width: 640px;
+}
+
+.ot-news .header {
+  margin-bottom: 12px;
+}
+
+.ot-news .header a {
+  font-weight: bold;
+  color: #363636;
+}
+
+.ot-news .header a:hover {
+  font-weight: bold;
+  color: $content-a-color;
+  text-decoration: none;
+}
+
+.ot-news .page-navigation {
+  font-size: 16px;
+}
+
+.ot-news .f3-widget-paginator li {
+  margin-left: 4px;
+}

File diff suppressed because it is too large
+ 0 - 1980
ot_templating/Resources/Public/assets/Classic/style/style.css


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/style.css.map


+ 1 - 0
ot_templating/Resources/Public/assets/Classic/style/style.scss

@@ -93,6 +93,7 @@ $warning-font-color: #ffffff !default;
 "module/_structures",
 "module/_sitemap",
 "module/_forms",
+"module/_news",
 "module/_contact",
 "module/_faq",
 "module/_fce-2col",

File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-blue.css


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-blue.css.map


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-green.css


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-green.css.map


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-grey.css


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-grey.css.map


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-light-blue.css


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-light-blue.css.map


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-light-red.css


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-light-red.css.map


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-orange.css


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-orange.css.map


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-purple.css


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-purple.css.map


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-red.css


File diff suppressed because it is too large
+ 0 - 0
ot_templating/Resources/Public/assets/Classic/style/theme-red.css.map


+ 23 - 0
ot_templating/Resources/Public/assets/Modern/style/custom.css

@@ -397,6 +397,29 @@
         margin-bottom: 12px;
     }
 
+    /*------------------------
+    News
+    ------------------------*/
+    .ot-news {
+        padding: 48px;
+    }
+
+    .ot-news .article {
+        max-width: 640px;
+    }
+
+    .ot-news .header {
+        margin-bottom: 12px;
+    }
+
+    .ot-news .page-navigation {
+        font-size: 16px;
+    }
+
+    .ot-news .f3-widget-paginator li {
+        margin-left: 4px;
+    }
+
 /*============================
     CORRECTIFS
 ==============================

Some files were not shown because too many files changed in this diff