Topic-icon bloquer liste déroulante sur defaut

Plus d'informations
30 Mar 2014 15:51 #7387 par SebbC
Message
Bonjour,

Je suis en train de "détourner" un système de ticket, afin de l'utiliser pour du coaching individualisé, je dois donc créer autant de département que de coachs. Via le lien de menu, je peux choisir le "département" par défaut et le groupe d'utilisateur pour lequel ce lien de menu va s'afficher.
Le problème est que le formulaire de soumission d'un ticket affiche bien le département par défaut choisi dans les paramètres du menu, mais propose aussi les autres via la flèche traditionnelle, il faudrait pouvoir rendre cette liste "figée" sur le département par défaut, afin que la question soit envoyée uniquement au coach choisi...et je n'y arrive pas.. un petit coup de pouce serait le bienvenue... Merci d'avance à ceux qui prendront le temps de me guider, mes compétences sont limitées :(
Ci dessous le bout code qui appelle la liste déroulante en font office :
// department
 
	$label = $this->form->getLabel('department_id');
	$input = $this->form->getInput('department_id');
	$this->field->showField($label, $input);

Et ci dessous la page qui semble être appelée pour l'affichage des départements :
<?php
 
/**
 
* @package RSTickets! Pro
 
* @copyright (C) 2010-2014 www.rsjoomla.com
 
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
 
*/
 
defined('JPATH_PLATFORM') or die;
 
require_once JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/rsticketspro.php';
 
JFormHelper::loadFieldClass('list');
 
class JFormFieldDepartments extends JFormFieldList
 
{
 
	protected $type = 'Departments';
 
	protected function getOptions() {
 
		// Initialize variables.
 
		$options = array();
 
		if (isset($this->element['please']) && $this->element['please'] == 'true') {
 
			$options[] = JHtml::_('select.option', '', JText::_('RST_PLEASE_SELECT_DEPARTMENT'));
 
		}
 
		$db 	= JFactory::getDbo();
 
		$query 	= $db->getQuery(true);
 
		$query->select($db->qn('id'))
 
			  ->select($db->qn('name'))
 
			  ->from('#__rsticketspro_departments');
 
		if (isset($this->element['published']) && $this->element['published'] == 'true') {
 
			$query->where($db->qn('published').'='.$db->q(1));
 
		}
 
		$query->order($db->qn('ordering').' '.$db->escape('asc'));
 
		$db->setQuery($query);
 
		$results			= $db->loadObjectList();
 
		$is_staff			= RSTicketsProHelper::isStaff();
 
		$force_departments	= RSTicketsProHelper::getConfig('staff_force_departments');
 
		$departments		= RSTicketsProHelper::getCurrentDepartments();
 
		$view				= JFactory::getApplication()->input->get('view');
 
		foreach ($results as $result) {
 
			if ($is_staff && $force_departments && $view != 'staff' && !in_array($result->id, $departments))
 
				continue;
 
			$tmp = JHtml::_('select.option', $result->id, JText::_($result->name));
 
			// Add the option object to the result set.
 
			$options[] = $tmp;
 
		}
 
		reset($options);
 
		return $options;
 
	}
 
	protected function getInput() {
 
		$html = array();
 
		$attr = '';
 
		// Initialize some field attributes.
 
		$attr .= $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : '';
 
		// To avoid user's confusion, readonly="true" should imply disabled="true".
 
		if ((string) $this->element['readonly'] == 'true' || (string) $this->element['disabled'] == 'true')
 
		{
 
			$attr .= ' disabled="disabled"';
 
		}
 
		$attr .= $this->element['size'] ? ' size="' . (int) $this->element['size'] . '"' : '';
 
		$attr .= $this->multiple ? ' multiple="multiple"' : '';
 
		$attr .= $this->required ? ' required="required" aria-required="true"' : '';
 
 
		// Initialize JavaScript field attributes.
 
		$attr .= $this->element['onchange'] ? ' onchange="' . (string) $this->element['onchange'] . '"' : '';
 
		// Get the field options.
 
		$options = (array) $this->getOptions();
 
		// Create a read-only list (no name) with a hidden input to store the value.
 
		if ((string) $this->element['readonly'] == 'true')
 
		{
 
			$html[] = JHtml::_('select.genericlist', $options, '', trim($attr), 'value', 'text', $this->value, $this->id);
 
			$html[] = '<input type="hidden" name="' . $this->name . '" value="' . $this->value . '"/>';
 
		}
 
		// Create a regular list.
 
		else
 
		{
 
			$value = is_array($this->value) ? $this->value : explode(',', $this->value);
 
			$html[] = JHtml::_('select.genericlist', $options, $this->name, trim($attr), 'value', 'text', $value, $this->id);
 
		}
 
		return implode($html);
 
	}
 
}

Vous devez vous connecter Connexion pour prendre part à la conversation.

Plus d'informations
04 Avr 2014 11:25 #7403 par C-Jay
Réponse
Hello,

Pour être sûr de faire les choses correctement, notamment pour les futures mises à jour de ton site et de RSTickets! Pro, je te conseillerais de te tourner vers le support officiel auprès duquel tu as payé une licence. Ils t'aideront et feront le nécessaire car c'est compris dans le service :-)

A la recherche d'un hébergement / hébergeur Joomla spécialisé, performant et sécurisé ? Choisissez SiteGround (Nouvelles offres : -50% sur leur offre Start Up !)
Découvrez le guide Réussir son entreprise sur Internet grâce à Joomla
Découvrez le le centre de formation NosyWeb

Vous devez vous connecter Connexion pour prendre part à la conversation.

Modérateurs: C-Jay
Temps de génération de la page : 0.661 secondes
Contact

Scoop.It de NosyWeb

Twitter de NosyWeb

YouTube de NosyWeb

Facebook de NosyWeb

Google+ de NosyWeb

Flux RSS de NosyWeb

Inscription newsletter de NosyWeb