$p = new CubeIT_Navigation_Page_Locale();
$p->setController('News');
- $p->setId($page->getId() . '/' . $r->id);
+ $p->setId('news/' . $r->id);
$p->setAutoUri($r, $URL_template);
$p->setSitemap($online);
$p->setTitle($pageTitle);
public function indexAction() {
- $this->view->headScript()->addSlickCarousel();
+ $this->view->headScript()->addSlickCarousel(true);
$this->view->headScript()->addScriptAndStyle('slick-lightbox');
$this->view->headScript()->addScriptAndStyle('news-article');
- $parent = $this->view->currentPage->getParent();
- $parent_data = $this->getBootstrap()->getCMSDatasOfNavigationPage($parent);
- $this->view->datas = $parent_data;
+ //$parent = $this->view->currentPage->getParent();
+ //$parent_data = $this->getBootstrap()->getCMSDatasOfNavigationPage($parent);
+ //$this->view->datas = $parent_data;
- $model = CCGM_Model_News::factory()->where('id = ?', $this->getRequest()->getParam('news_id'));
+
+ $model = CCGM_Model_News::factory()
+ ->order('date DESC')
+ ->where('id = ?', $this->getRequest()
+ ->getParam('news_id'));
$article = $model->find();
if (count($article) < 1) {
$article = reset($article);
$this->view->news = $article;
+ $this->view->headTitle($article->getTitle(), 'SET');
}
}
$content->setLabel(__('Contents'));\r
$this->addElement($content);\r
\r
+ $link = new CubeIT_Form_Element_Link();\r
+ $link->setLabel('Lien');\r
+ $this->addSubForm($link,'link');\r
+\r
$pdf = new CubeIT_Form_Element_File('pdf');\r
$pdf->setLabel('PDF à télécharger');\r
$pdf->setMaxItems(1);\r
$this->addElement($pdf);\r
\r
- $link = new CubeIT_Form_Element_Link();\r
- $link->setLabel('Lien');\r
- $this->addSubForm($link,'link');\r
-\r
$this->setListTitle(__('Actualités'));\r
$this->setNewTitle(__('Nouvelle actualité'));\r
$this->setEditTitle(__('Edition de l\'actualité « $date »'));\r
$video_list = trim($this->videos);
$videos = [];
- if (empty($video_list)) return false;
+ if (empty($video_list)) return $videos;
$video_URLs = explode(PHP_EOL, $video_list);
class CCGM_View_Helper_Actualites extends CubeIT_View_Helper_Abstract {\r
\r
public function actualites($actus) {\r
- $actus = CCGM_Model_News::factory()->order('date DESC')->find();\r
-\r
- $this->view->headScript()->addScriptAndStyle('actualites')\r
- ->addGSAP();\r
- $res = '<div class="updates">';\r
- $res .= '<div class="holder">';\r
- $res .= '<div class="mask">';\r
- $res .= '<div class="slideset">';\r
+ $actus = CCGM_Model_News::factory()\r
+ ->order('date DESC')\r
+ ->limit(5)\r
+ ->find();\r
+\r
+ $this->view->headScript()->addSlickCarousel(true);\r
+ $this->view->headScript()->addScriptAndStyle('home-news');\r
+ //$this->view->headScript()->addScriptAndStyle('actualites')->addGSAP();\r
+ $res = '<div class="home-news">';\r
+ $res .= '<div class="home-news-inner">';\r
+ $res .= '<h2 class="font-light text-3xl text-blue mb-6">Actualités</h2>';\r
+ $res .= '<div class="home-news-slider">';\r
foreach ($actus as $a) {\r
$res .= $this->_actu($a);\r
}\r
- $res .= '</div>';\r
- $res .= '</div>';\r
- $res .= '<div class="btn-area">';\r
- $res .= '<a class="btn-prev" title="Actualités plus récente" href="#"></a>';\r
- $res .= '<a class="btn-next" title="Actualités plus ancienne" href="#"></a>';\r
- $res .= $this->view->link('Voir les actualités', 'internal:news', ['class' => 'news']);\r
- $res .= '</div>';\r
- $res .= '</div>';\r
- $res .= '</div>';\r
+ $res .= '</div>'; // .home-news-slider\r
+ $res .= '</div>'; // .home-news-inner\r
+ $res .= '</div>'; // .home-news\r
return $res;\r
}\r
\r
protected function _actu($a) {\r
- $nline = 1;\r
\r
- $attrs = array('data-lines' => $nline);\r
-\r
- $res = '<div class="slide">';\r
- $p = '';\r
- $p .= $this->view->dateTime($a->getDate(), Zend_Date::DAY . '/' . Zend_Date::MONTH . '/' . Zend_Date::YEAR, array('class' => 'date')) . ' ';\r
- $p .= $a->getTitle();\r
- $res .= $this->view->htmlElement($p, 'p', $attrs);\r
- $res .= '</div>';\r
- return $res;\r
+ $URL = CubeIT_Navigation_Page::generateAutoUri($a, Bootstrap::getNewsArticleURLTemplate());\r
+ $img = $this->imageProcess($a->getImage(), '', 410, 266, ['class' => 'home-news-image']);\r
+\r
+ if (!$img) {\r
+ $img = '<div class="home-news-image home-news-image-empty"></div>';\r
+ }\r
+\r
+ $res = $this->link($img, $URL);\r
+ $res .= '<div class="home-news-article-content">';\r
+ $res .= $this->link($this->htmlElement($a->getTitle(), 'h2'), $URL, ['class' => 'home-news-heading-link']);\r
+ $res .= $this->markupDotclear($a->getExcerpt());\r
+ $res .= $this->link("Voir toute l'actualité >", 'internal:news', ['class' => 'home-news-read-more']);\r
+ $res .= '</div>'; // .home-news-article-content\r
+ $res = $this->htmlElement($res, 'article', ['class' => 'home-news-article']);\r
+ return $this->htmlElement($res, 'div', ['class' => 'home-news-item']);\r
}\r
\r
\r
\r
$URL = CubeIT_Navigation_Page::generateAutoUri($n, Bootstrap::getNewsArticleURLTemplate());\r
\r
- $img = $this->imageProcess($n->getImage(), '', 247, 247);\r
- $res = $img;\r
+\r
+ $img = $this->imageProcess($n->getImage(), '', 247, 247, ['class' => 'news-image']);\r
+\r
+ if (!$img) {\r
+ $img = '<div class="news-image news-image-empty"></div>';\r
+ }\r
+\r
+ $res = $this->link($img, $URL);\r
//$c = $this->dateTime($n->getDate(), CubeIT_Date::DAY . '/' . CubeIT_Date::MONTH . '/' . CubeIT_Date::YEAR);\r
- $c = $this->htmlElement($n->getTitle(), 'h2');\r
+ $c = $this->link($this->htmlElement($n->getTitle(), 'h2'), $URL, ['class' => 'news-heading-link']);\r
$c .= '<div class="acc">';\r
$c .= $this->markupDotclear($n->getExcerpt());\r
- $c .= $this->linkCMS($n->getLink());\r
$c .= '</div>';\r
$c .= $this->link('Lire la suite', $URL, ['class' => 'read-more']);\r
$res .= $this->htmlElement($c, 'div', ['class' => 'c']);\r
$aargs = [];\r
- if (!$img) {\r
- $aargs['class'] = 'noimg';\r
- }\r
return $this->htmlElement($res, 'article', $aargs);\r
}\r
}\r
$this->showsidebar = false;
$news = $this->news;
+$images = CubeIT_Util_Cms::unserialize($news->getImage());
+if (!$images) $images = [];
+
+$sharing_URL = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
+
?>
<h2 class="font-light text-pink mb-4 text-4xl">Actualités</h2>
<div class="news-slider">
- <?php foreach(CubeIT_Util_Cms::unserialize($news->getImage()) as $image): ?>
+ <?php foreach($images as $image): ?>
<?php $image_URL = $this->imageProcess($image, '', 980, null, [], 'C', 'C', 'M', false, 'auto', null, 92, 'files', true); ?>
<a href="<?= $image_URL ?>" target="_blank">
<img class="news-slider-image" src="<?= $image_URL ?>">
<?= $this->markupDotclear($news->getContent()); ?>
- <?= $this->linkCMS($news->getLink()); ?>
+ <?= $this->linkCMS($news->getLink(), ['class' => 'news-external-link mt-8']); ?>
+
+ <div class="news-actions">
+ <a href="http://www.facebook.com/sharer.php?u=<?= urlencode($sharing_URL) ?>" target="_blank" rel="noopener"><img src="/images/facebook.svg" alt="Facebook"></a>
+ <a href="https://twitter.com/share?url=<?= urlencode($sharing_URL) ?>&text=<?= urlencode($news->getTitle()) ?>" target="_blank" rel="noopener"><img src="/images/twitter.svg" alt="Twitter"></a>
+
+ <?php
+ if (CubeIT_Util_Cms::containFiles($news->getPdf())) {
+ echo $this->linkCMSFile('Télécharger le PDF', CubeIT_View_Helper_ImageCms::getPath($news->getPdf()), ['class' => 'news-pdf-link ml-4']);
+ }
+ ?>
+
+ </div>
</div>
--- /dev/null
+TO_LOAD_ONCE[TO_LOAD_ONCE.length] = 'load_home_news();';\r
+\r
+function load_home_news() {\r
+\r
+ $('.home-news-slider').slick({\r
+ slidesToShow: 1\r
+ });\r
+}\r
});
// Slider for lightbox
- $slider.each(function () {
- $(this).slickLightbox();
- });
+ $slider.slickLightbox();
}
};
})(this);
a = this.element.find(this.options.itemSelector);
+
+ console.log("AAAA", a);
+
if (index === 0 || index === -1) {
links = $.map(a, createItem);
} else {
--- /dev/null
+.home-news {
+ background-color: #f9f8f8;
+ padding: 3em 0 4em;
+
+ &-inner {
+ width: 981px;
+ margin: 0 auto;
+ }
+
+ &-article {
+ display: flex;
+ }
+
+ &-heading-link {
+ &:hover {
+ text-decoration: none;
+ }
+
+ h2 {
+ color: #f5810f;
+ margin: 20px 0;
+ font-size: 30px;
+ font-weight: 300;
+ }
+ }
+
+ &-image {
+ width: 410px;
+ height: 266px;
+ margin-right: 60px;
+ flex: 0 0 auto;
+ background-color: #eee;
+ }
+
+ &-read-more {
+ display: inline-block;
+ background-color: #0ea6db;
+ color: #fff;
+ font-weight: 300;
+ font-style: italic;
+ border-radius: 3px;
+ padding: 0.4em 0.75em;
+ margin-top: 2em;
+ }
+
+ &-slider {
+ // Slider arrows
+ .slick-prev, .slick-next {
+ width: 55px;
+ height: 55px;
+ background-size: contain;
+ z-index: 99;
+
+ &:before {
+ display: none;
+ }
+
+ &.slick-disabled {
+ opacity: .25;
+ }
+ }
+
+ .slick-prev {
+ left: -75px;
+ background: url('/images/home-slider-prev.svg') center no-repeat;
+ }
+ .slick-next {
+ right: -75px;
+ background: url('/images/home-slider-next.svg') center no-repeat;
+ }
+ }
+
+}
padding-bottom: 0;
}
+.news-body {
+ margin-bottom: 6em;
+ line-height: 1.5;
+
+ p:not(:first-child) {
+ margin-top: 1.5em;
+ }
+}
+
.news-slider {
+ max-width: 490px;
+ margin: 0 auto 4em;
+
&-image {
- max-width: 490px;
- display: block;
- margin: 0 auto;
+ max-width: 100%;
}
.slick-track {
display: flex;
align-items: center;
}
+
+ // Slider arrows
+ .slick-prev, .slick-next {
+ width: 55px;
+ height: 55px;
+ background-size: contain;
+ z-index: 99;
+
+ &:before {
+ display: none;
+ }
+
+ &.slick-disabled {
+ opacity: .25;
+ }
+ }
+
+ .slick-prev {
+ left: -125px;
+ background: url('/images/slider-prev.svg') center no-repeat;
+ }
+ .slick-next {
+ right: -125px;
+ background: url('/images/slider-next.svg') center no-repeat;
+ }
+
+}
+
+.news-external-link, .news-pdf-link {
+ display: inline-block;
+ background-color: #0ea6db;
+ color: #fff;
+ font-weight: 300;
+ font-style: italic;
+ border-radius: 3px;
+ padding: 0.25em 1em;
+ margin: 0 0 0 1px;
+}
+
+.news-actions {
+ margin-top: 3em;
+ display: flex;
+ align-items: center;
+
+ img {
+ width: 44px;
+ height: 44px;
+ margin-right: 1em;
+ }
}
margin: 1em 0 2em;\r
}\r
\r
+.news-heading-link {\r
+ &:hover {\r
+ text-decoration: none;\r
+ }\r
+}\r
+\r
#news {\r
font-weight: 300;\r
\r
margin-bottom: 0;\r
}\r
\r
- img {\r
+ .news-image {\r
vertical-align: top;\r
display: inline-block;\r
width: 247px;\r
-.slick-lightbox{position:fixed;top:0;left:0;z-index:9999;width:100%;height:100%;background:#000;-webkit-transition:opacity .5s ease;transition:opacity .5s ease}.slick-lightbox.slick-hide{opacity:0}.slick-lightbox.slick-hide-init{position:absolute;top:-9999px;opacity:0}.slick-lightbox.slick-lightbox-ie.slick-hide,.slick-lightbox.slick-lightbox-ie.slick-hide-init{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0)}.slick-lightbox .slick-lightbox-inner{position:fixed;top:0;left:0;width:100%;height:100%}.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item{text-align:center;overflow:hidden}.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item:before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-0.25em}.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner{display:inline-block;vertical-align:middle;max-width:90%;max-height:90%}.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner.iframe{width:70%;height:90%}.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-img{margin:0 auto;display:block;max-width:90%;max-height:90%}.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-iframe-wrap{position:relative;top:50%;transform:translateY(-50%)}.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-iframe-wrap:before{content:'';display:block;padding-top:56.25%}.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-iframe-wrap .slick-lightbox-slick-caption{position:relative;top:30px}.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-iframe-wrap .slick-lightbox-slick-iframe{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-caption{margin-top:10px;color:#fff}.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick.slick-caption-bottom .slick-lightbox-slick-item .slick-lightbox-slick-caption{position:absolute;bottom:0;left:0;text-align:center;width:100%;margin-bottom:20px}.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick.slick-caption-dynamic .slick-lightbox-slick-item .slick-lightbox-slick-caption{display:block;text-align:center}.slick-lightbox .slick-lightbox-inner .slick-lightbox-close{position:absolute;top:15px;right:15px;display:block;height:20px;width:20px;line-height:0;font-size:0;cursor:pointer;background:transparent;color:transparent;padding:0;border:none}.slick-lightbox .slick-lightbox-inner .slick-lightbox-close:focus{outline:none}.slick-lightbox .slick-lightbox-inner .slick-lightbox-close:before{font-family:"slick";font-size:20px;line-height:1;color:#fff;opacity:.85;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'×'}.slick-lightbox .slick-loading .slick-list{background-color:transparent}.slick-lightbox .slick-prev{left:15px}.slick-lightbox .slick-next{right:15px}
+.slick-lightbox {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 9999;
+ width: 100%;
+ height: 100%;
+ background: #000;
+ -webkit-transition: opacity .5s ease;
+ transition: opacity .5s ease;
+}
+
+.slick-lightbox.slick-hide {
+ opacity: 0;
+}
+
+.slick-lightbox.slick-hide-init {
+ position: absolute;
+ top: -9999px;
+ opacity: 0;
+}
+
+.slick-lightbox.slick-lightbox-ie.slick-hide,.slick-lightbox.slick-lightbox-ie.slick-hide-init {
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ filter: alpha(opacity=0);
+}
+
+.slick-lightbox .slick-lightbox-inner {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item {
+ text-align: center;
+ overflow: hidden;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item:before {
+ content: '';
+ display: inline-block;
+ height: 100%;
+ vertical-align: middle;
+ margin-right: -0.25em;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner {
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 90%;
+ max-height: 90%;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner.iframe {
+ width: 70%;
+ height: 90%;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-img {
+ margin: 0 auto;
+ display: block;
+ max-width: 90%;
+ max-height: 90%;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-iframe-wrap {
+ position: relative;
+ top: 50%;
+ transform: translateY(-50%);
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-iframe-wrap:before {
+ content: '';
+ display: block;
+ padding-top: 56.25%;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-iframe-wrap .slick-lightbox-slick-caption {
+ position: relative;
+ top: 30px;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-iframe-wrap .slick-lightbox-slick-iframe {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 0;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick .slick-lightbox-slick-item .slick-lightbox-slick-item-inner .slick-lightbox-slick-caption {
+ margin-top: 10px;
+ color: #fff;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick.slick-caption-bottom .slick-lightbox-slick-item .slick-lightbox-slick-caption {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ text-align: center;
+ width: 100%;
+ margin-bottom: 20px;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-slick.slick-caption-dynamic .slick-lightbox-slick-item .slick-lightbox-slick-caption {
+ display: block;
+ text-align: center;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-close {
+ position: absolute;
+ top: 15px;
+ right: 15px;
+ display: block;
+ height: 20px;
+ width: 20px;
+ line-height: 0;
+ font-size: 0;
+ cursor: pointer;
+ background: transparent;
+ color: transparent;
+ padding: 0;
+ border: none;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-close:focus {
+ outline: none;
+}
+
+.slick-lightbox .slick-lightbox-inner .slick-lightbox-close:before {
+ font-family: "slick";
+ font-size: 20px;
+ line-height: 1;
+ color: #fff;
+ opacity: .85;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ content: '×';
+}
+
+.slick-lightbox .slick-loading .slick-list {
+ background-color: transparent;
+}
+
+.slick-lightbox .slick-prev {
+ left: 15px;
+}
+
+.slick-lightbox .slick-next {
+ right: 15px;
+}
// Colours
.text-orange { color: #f5810f; }
.text-pink { color: #e30186; }
+.text-blue { color: #0ea6db; }
// Font sizes
.text-xs { font-size: .75rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mb-12 { margin-bottom: 3rem; }
+.mr-0 { margin-right: 0; }
+.mr-1 { margin-right: 0.25rem; }
+.mr-2 { margin-right: 0.5rem; }
+.mr-3 { margin-right: 0.75rem; }
+.mr-4 { margin-right: 1rem; }
+.mr-5 { margin-right: 1.25rem; }
+.mr-6 { margin-right: 1.5rem; }
+.mr-8 { margin-right: 2rem; }
+.mr-10 { margin-right: 2.5rem; }
+.mr-12 { margin-right: 3rem; }
+
+.ml-0 { margin-left: 0; }
+.ml-1 { margin-left: 0.25rem; }
+.ml-2 { margin-left: 0.5rem; }
+.ml-3 { margin-left: 0.75rem; }
+.ml-4 { margin-left: 1rem; }
+.ml-5 { margin-left: 1.25rem; }
+.ml-6 { margin-left: 1.5rem; }
+.ml-8 { margin-left: 2rem; }
+.ml-10 { marginleftm: 2.5rem; }
+.ml-12 { marginleftm: 3rem; }
+
// Padding
.p-0 { padding: 0; }
.p-1 { padding: 0.25rem; }