Tri d'articles par le champ date

More
14 years 5 months ago #7683 by hekthor
Bonjour,

Je souhaiterais organiser une liste d'articles, en les triant par leur date (début et fin, via le champ date de flexicontent)

Est il possible par défaut de faire cela ? Ou est ce qu'il faut apporter quelques modifs ? (genre en passant par le fichier de configuration des catégories, on peut choisir l'ordre d'apparition des articles. Ne serait il pas possible d'ajouter un paramètre dans la liste ?)

Merci d'avance !

Please Log in or Create an account to join the conversation.

More
14 years 5 months ago #7690 by micker
hello oui c'est possible en utilisant les templates !
attention c'est limiter car on peu pas utiliser la pagination ...
je te renvoie vers ce post
<!-- l --><a class="postlink-local" href=" www.flexicontent.org/phpbb/viewtopic.php?f=15&t=536 ">viewtopic.php?f=15&t=536
il te faut tout lire pour bien comprendre la manupilation
dans l'idée on recupere la date de début et on l'utilise pour faire le trie avec du php.
a+

FLEXIcontent is Free but involves a very big effort on our part.
Like the our support? (for a bug-free FC, despite being huge extension) Like the features? Like the ongoing development and future commitment to FLEXIcontent?
-- Add your voice to the FLEXIcontent JED listing reviews. Thanks![/size]

Please Log in or Create an account to join the conversation.

More
14 years 5 months ago #7695 by hekthor
Oui ce topic était intéressant, par contre je ne sais pas si le fichier qui était téléchargeable est valide, quand je le teste, ca ne renvoie rien.

Ceci dit, quel serait le paramètre à changer pour ne plus prendre la date de création de l'article en compte, mais une date spécifiée par le champ flexicontent ?

