IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

griser les annonces qui ne sont pas traduites


Sujet :

Zend Framework PHP

  1. #1
    Membre du Club
    Femme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Novembre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur étude et développement

    Informations forums :
    Inscription : Novembre 2009
    Messages : 125
    Points : 55
    Points
    55
    Par défaut griser les annonces qui ne sont pas traduites
    Bonjour,
    Je viens vers vous car j'ai un petit souci, en effet je suis en train de développer un module multi-langue donc du coup je gère les traductions en utilisant la base de données,donc c'est l'administrateur qui traduit tous, mon problème c'est que dans la partie back office, j'affiche les annonce en fonction de la langue sélectionnée, le principe c'est qu'il y a que les annonces qui sont traduits qui sont affichées, ce que je n'arrive pas à faire c'est de griser les annonces qui ne sont pas traduites,
    donc j'aimerai avoir une idée sur comment le faire:
    le tableau que j'affiche est le suivant ( dans la vue)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    <table class="table-bo-thermidor" cellpadding="4" cellspacing="1" border="0" id="#OffresActives">
    		<tr>
    			<th>Titre de <br>l'offre<br>
    				<a href="/administrathor/recruthor/index/critereDeTri/offreTitre/ordreDeTri/desc">	
    					<img src="<?php echo PUBLIC_IMAGES ?>triangleB.gif" />
    				</a>
    				<a href="/administrathor/recruthor/index/critereDeTri/offreTitre/ordreDeTri/asc">
    					<img src="<?php echo PUBLIC_IMAGES ?>triangleH.gif" />
    				</a>
    			</th>
    			<th>Type de <br>contrat<br>
    				<a href="/administrathor/recruthor/index/critereDeTri/contratTitre/ordreDeTri/desc">	
    					<img src="<?php echo PUBLIC_IMAGES ?>triangleB.gif" />
    				</a>
    				<a href="/administrathor/recruthor/index/critereDeTri/contratTitre/ordreDeTri/asc">
    					<img src="<?php echo PUBLIC_IMAGES ?>triangleH.gif" />
    				</a>
    			</th>
    			<th>Domaine <br>d'activité<br>
    				<a href="/administrathor/recruthor/index/critereDeTri/domaineTitre/ordreDeTri/desc">	
    					<img src="<?php echo PUBLIC_IMAGES ?>triangleB.gif" />
    				</a>
    				<a href="/administrathor/recruthor/index/critereDeTri/domaineTitre/ordreDeTri/asc">
    					<img src="<?php echo PUBLIC_IMAGES ?>triangleH.gif" />
    				</a>
    			</th>
    			<th>Lieu<br>
    				<a href="/administrathor/recruthor/index/critereDeTri/localTitre/ordreDeTri/desc">	
    					<img src="<?php echo PUBLIC_IMAGES ?>triangleB.gif" />
    				</a>
    				<a href="/administrathor/recruthor/index/critereDeTri/localTitre/ordreDeTri/asc">
    					<img src="<?php echo PUBLIC_IMAGES ?>triangleH.gif" />
    				</a>
    			</th>
    			<th>Date de <br>modification<br>
    				<a href="/administrathor/recruthor/index/critereDeTri/offreDateModif/ordreDeTri/desc">	
    					<img src="<?php echo PUBLIC_IMAGES ?>triangleB.gif" />
    				</a>
    				<a href="/administrathor/recruthor/index/critereDeTri/offreDateModif/ordreDeTri/asc">
    					<img src="<?php echo PUBLIC_IMAGES ?>triangleH.gif" />
    				</a>
    			</th>
    			<th>Modifier <br>l'offre</th>
    			<th>Etat de<br> l'offre</th>
    			<th>Supprimer<br> l'offre<br></th>
    		</tr>
    		<?php $nbOffres = count($this->listOffres); ?>
    		<?php if($nbOffres > 0):?>
    			<?php $cptOffres = 0;?>
    			<?php foreach($this->listOffres as $offre): ?>
    				<?php if(($cptOffres % 2) == 0):?>
    					<?php $class = "td2";?>
    				<?php else: ?>
    					<?php $class = "td1";?>
    				<?php endif ?>		
    			<tr class="<?php echo $class;?>" onmouseover="this.className='tdover'" onmouseout="this.className='<?php echo $class;?>'">
    			    <td><?php echo $offre->offreTitre; ?></td>
    				<td><?php echo $offre->contratTitre; ?></td>
    				<td><?php echo $offre->domaineTitre ; ?></td>
    				<td><?php echo $offre->localTitre ; ?></td>
    				<td><?php echo $offre->offreDateModif; ?></td>
    				<td>
    					<?php if(is_array($this->listLang) && count($this->listLang)): ?>
    						<?php foreach($this->listLang as $lang):?>
    					<a 	href="/administrathor/recruthor/index/offreId/<?php echo $offre->offreId;?>/lang/<?php echo $lang->langCode; ?>/view-action/edit">
    						<img src="<?php echo PUBLIC_IMAGES ?>flags/<?php echo $lang->langCode; ?>.png" />
    					</a>
    						<?php endforeach; ?>	
    					<?php endif;?>
    				</td>
    				<td><?php if($offre->offreActive == 1) :?>
    					<?php	$chaine =  "activée";?>
    					<?php else:?>
    					<?php	$chaine =  "désactivée";?>					
    					<?php endif ?>
    					<?php echo $chaine; ?><br>	
    					<a 	href="/administrathor/recruthor-traitement/desactiver/offreId/<?php echo $offre->offreId;?>">Désactiver l'offre</a>				
    				</td>
    				<td><a 	href="/administrathor/recruthor-traitement/delete/offreId/<?php echo $offre->offreId;?>"
    						onclick="if(!confirm('Etes-vous sur de vouloir supprimer cette offre.')){ return(false); }">Supprimer</a>
    				</td>
    			<?php $cptOffres++;?>
    			<?php endforeach; ?>
     
    		<?php endif; ?>
     
    			</tr>		
    	</table>
    l'appel au modèle dans mon contrôleur se fait comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $listOffres 			= $offresText->getListOffres(1, $this->params["critereDeTri"], $this->params["ordreDeTri"], $defaultLanguage, 1, $this->params['pageCible'], $maxPerPages);
    et enfin le modèle est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    public function getListOffres($actif = 1, $critereDeTri = "", $ordreDeTri = "", $langCode, $activatePages=0, $page=0, $rowPerPage=0, $isObject=true){
    				$sql = "SELECT  {$this->alias}.`offreId`,
    								{$this->alias}.`offreTitre`,
    								{$this->alias}.`offreText`,
    								{$this->alias}.`langCode`,
    								o.`offreActive`,
    								ct.`contratTitre`,
    								dt.`domaineTitre`,
    								lt.`localTitre`,
    								o.`offreDateModif` ";
     
    				$sqlTmp = "FROM  `{$this->table}` {$this->alias} 
    							INNER JOIN `recrutement_offre` o ON {$this->alias}.`offreId` = o.`offreId`
    							INNER JOIN `recrutement_domaine_text` dt ON o.`domaineId` = dt.`domaineId` AND {$this->alias}.langCode = dt.`langCode`
    							INNER JOIN `recrutement_contrat_text` ct ON o.`contratId` = ct.`contratId` AND {$this->alias}.langCode = ct.`langCode`
    							INNER JOIN `recrutement_local_text` lt ON o.`localId` = lt.`localId`       AND {$this->alias}.langCode = lt.`langCode`
    							LEFT JOIN `thermidor_language` l ON  {$this->alias}.`langCode` = l.`langCode`
    							WHERE {$this->alias}.langCode = '{$langCode}' AND  o.`offreActive` = {$actif} 
    							";
     
    				$sql	.= $sqlTmp;
    				$sql 	.= " GROUP BY {$this->alias}.`offreId` ";
     
    				if($critereDeTri != "" && $ordreDeTri != ""){
    					$sql .= " ORDER BY {$critereDeTri} {$ordreDeTri} ";
    				}
     
    				$page == "" ? $page = 0 : $page-1;
    				if($activatePages == 1){
    					$sql	.= " LIMIT {$page}, {$rowPerPage} ";
    				}
    				//echo $sql;
    				if($activatePages == 1){
    					$sqlMax		= "SELECT COUNT({$this->alias}.`offreId`) as count ";
    					$sqlMax		.= $sqlTmp;
    					$resMax      = Database::execute_sql($sqlMax);
    					$reponseMax  = $this->parseResult($resMax, $isObject);
    				}
     
    			if($rc = Database::execute_sql($sql))
    				$reponses = $this->parseResults($rc,$isObject);
     
    			if($activatePages == 1){
    				if($isObject == false){
    					return array($reponses, $reponseMax['count'], $rowPerPage);
    				}else{
    					return array($reponses, $reponseMax->count, $rowPerPage);
    				}
    			}else{
    				return $reponses;
    			}
    		}
    MERCI d'avance pour votre aide

  2. #2
    Membre du Club
    Femme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Novembre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur étude et développement

    Informations forums :
    Inscription : Novembre 2009
    Messages : 125
    Points : 55
    Points
    55
    Par défaut
    Mon problème c'est que j'affiche le résultat par langue donc je ne sais pas comment afficher les résultats qui ne sont pas traduits en les grisants:

  3. #3
    Membre du Club
    Femme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Novembre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur étude et développement

    Informations forums :
    Inscription : Novembre 2009
    Messages : 125
    Points : 55
    Points
    55
    Par défaut
    Bonjoour,
    Je viens de trouver une solution à mon problème qui est de faire un count sur les offres, et si le nombre d'offre associé à un contrat par exemple, impossible du supprimer ou du moin éviter de faire une erreur de suppression d'une offre associée a ce contrat, donc du coup avant de supprimer un contrat j'affiche le nombre d'offre associé à ce dernier donc ( a ne pas supprimer)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Supprimer les cellules qui ne sont pas colorées
    Par Gwadadev dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 22/05/2008, 10h45
  2. [W3C] Recherche d'un logiciel pour détecter les balises qui ne sont pas fermées
    Par Etanne dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 19/11/2007, 16h55
  3. Réponses: 10
    Dernier message: 15/12/2006, 07h34
  4. Réponses: 3
    Dernier message: 26/07/2006, 20h41
  5. Réponses: 4
    Dernier message: 02/06/2006, 12h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo