]> _ Git - fluidbook-v3.git/commitdiff
WIP #3641 @7
authorstephen@cubedesigners.com <stephen@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Wed, 20 May 2020 17:16:21 +0000 (17:16 +0000)
committerstephen@cubedesigners.com <stephen@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Wed, 20 May 2020 17:16:21 +0000 (17:16 +0000)
framework/application/controllers/AdminajaxController.php
framework/application/forms/CMS/Blog.php
framework/application/forms/CMS/Sub/Blog/ContentBlock.php
framework/application/forms/CMS/Sub/Blog/Post.php
framework/application/models/Blog.php
framework/application/views/helpers/BlogIndex.php
framework/application/views/scripts/templates/blog.phtml

index 69984187ddc24f011189307668157064b6657b28..baac21269d7ac4e6ed48355164a8a24a47b1a253 100644 (file)
@@ -2,6 +2,15 @@
 
 class AdminajaxController extends CubeIT_Controller_Admin_AdminajaxController {
 
+    // Make sure navigation URLs are updated when saving blog articles
+    public function saveselectlist($class, $element, $dataFilters, $reloadOnSave = false) {
+
+        $this->clearCacheTag('navigation');
+        $this->clearCacheTag('contents');
+
+        return parent::saveselectlist($class, $element, $dataFilters, $reloadOnSave);
+    }
+
 }
 
 ?>
index 8e1ddeb787c76f50bc3280199dd59ec47f1c524c..d1f503e631eba810a81bcc682859144e92475740 100644 (file)
@@ -4,6 +4,8 @@ class Fluidbook_Form_CMS_Blog extends Fluidbook_Form_CMS_Base {
        public function init() {\r
                parent::init();\r
 \r
+               $this->removeSubForm('intro');\r
+\r
                $blog = new Fluidbook_Form_CMS_Element_BlogPosts('blog_posts');\r
                $blog->setLabel('Blog Posts');\r
                $this->addElement($blog);\r
index d7b7ee84fb666af6c1c1e79371a04105b9b292f9..c65b556c2784c5512fcabd5815998e2ad7ee21a4 100644 (file)
@@ -37,5 +37,10 @@ class Fluidbook_Form_CMS_Sub_Blog_ContentBlock extends CubeIT_Form_SubForm {
               ->setAttrib('data-type', 'image'); // Shown when "image" content type is selected
         $this->addElementLocalized($image, $compact_translations);
 
+        $image_caption = new Zend_Form_Element_Text('image_caption');
+        $image_caption->setLabel('Image caption')
+                      ->setAttrib('data-type', 'image');
+        $this->addElementLocalized($image_caption, $compact_translations);
+
     }
 }
index 34ccdc5305dadee2bf29749a252b4d83e296d1de..db334594543d2ba2be37b1abd2245abf84744b50 100644 (file)
@@ -27,13 +27,31 @@ class Fluidbook_Form_CMS_Sub_Blog_Post extends CubeIT_Form_List_Model
         $this->addElementLocalized($title, $compact_translations);
 
         $excerpt = new CubeIT_Form_Element_Markitup('excerpt');
-        $excerpt->setLabel(__('Excerpt'));
+        $excerpt->setLabel(__('Intro Excerpt'));
         $this->addElementLocalized($excerpt, $compact_translations);
 
-        $thumbnail = new CubeIT_Form_Element_File_Image('thumbnail');
-        $thumbnail->setLabel(__('Post Thumbnail'));
-        $thumbnail->setMaxItems(1);
-        $this->addElement($thumbnail);
+        $intro_image = new CubeIT_Form_Element_File_Image('intro_image');
+        $intro_image->setLabel(__('Intro Image'));
+        $intro_image->setMaxItems(1);
+        $this->addElement($intro_image);
+
+        $intro_text_color = new Zend_Form_Element_Select('intro_text_color');
+        $intro_text_color->setLabel('Intro Text Colour')
+            ->setMultiOptions([
+                'light' => 'Light',
+                'dark' => 'Dark',
+            ]);
+        $this->addElement($intro_text_color);
+
+        $intro_gradient_start = new CubeIT_Form_Element_Color('intro_gradient_start');
+        $intro_gradient_start->setLabel('Intro Gradient Start')
+                             ->setValue('#0e1f31');
+        $this->addElement($intro_gradient_start);
+
+        $intro_gradient_end = new CubeIT_Form_Element_Color('intro_gradient_end');
+        $intro_gradient_end->setLabel('Intro Gradient End')
+                           ->setValue('#2f5377');
+        $this->addElement($intro_gradient_end);
 
         $content = new Fluidbook_Form_CMS_Sub_Blog_ContentBlocks();
         $content->setLegend('Content Blocks');
index 3c49dc9f85eb52202da9aa3ae2d7d30395c6ce10..72771b6c13c2454d49cf2ec86a509e5ce0954433 100644 (file)
@@ -6,7 +6,10 @@ class Fluidbook_Model_Blog extends CubeIT_Model_Data_Table
 \r
     protected $title;\r
     protected $excerpt;\r
-    protected $thumbnail;\r
+    protected $intro_image;\r
+    protected $intro_gradient_start;\r
+    protected $intro_gradient_end;\r
+    protected $intro_text_color;\r
     protected $content;\r
     protected $publish_date;\r
     protected $author_id;\r
@@ -20,7 +23,10 @@ class Fluidbook_Model_Blog extends CubeIT_Model_Data_Table
         $table = parent::getSchema($schema);\r
         $table->addColumn('title', 'string', ['length' => 255]);\r
         $table->addColumn('excerpt', 'text');\r
-        $table->addColumn('thumbnail', 'text');\r
+        $table->addColumn('intro_image', 'text');\r
+        $table->addColumn('intro_gradient_start', 'string', ['length' => 7]); // Hex code\r
+        $table->addColumn('intro_gradient_end', 'string', ['length' => 7]); // Hex code\r
+        $table->addColumn('intro_text_color', 'string', ['length' => 7]); // light|dark\r
         $table->addColumn('content', 'text');\r
         $table->addColumn('publish_date', 'datetime');\r
         $table->addColumn('author_id', 'integer', ['unsigned' => true]);\r
@@ -28,18 +34,4 @@ class Fluidbook_Model_Blog extends CubeIT_Model_Data_Table
         return $table;\r
     }\r
 \r
-    public function getThumbnailHTML($width, $height, $class) {\r
-\r
-        $this->view = Zend_Controller_Action_HelperBroker::getExistingHelper('ViewRenderer')->view;\r
-\r
-        $img = $this->view->imageProcess($this->getThumbnail(), '', $width, $height, ['class' => $class]);\r
-\r
-        // Fallback to other uploaded images if no thumbnail is set\r
-        if (!$img) {\r
-            $img = '<div class="blog-featured-image blog-featured-image-empty"></div>';\r
-        }\r
-\r
-        return $img;\r
-    }\r
-\r
 }\r
index 5ab92de9a4785a2bfe9195a6993e78e3384cad97..4366e460b41f36d75ef492f5d5f16d7c807a5710 100644 (file)
@@ -22,10 +22,11 @@ class Fluidbook_View_Helper_BlogIndex extends CubeIT_View_Helper_Abstract {
 \r
         $URL = CubeIT_Navigation_Page::generateAutoUri($post, Bootstrap::getBlogPostURLTemplate());\r
 \r
-        $img = $post->getThumbnailHTML(247, 247, 'blog-featured-image');\r
+        $img = $this->view->imageCms($post->getIntroImage(), $post->getTitle(), null, null, ['class' => 'blog-hero-image']);\r
 \r
         $res  = $this->link($img, $URL);\r
-        $res .= $this->dateTime($post->getPublishDate(), CubeIT_Date::DAY . '/' . CubeIT_Date::MONTH . '/' . CubeIT_Date::YEAR);\r
+        $res .= '<br/>';\r
+        $res .= $this->dateTime($post->getPublishDate(), CubeIT_Date::DAY .' '. CubeIT_Date::MONTH_NAME .' '. CubeIT_Date::YEAR);\r
         $res .= $this->link($this->htmlElement($post->getTitle(), 'h2'), $URL, ['class' => 'news-heading-link']);\r
         $res .= '<div class="acc">';\r
         $res .= $this->markupDotclear($post->getExcerpt());\r
index d2110f71255002202ff8a1e2f57a78dea9b51fd3..93cf2345f64ebc6a455ac9375e581e581031c2c9 100644 (file)
@@ -2,5 +2,5 @@
 
 $this->headScript()->addScriptAndStyle('610-blog');
 
-echo $this->introBlock($this->intro, $this->blogIndex());
+echo $this->blogIndex();
 echo $this->contactFooter();