(et à la limite ce n'est pas grave s'il n'y a pas de pagination, je n'avais pas prévu d'intégrer ca)

Merci !

Please Log in or Create an account to join the conversation.

More
14 years 5 months ago #7698 by micker
hello voici mon template d'accueil
Code:
<?php /** * @version 1.5 beta 5 $Id: blog_items.php 85 2009-10-10 13:48:04Z vistamedia $ * @package Joomla * @subpackage FLEXIcontent * @copyright (C) 2009 Emmanuel Danan - www.vistamedia.fr * @license GNU/GPL v2 * * FLEXIcontent is a derivative work of the excellent QuickFAQ component * @copyright (C) 2008 Christoph Lukes * see www.schlu.net for more information * * FLEXIcontent is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ defined( '_JEXEC' ) or die( 'Restricted access' ); // first define the template name $tmpl = $this->tmpl; $now = new DateTime(); $now = $now->format('Ymd'); ?> <?php if ((($this->params->get('use_filters', 0)) && $this->filters) || ($this->params->get('use_search')) || ($this->params->get('show_alpha', 1))) : ?> <form action="<?php echo $this->action; ?>" method="post" id="adminForm"> <?php if ((($this->params->get('use_filters', 0)) && $this->filters) || ($this->params->get('use_search'))) : ?> <div id="fc_filter" class="floattext"> <?php if ($this->params->get('use_search')) : ?> <div class="fc_fleft"> <input type="text" name="filter" id="filter" value="<?php echo $this->lists['filter'];?>" class="text_area" onchange="document.getElementById('adminForm').submit();" /> <button onclick="document.getElementById('adminForm').submit();"><?php echo JText::_( 'FLEXI_GO' ); ?></button> <button onclick="document.getElementById('filter').value='';document.getElementById('adminForm').submit();"><?php echo JText::_( 'FLEXI_RESET' ); ?></button> </div> <?php endif; ?> <?php if (($this->params->get('use_filters', 0)) && $this->filters) : ?> <div class="fc_fright"> <?php /* echo '<span class="filter">'; echo 'Saison: ' . $this->filters['field24']->html; echo '</span>'; */ foreach ($this->filters as $filt) : echo '<span class="filter">'; echo $filt->html; echo '</span>'; endforeach; ?> </div> <?php endif; ?> </div> <?php endif; ?> <?php if ($this->params->get('show_alpha', 1)) : echo $this->loadTemplate('alpha'); endif; ?> <input type="hidden" name="option" value="com_flexicontent" /> <input type="hidden" name="filter_order" value="<?php echo $this->lists['filter_order']; ?>" /> <input type="hidden" name="filter_order_Dir" value="" /> <input type="hidden" name="view" value="category" /> <input type="hidden" name="letter" value="" id="alpha_index" /> <input type="hidden" name="task" value="" /> <input type="hidden" name="id" value="<?php echo $this->category->id; ?>" /> </form> <?php endif; ?> <?php $items = $this->items; $count = count($items); if ($count) : ?> <div class="content"> <?php $leadnum = $this->params->get('lead_num', 2); $leadnum = ($leadnum >= $count) ? $count : $leadnum; if ($this->limitstart == 0) : ?> <ul class="leadingblock"> <?php for ($i=0; $i<$leadnum; $i++) : $enddate = $items[$i]->fields['Dfin']->display; $enddate = new DateTime($enddate); $enddate = $enddate->format('Ymd'); $now = date('Ymd', strtotime('+17 day')); if( $now <= $enddate) : ?> <li> <div style="overflow: hidden;"> <?php if ($this->params->get('show_title', 1)) : ?> <h2 class="contentheading"> <?php if ($this->params->get('link_titles', 0)) : ?> [url=<?php echo JRoute::_(FlexicontentHelperRoute::getItemRoute($items[$i]->slug, $this->category->slug)); ?>]<?php echo $this->escape($items[$i]->title); ?>[/url] <?php else : echo $this->escape($items[$i]->title); endif; ?> </h2> <?php endif; ?> <?php if ($this->params->get('lead_use_image', 1)) : if ($this->params->get('lead_image')) : if (isset($items[$i]->fields[$this->params->get('lead_image')]->value[0])) : $dir{$i} = $items[$i]->fields[$this->params->get('lead_image')]->parameters->get('dir'); $value{$i} = unserialize($items[$i]->fields[$this->params->get('lead_image')]->value[0]); $image{$i} = $value{$i}['originalname']; $scr{$i} = $dir{$i}.($this->params->get('lead_image_size') ? '/'.$this->params->get('lead_image_size').'_' : '/l_').$image{$i}; else : $scr{$i} = ''; endif; $src = $scr{$i}; else : $src = flexicontent_html::extractimagesrc($items[$i]); endif; $w = '&w=' . $this->params->get('lead_width', 200); $h = '&h=' . $this->params->get('lead_height', 200); $aoe = '&aoe=1'; $q = '&q=95'; $zc = $this->params->get('lead_method') ? '&zc=' . $this->params->get('lead_method') : ''; $conf = $w . $h . $aoe . $q . $zc; if (!$this->params->get('lead_image_size')) : $thumb = JURI::base().'components/com_flexicontent/librairies/phpthumb/phpThumb.php?src='.JURI::base(true).'/'.$src.$conf; else : $thumb = $src; endif; if ($src) : // case source ?> <div class="image<?php echo $this->params->get('lead_position') ? ' right' : ' left'; ?>"> <?php if ($this->params->get('lead_link_image', 1)) : ?> <a href="<?php echo JRoute::_(FlexicontentHelperRoute::getItemRoute($items[$i]->slug, $this->category->slug)); ?>" class="hasTip" title="<?php echo JText::_( 'FLEXI_READ_MORE_ABOUT' ) . '::' . $this->escape($items[$i]->title); ?>"> <img src="<?php echo $thumb; ?>" alt="<?php echo $this->escape($items[$i]->title); ?>" /> <?php else : ?> <img src="<?php echo $thumb; ?>" alt="<?php echo $this->escape($items[$i]->title); ?>" /> <?php endif; ?> <div class="clear"></div> </div> <?php endif; // case source endif; ?> <!-- BOF date block --> <?php if (isset($items[$i]->positions['date'])) : ?> <div class="date"> <?php foreach ($items[$i]->positions['date'] as $field) : ?> <span class="element"> <?php if ($field->label) : ?> <span class="label field_<?php echo $field->name; ?>"><?php echo $field->label; ?></span> <?php endif; ?> <span class="value field_<?php echo $field->name; ?>"><?php echo $field->display; ?></span> </span> <?php endforeach; ?> </div> <?php endif; ?> <!-- EOF date block --> <!-- BOF type block --> <?php if (isset($items[$i]->positions['type'])) : ?> <div class="date"> <?php foreach ($items[$i]->positions['type'] as $field) : ?> <span class="element"> <?php if ($field->label) : ?> <span class="label field_<?php echo $field->name; ?>"><?php echo $field->label; ?></span> <?php endif; ?> <span class="value field_<?php echo $field->name; ?>"><?php echo $field->display; ?></span> </span> <?php endforeach; ?> </div> <?php endif; ?> <!-- EOF type block --> <!-- BOF tarif block --> <?php if (isset($items[$i]->positions['tarif'])) : ?> <div class="tarif"> <?php foreach ($items[$i]->positions['tarif'] as $field) : ?> <span class="element"> <?php if ($field->label) : ?> <span class="label field_<?php echo $field->name; ?>"><?php echo $field->label; ?></span> <?php endif; ?> <span class="value field_<?php echo $field->name; ?>"><?php echo $field->display; ?></span> </span> <?php endforeach; ?> </div> <?php endif; ?> <!-- EOF tarif block --> <p> <?php if ($this->params->get('lead_strip_html', 1)) : echo flexicontent_html::striptagsandcut( $items[$i]->introtext, $this->params->get('lead_cut_text', 400) ); else : echo $items[$i]->introtext; endif; ?> </p> <!-- BOF mp3 block --> <?php if (isset($items[$i]->positions['mp3'])) : ?> <div id="mp3"> <?php foreach ($items[$i]->positions['mp3'] as $field) : ?> <span class="element"> <span class="value field_<?php echo $field->name; ?>"><?php echo $field->display; ?></span> </span> <?php endforeach; ?> </div> <?php endif; ?> <!-- EOF mp3 block --> <!-- BOF fnac block --> <?php if (isset($items[$i]->positions['fnac'])) : ?> <div id="fnac"> <?php foreach ($items[$i]->positions['fnac'] as $field) : ?> <span class="element"> <span class="value field_<?php echo $field->name; ?>"><?php echo $field->display; ?></span> </span> <?php endforeach; ?> </div> <?php endif; ?> </div> </li> <?php endif; ?> <?php endfor; ?> </ul> <?php endif; ?> </div> <?php else : ?> <div class="noitems"><?php echo JText::_( 'FLEXI_NO_ITEMS_CAT' ); ?></div> <?php endif; ?> <?php if ($this->params->get('show_description', 1)) : ?> <div id="ja-banner" class="catdescription"> <?php echo $this->category->description; ?> </div> <?php endif; ?>
Code:
$now = new DateTime(); $now = $now->format('Ymd');
pour recuperer et formater la date du jour
et au debut de la liste je fait un trie
Code:
<ul class="leadingblock"> <?php for ($i=0; $i<$leadnum; $i++) : $enddate = $items[$i]->fields['Dfin']->display; $enddate = new DateTime($enddate); $enddate = $enddate->format('Ymd'); $now = date('Ymd', strtotime('+17 day')); if( $now <= $enddate) : ?> <li>
Code:
$enddate = $items[$i]->fields['Dfin']->display;
c'est mon champs de date de fin.
A regarder pour t'inspirer en fonction de tes besoins
a+

FLEXIcontent is Free but involves a very big effort on our part.
Like the our support? (for a bug-free FC, despite being huge extension) Like the features? Like the ongoing development and future commitment to FLEXIcontent?
-- Add your voice to the FLEXIcontent JED listing reviews. Thanks![/size]

Please Log in or Create an account to join the conversation.

More
14 years 5 months ago #7700 by hekthor
Ok !

Par contre ca ne marche pas si je remplace le champ "Dfin" par le champ que j'ai créé...

Pourtant ca devrait ? Ou alors je m'emmêle encore les pinceaux avec les champs/positions. Ici on parle bien du nom du champ et non pas de l'étiquette ? Ni de l'intitulé de la position dans laquelle on appelle ce champ ?

Je ne sais pas non plus si c'est vraiment approprié non plus, en fait mon objectif est de faire un listing d'évènements, et je veux donc qu'ils soient classés de sorte que les premiers affichés soient les plus imminents.

Donc je ne devrais même m'occuper que du champ "date_debut" sans avoir à le comparer à la date d'aujourd'hui (si l'évènement est passé, ce sera à charge à l'administrateur de le bouger, sauf si je trouve une meilleure solution...)

Je suis pas non plus un crack en développement sous Joomla!, je suis un peu perdu avec les appels qu'il faut faire aux objets qu'on veut manipuler...

Please Log in or Create an account to join the conversation.

More
14 years 5 months ago #7706 by micker
hello dans mon cas Dfin c'est le nom du champs
attention il ne doit pas y avoir d'espace il ne doit pas y avoir une erreur de syntax ...
Mets ton template a la suite

FLEXIcontent is Free but involves a very big effort on our part.
Like the our support? (for a bug-free FC, despite being huge extension) Like the features? Like the ongoing development and future commitment to FLEXIcontent?
-- Add your voice to the FLEXIcontent JED listing reviews. Thanks![/size]

Please Log in or Create an account to join the conversation.

Moderators: vistamediajoomlacornerggppdk
Time to create page: 0.890 seconds
Save
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Essential
These cookies are needed to make the website work correctly. You can not disable them.
Display
Accept
Analytics
Tools used to analyze the data to measure the effectiveness of a website and to understand how it works.
Google Analytics
Accept
Decline