Main menu

Forum


× Forum d'aide en Français

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

  • fynhooft
  • fynhooft's Avatar Topic Author
  • Junior Member
  • Junior Member
More
10 years 5 days ago - 10 years 1 day ago #7400 by 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
Last edit: 10 years 1 day ago by Lyr!C. Reason: [RÉGLÉ]

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

  • Lyr!C
  • Lyr!C's Avatar
  • Administrator
  • Administrator
  • Lead Developer
More
10 years 1 day ago #7442 by Lyr!C
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.3
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) .

File Attachment:

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

Moderators: Lyr!C
Time to create page: 0.186 seconds

Follow Us

Create your Joomla templates with Template Creator CK

acymailing logo new