|
Re: Alerte : Le module FAQ a disparu ! |
|
Aspirant
Inscrit: 28/11/2021 22:07
|
Merci pour vos réponses !
Oops, on dirait qu'il ne fonctionne pas, j'ai ça sur l'accueil: _MD_XOOPSFAQ_FAQ _XO_LA_XOOPSFAQ _XO_LA_MAIN _MD_XOOPSFAQ_BACK_TO_INDEX _MD_XOOPSFAQ_TOC
Je me suis contenté de mettre le dossier "french dans le dossier language de mon module XoopsFaq. Normalement, c'est suffisant de ce que je sais. A regarder dans les fichiers, en effet, je ne trouve pas ces tokens.
Posté le : 22/02/2022 08:29
|
|
|
Re: Le module FAQ a disparu ? |
|
Aspirant
Inscrit: 28/11/2021 22:07
|
BOnjour Christelle, Non, j'ai omis le 0 final, je suis sur 2.5.10
Avant, la partie module de Xoops FR était beaucoup plus étoffée, il me semble. Ou est ce que je peux trouver les modules de traduction Français ?
Posté le : 21/02/2022 14:09
|
|
|
Le module FAQ a disparu ? |
|
Aspirant
Inscrit: 28/11/2021 22:07
|
Bonjour à tous, J'ai le souvenir que dans les temps anciens, il y avait un module FAQ, à la fois simple et efficace. Je suis maintenant avec une version 2.5.1 de Xoops et je ne le retrouve plus. A-t-il été remplacé/renommé ? Faut-il retrouver l'archive du vieux et prier pour qu'il soit encore compatible ? [EDIT] J'ai parlé un peu vite ,je l'ai retrouvé. https://github.com/XoopsModules25x/xoopsfaqDu coup, il faut que je trouve aussi le pack langue FR associé Cordialement
Posté le : 21/02/2022 11:57
|
|
|
Re: XoopsFormTextDateSelect pouvoir mettre null / empty |
|
Aspirant
Inscrit: 28/11/2021 22:07
|
C'est bon, j'ai récupéré FormDateTimePicker du module xoopspoll J'ai un peu adapté pour qu'on puisse mettre Date seule ou date/Heure
class FormDateTimePicker extends XoopsFormText
{
/**
* Contains the maximum field size
*/
public const MAXSIZE = 25;
protected $showTime;
/**
* Constructor to build FormDateTimePicker object
* @param mixed $caption HTML description to display for the element
* @param mixed $name HTML element name (ie. name='$name')
* @param mixed $size size of field to display
* @param mixed $value timestamp of date/time to show
*/
public function __construct($caption, $name, $size, $value, $showTime=true)
{
$value = (!is_numeric($value) || (0 === (int)$value)) ? null : (int)$value;
$size = (int)$size;
$size = ($size > 0 && $size <= self::MAXSIZE) ? $size : self::MAXSIZE;
$this->$showTime = $showTime;
parent::__construct($caption, $name, $size, self::MAXSIZE, $value);
}
/**
* Generate the HTML <input> to display the date/time field
* @return string HTML code used to display in a form
*/
public function render()
{
static $included = false;
$ele_name = $this->getName();
$ele_value = $this->getValue(true);
//if (is_string($ele_value)) {
if (!is_numeric($ele_value)) {
$display_value = $ele_value;
$ele_value = time();
} else if ($ele_value>0) {
//$display_value = '';
//$display_value = formatTimestamp($ele_value, 'm');
if ($this->$showTime)
$display_value = ucfirst(date("d-m-Y H:i", $ele_value)); // _MEDIUMDATESTRING = d-m-Y H:i
else
$display_value = ucfirst(date("d-m-Y", $ele_value)); // _MEDIUMDATESTRING = d-m-Y H:i
}
if (is_object($GLOBALS['xoTheme'])) {
$moduleHandler = xoops_getHandler('module');
$sys_module = $moduleHandler->getByDirname('system');
$configHandler = xoops_getHandler('config');
$moduleConfig = $configHandler->getConfigsByCat(0, $sys_module->getVar('mid'));
$jq_theme_dir = $moduleConfig['jquery_theme'];
$GLOBALS['xoTheme']->addStylesheet($GLOBALS['xoops']->url("modules/system/css/ui/{$jq_theme_dir}/ui.all.css"));
$GLOBALS['xoTheme']->addScript('browse.php?Frameworks/jquery/jquery.js');
$GLOBALS['xoTheme']->addScript('browse.php?Frameworks/jquery/plugins/jquery.ui.js');
$GLOBALS['xoTheme']->addScript('browse.php?modules/comin/assets/js/jquery-ui-timepicker-addon.js');
$GLOBALS['xoTheme']->addScript('browse.php?modules/comin/assets/js/jquery-ui-sliderAccess.js');
$GLOBALS['xoTheme']->addStylesheet($GLOBALS['xoops']->url('modules/comin/css/datetimepicker.css'));
if (!$included) {
$included = true;
xoops_loadLanguage('admin', 'Comin');
// setup regional date variables
$reg_values = "closeText: '"._AM_COMIN_DTP_CLOSETEXT."',"
."prevText: '"._AM_COMIN_DTP_PREVTEXT."',"
."nextText: '"._AM_COMIN_DTP_NEXTTEXT."',"
."currentText: '"._AM_COMIN_DTP_CURRENTTEXT."',"
.'monthNames: ['._AM_COMIN_DTP_MONTHNAMES.'],'
.'monthNamesShort: ['._AM_COMIN_DTP_MONTHNAMESSHORT.'],'
.'dayNames: ['._AM_COMIN_DTP_DAYNAMES.'],'
.'dayNamesShort: ['._AM_COMIN_DTP_DAYNAMESSHORT.'],'
.'dayNamesMin: ['._AM_COMIN_DTP_DAYNAMESMIN.'],'
."weekHeader: '"._AM_COMIN_DTP_WEEKHEADER."',"
."dateFormat: '"._AM_COMIN_DTP_DATEFORMAT."',"
."firstDay: '"._AM_COMIN_DTP_FIRSTDAY."',"
."isRTL: "._AM_COMIN_DTP_ISRTL.","
."showTimepicker: ".(($this->$showTime)?"true":"false")."," //
."showMonthAfterYear: "._AM_COMIN_DTP_SHOWMONTHAFTERYEAR.","
."yearSuffix: '"._AM_COMIN_DTP_YEARSUFFIX."',";
// set regional time variables
$reg_values .= "timeOnlyTitle: '"._AM_COMIN_DTP_TIMEONLYTITLE."',"
."timeText: '"._AM_COMIN_DTP_TIMETEXT."',"
."hourText: '"._AM_COMIN_DTP_HOURTEXT."',"
."minuteText: '"._AM_COMIN_DTP_MINUTETEXT."',"
."secondText: '"._AM_COMIN_DTP_SECONDTEXT."',"
."millisecText: '"._AM_COMIN_DTP_MILLISECTEXT."',"
."timeFormat: '"._AM_COMIN_DTP_TIMEFORMAT."',"
.'ampm: false,'.'stepMinute: 5';
$GLOBALS['xoTheme']->addScript('','','$(function() {$( ".datetimepicker" ).datetimepicker({'.$reg_values.'});});');
}
}
return "<input type='text' name='{$ele_name}' id='{$ele_name}' class='datetimepicker' size='".$this->getSize()."' maxlength='".$this->getMaxlength()."'
value='{$display_value}'".$this->getExtra().'>';
}
}
Posté le : 17/02/2022 14:57
|
|
|
Re: XoopsFormTextDateSelect pouvoir mettre null / empty |
|
Aspirant
Inscrit: 28/11/2021 22:07
|
Bonjour,
Merci pour vos réponses rapide. En effet, ça me va très bien d'utiliser 0. Le souci, c'est que le contrôle XoopsFormTextDateSelect remplace vide ou 0 par time() qu'il pleuve qu'il vente, qu'il neige. Alors en JS, pas facile à intercepter.
Posté le : 17/02/2022 12:33
|
|
|
Re: XoopsFormTextDateSelect pouvoir mettre null / empty |
|
Aspirant
Inscrit: 28/11/2021 22:07
|
Bonjour,
BIen pensé, en effet. C'est chose faite, mais du coup, ce ne sera prit en compte (ou pas) que dans la prochaine version de Xoops. Il me faut une méthode de contournement pour mon cas.
Posté le : 17/02/2022 12:19
|
|
|
XoopsFormTextDateSelect pouvoir mettre null / empty |
|
Aspirant
Inscrit: 28/11/2021 22:07
|
Bonjour à tous,
J'ai un champ date géré en timestamp (int) Il peut être nullable car la date est optionnelle. Seulement, le composant XoopsFormTextDateSelect ne gère pas l'état vide/null
C'est un "manqué" de Xoops, de ce que je lis et déduit.
DU coup, je pense qu'il faut que gère ça indépendamment.
Faut-il que je prenne un truc PHP bricolé, ou est ce qu'il y a des chose de Xoops qu'on peut utiliser ? J'ai vu par exemple qu'il y a le fichier "calendar.js" dans Xoops/Include" par exemple.
Posté le : 17/02/2022 11:21
|
|
|
Re: Mémoriser un tri (passé en GET) pour faire le DESC ensuite |
|
Aspirant
Inscrit: 28/11/2021 22:07
|
Bonjour, Bon, finalement je me suis appuyé sur la session, ça me semble le plus simple.
$tri = "";
$sens = (($order>0) && ($_SESSION['pOrder']==$order))? "Desc":"Asc"; // 2 fois la même demande
if ($order>0) $_SESSION['pOrder']=$order;
if ($sens=="Desc") $_SESSION['pOrder']=0;
if ($order==1) { $tri = "eid ".$sens.", "; }
else if ($order==2) { $tri = "name ".$sens.", "; }
else if ($order==3) { $tri = "dateDebut ".$sens.", "; }
else if ($order==4) { $tri = "dateFin ".$sens.", "; }
else if ($order==5) { $tri = "estActif ".$sens.", "; }
$criteria->setSort($tri.'name');
Merci pour la réponse
Posté le : 10/02/2022 19:22
|
|
|
Mémoriser un tri (passé en GET) pour faire le DESC ensuite |
|
Aspirant
Inscrit: 28/11/2021 22:07
|
Bonjour, Sur un template, J'ai une liste d'éléments, et sur mes entêtes, je peux faire un tri via une balise A (<a href="?o=2"><{$lang_name}></a>). Ca marche bien, mais j'aimerais sauvegarder ce clic de manière ponctuelle dans le cas ou il reclique, afin de faire le tri inverse. Les $_SESSION est trop persistant. Je pensais mettre une balise hidden, mais ce n'est pas un formulaire, ça ne va pas. Tout est en Get.
$order = Request::getInt('o', 0);
$tri = "";
if ($order==1) { $tri = "eid, "; }
else if ($order==3) { $tri = "dateDebut, "; }
else if ($order==4) { $tri = "dateFin, "; }
$criteria->setSort($tri.'name');
Posté le : 09/02/2022 11:02
|
|
|