protected function _initScripts() {
parent::_initScripts();
$this->getView()->headLink()->appendStylesheet('/css/fonts/fonts.css');
+ $this->getView()->headScript()->addTagHandler();
}
protected function _initRouter($initCms = true) {
$user->addUniqueIndex(array('username'));
$user->addColumn('password', 'string', array('length' => 255));
$user->addColumn('role', 'string', array('length' => 32));
+
+ $tags = $schema->createTable('tags');
+ $tags->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => true));
+ $tags->setPrimaryKey(array('id'));
+ $tags->addColumn('name', 'string', array('length' => 64));
}
protected function _initAcl() {
$titre = new CubeIT_Form_Element_Markitup('titre');\r
$titre->setLabel('Titre');\r
$this->addElement($titre);\r
+\r
+ $studies = new Cubedesigners_Form_CMS_Sub_Casestudies_Studies();\r
+ $studies->setLabel('Etudes de cas');\r
+ $this->addSubForm($studies, 'studies');\r
}\r
\r
}\r
--- /dev/null
+<?php
+
+class Cubedesigners_Form_CMS_Sub_Casestudies_Studie extends CubeIT_Form_SubForm {
+
+ public function init() {
+ parent::init();
+
+ $titre = new Zend_Form_Element_Text('titre');
+ $titre->setLabel('Titre');
+ $this->addElement($titre);
+
+ $description = new Zend_Form_Element_Text('description');
+ $description->setLabel('Description');
+ $this->addElement($description);
+
+ $visuel = new CubeIT_Form_Element_File_Image('visuel');
+ $visuel->setLabel('Visuel de la page Case Studies');
+ $visuel->setMaxItems(1);
+ $this->addElement($visuel);
+
+ $tags = new Cubedesigners_Form_Element_Tags('tags');
+ $tags->setLabel('Tags');
+ $this->addElement($tags);
+ }
+
+}
+
+?>
--- /dev/null
+<?php
+
+class Cubedesigners_Form_CMS_Sub_Casestudies_Studies extends CubeIT_Form_Multi_SubForm {
+
+ public function init() {
+ parent::init();
+
+ $studie = new Cubedesigners_Form_CMS_Sub_Casestudies_Studie();
+ $this->setBaseSubForm($studie);
+ $this->setBaseLegend('Edition de l\'etude de cas « $titre »');
+ $this->setNewLegend('Nouvelle étude de cas');
+ }
+
+}
+
+?>
--- /dev/null
+<?php\r
+\r
+class Cubedesigners_Form_Element_Tags extends CubeIT_Form_Element_TagList {\r
+\r
+ public function init() {\r
+ $this->setBaseForm('Cubedesigners_Form_Tags');\r
+ }\r
+\r
+}\r
+\r
+?>\r
$copyright = new Zend_Form_Element_Text('copyright');
$copyright->setLabel('Copyright du bas de page');
$this->addElementLocalized($copyright);
+
+ $tags = new Cubedesigners_Form_Element_Tags('tags');
+ $tags->setLabel(__('Tags'));
+ $this->addElement($tags);
}
}
--- /dev/null
+<?php\r
+\r
+class Cubedesigners_Form_Tags extends CubeIT_Form_List {\r
+\r
+ public function init() {\r
+ parent::init();\r
+\r
+ $id = new Zend_Form_Element_Hidden('id');\r
+ $id->setLabel('#');\r
+ $this->addElement($id);\r
+\r
+ $name = new Zend_Form_Element_Text('name');\r
+ $name->setLabel(__('Nom'));\r
+ $this->addElement($name);\r
+\r
+ $this->setListTitle(__('Tags'))\r
+ ->setNewTitle(__('Créer un tag'))\r
+ ->setEditTitle(sprintf(__("Edition du tag « %s »"), '$name'))\r
+ ->setBaseTable('tags')\r
+ ->setIdColumn('id')\r
+ ->setTitleColumn('name');\r
+ }\r
+\r
+ public function saveInDatabase() {\r
+ $id = parent::saveInDatabase();\r
+ /*\r
+ $db = Bootstrap::getInstance()->getDb();\r
+ $us = $this->getElement('users');\r
+ if (!is_null($us)) {\r
+ $e = explode(',', $us->getValue());\r
+ // Delete all settings of this user\r
+ $db->delete('cubeit_group_content', $db->quoteInto('group_id = ?', $id));\r
+ $binds = array();\r
+ foreach ($e as $user) {\r
+ $binds[] = array('group_id' => $id, 'user_id' => $user);\r
+ }\r
+\r
+ $db->insertMultiple('cubeit_group_content', $binds);\r
+ } */\r
+ return $id;\r
+ }\r
+\r
+ public function setValuesWithId($id) {\r
+ parent::setValuesWithId($id);\r
+ /* $db = Bootstrap::getInstance()->getDb();\r
+ $all = $db->select()\r
+ ->from('cubeit_group_content')\r
+ ->where('group_id = ?', $id)\r
+ ->query()\r
+ ->fetchAll(Zend_Db::FETCH_ASSOC);\r
+ $users = array();\r
+ foreach ($all as $r) {\r
+ $users[] = $r['user_id'];\r
+ }\r
+ $this->setDefault('users', implode(',', $users)); */\r
+ }\r
+\r
+}\r
+\r
+?>\r
}
-?>
+?>
\ No newline at end of file
--- /dev/null
+<?php\r
+\r
+class Cubedesigners_View_Helper_CasestudiesList extends Zend_View_Helper_Abstract {\r
+\r
+ public function CasestudiesList($studies) {\r
+\r
+ $count = 1;\r
+\r
+ $res = '';\r
+\r
+ foreach ($studies as $studie) {\r
+\r
+ $addSpacer = false;\r
+\r
+ if ($count == 3) {\r
+ $count = 1;\r
+ $addClass = '';\r
+ // $addSpacer = true;\r
+ } else {\r
+ $addClass = ' blocmargin';\r
+ $count++;\r
+ }\r
+\r
+ $image = $this->view->imageProcess($studie['visuel'], $studie['titre'], 300, 225);\r
+\r
+ $res .= '<div class="bloc' . $addClass . '">';\r
+ $res .= '<div class="project-photo">' . $image . '</div>';\r
+ $res .= '<div class="project-title">' . $studie["titre"] . '</div>';\r
+ $res .= '<div class="project-description">' . $studie["description"] . '</div>';\r
+ $res .= '</div>';\r
+\r
+ // if ($addSpacer) {\r
+ // $res .= '<div class="spacer"></div>';\r
+ // }\r
+ }\r
+\r
+ return $res;\r
+ }\r
+\r
+}\r
+\r
+?>\r
--- /dev/null
+<?php\r
+\r
+class Cubedesigners_View_Helper_CasestudiesTagsList extends Zend_View_Helper_Abstract {\r
+\r
+ public function CasestudiesTagsList($studies) {\r
+\r
+ $tagslist = Array();\r
+\r
+ foreach ($studies as $studie) {\r
+ $temp = explode(',', $studie["tags"]);\r
+\r
+ for ($i = 0; $i < count($temp); $i++) {\r
+ if (!in_array($temp[$i], $tagslist)) {\r
+ array_push($tagslist, $temp[$i]);\r
+ }\r
+ }\r
+ }\r
+\r
+ $db = Zend_Db_Table::getDefaultAdapter();\r
+ $s = $db->select()->from('tags')\r
+ ->order('name ASC');\r
+ $q = $s->query();\r
+\r
+ $res = '<ul class="taglist">';\r
+ $res .= '<li class="tag active" data-id="0">' . __('TOUT VOIR') . '</li>';\r
+\r
+ while ($r = $q->fetch()) {\r
+\r
+ if (in_array($r->id, $tagslist)) {\r
+ $res .= '<li class="tag" data-id="' . $r->id . '">' . $r->name . '</li>';\r
+ }\r
+ }\r
+\r
+ $res.='</ul>';\r
+ return $res;\r
+ }\r
+\r
+}\r
+\r
+?>\r
$this->headLink()->appendStylesheet('/less/footer.less');\r
\r
$mentions_page = $this->navigation()->getContainer()->findOneById($this->localeDefault() . '/7');\r
-fb($mentions_page);\r
+//fb($mentions_page);\r
$mentions = '/';\r
if (!is_null($mentions_page)) {\r
$mentions = $mentions_page->getHref();\r
<?php\r
$this->headScript()->addScriptAndStyle('casestudies');\r
+\r
+fb($this->studies);\r
?>\r
\r
<div class="title"><?php echo $this->markupDotclear($this->titre); ?></div>\r
\r
-<div id="casestudies-tagslist"><span class="tag">TOUT VOIR</span><span class="tag">Sites internet</span><span class="tag">Logotypes</span></div>\r
-\r
-<div id="casestudies-list">\r
- <?php\r
- $count = 1;\r
- for ($i = 0; $i < 6; $i++) {\r
-\r
- $addSpacer = false;\r
+<div id="casestudies-tagslist">\r
+ <?php echo $this->CasestudiesTagsList($this->studies); ?>\r
+</div>\r
\r
- if ($count == 3) {\r
- $count = 1;\r
- $addClass = '';\r
- $addSpacer = true;\r
- } else {\r
- $addClass = ' blocmargin';\r
- $count++;\r
- }\r
- echo '<div class="bloc' . $addClass . '"></div>';\r
\r
- if ($addSpacer)\r
- echo '<div class="spacer"></div>';\r
- }\r
- ?>\r
+<div id="casestudies-list">\r
+ <?php echo $this->CasestudiesList($this->studies); ?>\r
</div>\r
\r
--- /dev/null
+TO_LOAD_ONCE[TO_LOAD_ONCE.length]='load_casestudies();';\r
+\r
+var showIds = new Array();\r
+\r
+function load_casestudies() {\r
+ \r
+ initTagsLink();\r
+}\r
+\r
+function initTagsLink() {\r
+ \r
+ $(".tag").click(function() {\r
+ \r
+ $(this).toggleClass('active');\r
+ \r
+ if( $(this).hasClass('active') ) {\r
+ showIds.push( $(this).attr("data-id") );\r
+ } else {\r
+ var index = $.inArray( $(this).attr("data-id"), showIds );\r
+ showIds.splice(index, 1);\r
+ }\r
+ \r
+ if( showIds.length > 0 ) {\r
+ $(".tag:first").removeClass('active');\r
+ }else{\r
+ $(".tag:first").addClass('active');\r
+ }\r
+ \r
+ displayStudies();\r
+ alert(showIds);\r
+ });\r
+ \r
+}\r
+\r
+function displayStudies() {\r
+ \r
+ if( showIds.length == 0 ) {\r
+ //$(".tag:first").toggleClass('active');\r
+ }\r
+ \r
+ $.ajax({\r
+ url : '/ajax/displaystudies',\r
+ dataType : 'text',\r
+ //data : JSON.stringify(showIds)\r
+ });\r
+ \r
+}\r
+\r
padding: 0 0 20px 0;
}
-#casestudies-tagslist span {
+#casestudies-tagslist ul {
+ list-style: none;
+}
+
+#casestudies-tagslist li {
font-size: 14px;
color: #6f6f6f;
padding: 3px;
border-radius: 2px;
background-color: #ededed;
- margin:0 6px 0 0;
+ margin:0 6px 6px 0;
+ display: inline-block;
}
-#casestudies-tagslist span:hover,
-#casestudies-tagslist span:active {
+#casestudies-tagslist li:hover,
+#casestudies-tagslist li:active {
cursor: pointer;
color: #fff;
background-color: #84ae1e;
}
+#casestudies-tagslist .active {
+ color: #fff;
+ background-color: #84ae1e;
+}
+
#casestudies-list {
min-width: 980px;
max-width: 980px;
overflow: hidden;
}
-#casestudies-list .bloc {
+#casestudies-list .bloc {
+ width:300px;
float:left;
+}
+
+#casestudies-list .bloc .project-photo {
width:300px;
height:225px;
background-color: #ccc;
+ margin:0 0 20px 0;
+}
+
+#casestudies-list .bloc .project-title {
+ font-size: 32px;
+}
+#casestudies-list .bloc .project-description {
+ font-size: 14px;
+ margin-bottom: 20px;
}
#casestudies-list .blocmargin {