Main menu

Forum


× Forum d'aide en Français

[RÉGLÉ] Champ "modified" de la table icagenda_events

  • fynhooft
  • Portrait de fynhooft Auteur du sujet
  • Membre junior
  • Membre junior
Plus d'informations
il y a 10 ans 7 mois - il y a 10 ans 7 mois #7400 par fynhooft
Bonjour,

Après enregistrements de quelques uns de mes évènements, j'ai constaté que le champ "modified" contenu dans la table icagenda_events n'est jamais actualisé !

Est-ce normal ?

Visitez mon site sur les tutoriels GIMP : www.gimpons.net
Dernière édition: il y a 10 ans 7 mois par Lyr!C. Raison: [RÉGLÉ]

Connexion ou Créer un compte pour participer à la conversation.

  • Lyr!C
  • Portrait de Lyr!C
  • Administrateur
  • Administrateur
  • Lead Developer
Plus d'informations
il y a 10 ans 7 mois #7442 par Lyr!C
Réponse de Lyr!C sur le sujet Champ "modified" de la table icagenda_events
Effectivement!

J'ai bien mis ce champs "standard" joomla, mais je n'en ai pas encore fait une utilisation.
Par contre, c'est prévu, car je prévois aussi un système de notification programmée pour informer les utilisateurs des nouveaux évènements, d'un évènement modifié, etc...

Donc, oui cette donnée devra être enregistrée.

Je vais même veiller à le faire dès la prochaine mise à jour officielle!
;-)

En attendant cette mise à jour, vous pouvez modifier le fichier ROOT/administrator/components/com_icagenda/models/event.php

Et remplacer la fonction prepareTable() par celle-ci :
	protected function prepareTable( $table )
	{

		$date = JFactory::getDate();
		$user = JFactory::getUser();

		$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);

		if (empty($table->id))
		{
			// Set the values
			$table->created = $date->toSql();

			// Set ordering to the last item if not set
			if (empty($table->ordering))
			{
				$db = JFactory::getDbo();
				$query = $db->getQuery(true)
					->select('MAX(ordering)')
					->from($db->quoteName('#__icagenda_events'));
				$db->setQuery($query);
				$max = $db->loadResult();

				$table->ordering = $max + 1;
			}
		}
		else
		{
			// Set the values
			$table->modified = $date->toSql();
			$table->modified_by = $user->get('id');
		}
	}

Ensuite, pour afficher ces champs dans l'édition d'un évènement, ajouter ceci au fichier ROOT/administrator/components/com_icagenda/views/event/tmpl/edit.php après la partie 'created' :
<div class="control-group">
								<div class="control-label">
									<?php echo $this->form->getLabel('modified'); ?>
								</div>
								<div class="controls">
									<?php echo $this->form->getInput('modified'); ?>
								</div>
							</div>
							<div class="control-group">
								<div class="control-label">
									<?php echo $this->form->getLabel('modified_by'); ?>
								</div>
								<div class="controls">
									<?php echo $this->form->getInput('modified_by'); ?>
								</div>
							</div>

Voilà, c'est fait :-)

Cyril

Latest version : iCagenda 3.9.8
We recommend every user to keep iCagenda updated.
Don't forget to have your Joomla!™ up-to-date!

Do you like iCagenda?
I would appreciate if you could take 5 minutes to post a review on JED (Joomla Extensions Directory) .

Fichier attaché :

Connexion ou Créer un compte pour participer à la conversation.

Modérateurs: Lyr!C
Temps de génération de la page : 0.214 secondes

 

Follow Us

Créez vos templates Joomla avec Template Creator CK

acymailing logo new