Créer un filtre au format Date

  • Posts: 8
  • Thank you received: 0
11 years 4 months ago #115333

Bonjour,
est-il possible de créer un filtre qui s'appuie sur un champ personnalisé de type date, et que ce filtre dans le module affiche aussi le calendrier de sélection de la date ?

Merci d'avance.

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

  • Posts: 82868
  • Thank you received: 13377
  • MODERATOR
11 years 4 months ago #115358

Bonjour,

Non, cela n'est pas possible pour l'instant.

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

  • Posts: 8
  • Thank you received: 0
11 years 4 months ago #115402

Alors est-il au moins possible de mettre les champs personnalisés de type Date au format jj/mm/AAAA ?

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

  • Posts: 2334
  • Thank you received: 403
11 years 4 months ago #115427

Bonjour,

Il vous suffit de changer l'option "Format" dans votre champ personnalisé de type Date.
%d/%m/%Y devrait correspondre à vos attentes.

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

  • Posts: 8
  • Thank you received: 0
11 years 4 months ago #115470

J'ai procédé comme vous me l'avez indiqué, en changeant le format des données déjà saisies en bdd pour les passer au format dd/mm/YYYY.

Mais maintenant quand je cherche à éditer mes produits, j'ai un message d'erreur de type :
DateTime::__construct(): Failed to parse time string (17/05/2013) at position 0 (1): Unexpected character

Dois-je donc laisser les dates au format YYYY-mm-dd dans la base ?

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

  • Posts: 2334
  • Thank you received: 403
11 years 4 months ago #115474

S'il était sous ce format avant je pense qu'il aurait mieux fallu les laisser ainsi oui.
Avez vous aussi ce message quand vous créez et sauvegardez un nouveau produit?

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

  • Posts: 8
  • Thank you received: 0
11 years 4 months ago #115505

oui même message quand on crée un nouveau produit. J'ai l'impression que le format %d/%m/%Y n'est pas supporté comme format de champ personnalisé de type date.

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

  • Posts: 82868
  • Thank you received: 13377
  • MODERATOR
11 years 4 months ago #115554

Bonjour,

C'est un soucis de la librarie de date de joomla qui ne permet pas de gérer d'autre format de date.
Pour que cela fonctionne, il faudrait changer la fonction calendar de libraries/joomla/html/html.php en:

public static function calendar($value, $name, $id, $format = '%Y-%m-%d', $attribs = null)
	{
		static $done;

		if ($done === null)
		{
			$done = array();
		}

		$readonly = isset($attribs['readonly']) && $attribs['readonly'] == 'readonly';
		$disabled = isset($attribs['disabled']) && $attribs['disabled'] == 'disabled';
		if (is_array($attribs))
		{
			$attribs = JArrayHelper::toString($attribs);
		}

		if(is_numeric($value) && $value) $value = self::_('date', $value, 'Y-m-d H:i:s', null);
		if (!$readonly && !$disabled)
		{
			// Load the calendar behavior
			self::_('behavior.calendar');
			self::_('behavior.tooltip');

			// Only display the triggers once for each control.
			if (!in_array($id, $done))
			{
				$document = JFactory::getDocument();
				$document
					->addScriptDeclaration(
					'do_nothing( function() {Calendar.setup({
				// Id of the input field
				inputField: "' . $id . '",
				// Format of the input field
				ifFormat: "' . $format . '",
				// Trigger for the calendar (button ID)
				button: "' . $id . '_img",
				// Alignment (defaults to "Bl")
				align: "Tl",
				singleClick: true,
				firstDay: ' . JFactory::getLanguage()->getFirstDay() . '
				});});'
				);
				$done[] = $id;
			}
			return '<div class="input-append"><input type="text" title="' . $value . '" name="' . $name . '" id="' . $id
				. '" value="' . htmlspecialchars($value, ENT_COMPAT, 'UTF-8') . '" ' . $attribs . ' /><button class="btn" id="' . $id . '_img"><i class="icon-calendar"></i></button></div>';

		}
		else
		{

			return '<input type="text" title="' . $value
				. '" value="' . $value. '" ' . $attribs
				. ' /><input type="hidden" name="' . $name . '" id="' . $id . '" value="' . htmlspecialchars($value, ENT_COMPAT, 'UTF-8') . '" />';
		}
	}

Sinon, vous pouvez garder le format par défaut.

Dans le futur, nous allons utiliser notre propre système de calendrier car celui de joomla n'est plus maintenu et se fait très vieux.

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

  • Posts: 9
  • Thank you received: 1
6 years 9 months ago #287192

Bonjour,

Où en est la situation notamment avec les nouvelles version de Joomla ?

J'ai un champ personnalisé en format DATE, je souhaite le passer en %d/%m/%Y pour que les utilisateurs (français) puissent saisir une date qu'ils lisent ou au moins qu'après avoir cliqué sur le calendrier ce soit sous ce format-là que la date s'affiche.
En essayant de changer le format, le message suivant apparaît :
Since Joomla 2.5.24 it is not possible anymore to change the format of dates. If you need a different format, please use the advanced datepicker type of custom field.

Merci,

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

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
6 years 9 months ago #287213

Bonjour,

Comme indiqué dans le message, il faut utiliser le "advanced date picker".

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.
The following user(s) said Thank You: q70f

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

  • Posts: 9
  • Thank you received: 1
6 years 9 months ago #287413

Bonjour,
Merci oui il suffisait juste d'activer le plugin et il fonctionne bien, les paramètres sont supers bravo !

Pour ceux qui se casseraient la tête avec les dates comme moi, juste bien penser à passer par du SQL Date Format ou PHP pour faire afficher les données comme on veut, parce qu'elles s'enregistrent en AAAAMMJJHHMMSS.

Merci,

The following user(s) said Thank You: Jerome

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

  • Posts: 9
  • Thank you received: 1
6 years 9 months ago #287580

Qu'en est-il de la compatibilité mobile ? Sur smartphone, le calendrier ne semble pas s'afficher lors de la sélection

Last edit: 6 years 9 months ago by q70f.

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

  • Posts: 82868
  • Thank you received: 13377
  • MODERATOR
6 years 9 months ago #287586

Bonjour,

Cela fonctionne de notre coté.
Pourriez-vous fournir un lien vers la page en question (avec si nécessaire les instructions requises) pour reproduire le soucis ?

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

  • Posts: 4748
  • Thank you received: 644
  • MODERATOR
6 years 9 months ago #287760

Bonjour,

J'ai procédé à quelque tests et pour le moment, j'ai du mal à progresser sur votre problème car de mon coté sur votre site votre champs de advance picker... Mais que ce soit en vue mobile comme vue normale...

Donc pouvez vous fournir une screenshot de votre page de configuration de votre champs personnalisé (custom field) et me dire si pour vous tout fonctionne bien mobile comme affichage classique ?

En attentes de vos retour.
Cordialement

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

  • Posts: 9
  • Thank you received: 1
6 years 9 months ago #287790

Merci pour vos tests. Je n'ai pas compris si la sélection fonctionne chez vous ou pas.
De mon côté, cela fonctionne bien en affichage classique mais pas en mobile.

Voici le paramétrage du champ personnalisé.

Cordialement,

Attachments:

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

  • Posts: 82868
  • Thank you received: 13377
  • MODERATOR
6 years 9 months ago #287848

Bonjour,

Le soucis vient de plusieurs facteurs:
- Le javascript de ce type de champs personnalisé ne gère qu'un champs personnalisé de ce type par page.
- Vous utilisez l'ancien passage en caisse d'HikaShop (option "Checkout legacy" activée dans la configuration HikaShop).
- Le champs de date de l'adresse de facturation est caché avec du CSS (si vous enlevez ça vous verrez que le champs fonctionnne pour l'adresse de facturation).

Donc il y a plusieurs façons de résoudre le problème:
- vous pouvez désactiver l'option "checkout legacy" pour passer sur le nouveau système de passage en caisse. Dans ce cas, l'interface d'édition des adresses ne s'affiche pas deux fois comme c'est le cas actuellement sur votre passage en caisse et donc cela évite le soucis.
- vous pouvez sinon, enlever le CSS qui cache le champs dans l'adresse de facturation et plutôt utiliser un override de vue pour ne pas ajouter le champs sur la page pour l'adresse de facturation. Cela demande un peu de connaissance en php mais c'est plus propre et cela évitera le problème.
- plutôt que de passer par un champs de la table adresse, il vaudrait mieux passer par un champs de la table "commande". Ainsi vous n'aurez pas de soucis car il n'y a qu'un champs commande par commande. Cela a aussi l'avantage que lorsque le client revient pour faire une seconde commande, il n'a pas la date de livraison de sa première commande dans l'adresse. Car actuellement, c'est le cas, et cela va vous causer des soucis à l'avenir.

Je recommanderais de choisir l'option 3, mais cela demande de passer à HikaShop Business car seule cette édition permet la gestion des champs de la table "commande" (qui sont fait pour ce genre d'information, date de livraison, notes, etc).

The following user(s) said Thank You: q70f

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

  • Posts: 9
  • Thank you received: 1
6 years 9 months ago #287949

Merci pour cette explication détaillée. Pour le moment, je n'en suis qu'à faire comprendre au client toutes les possibilités d'Hikashop et celles supplémentaires sur la version Business, ça viendra mais il lui faut du temps ^^ :)

En effet, c'était un peu barbare de ma part de simplement cacher le champ via CSS, j'ai modifié la vue address_show pour exclure l'affichage du champ sur l'adresse de facturation uniquement. Je pense que ça fonctionne, je vais tester sur plus d'appareils

Pour ma compréhension (et celle d'autres utilisateurs j'espère),
Quel est l'impact / le risque de rester à l'ancien système de passage en caisse ?

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

  • Posts: 82868
  • Thank you received: 13377
  • MODERATOR
6 years 9 months ago #287953

Bonjour,

L'ancien passage en caisse est stable. Si il vous convient, alors vous pouvez rester avec.

Le plus gros inconvénient, c'est que vous ne profiterez pas des nouvelles fonctionnalités que nous rajoutons au passage en caisse.
Par exemple, récemment, nous avons rajouté la possibilité de changer son adresse email en mode invité. Avant, cela était impossible, une fois l'adresse email validée, il fallait finir la commande avec cette adresse email. Et donc, vous n'avez pas cette amélioration et vous ne l'aurais pas si vous restez sur l'ancien système.

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

Time to create page: 0.108 seconds
Powered by Kunena Forum