Fonction qui créé un bouton sous certaines conditions

Fermé
Signaler
-
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
-
Bonjour,

J'aimerais une fonction qui créé un bouton seulement à un endroit.
Pour expliquer la situation, j'ai une classe catégorie avec différents attributs dont l'attribut "name". Une des valeurs de l'attribut "name" est "time spent". Je veux donc que le bouton ne se créé que à cet endroit.

J'ai essayé de récupérer l'endroit "time spent", et la catégorie de différentes manières mais je ne sais vraiment pas faire.. :/ Pouvez vous m'aider?

function html_buttons_link_time_spent($p_link){
category::name;
$_link = $this->getCategory();

$attributes = $_link->getAttributes();
$_mon_attribut= $_link->getResource()->getAttribute()->getFrontend()->getValue($_link);

$res=getname();
$res2=$res["Type"];

if ($res2 == "Time Spent"){ // ou if ($_mon_attribut == "Time Spent (test)")

$p_link="http://www.google.com"
'<input type="button" value="LIVRABLE" OnClick="window.location.href=\'http://p_link\'">'
}
}

11 réponses

Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
78
Salut !

Mmh c'est pas spécialement clair.

Mais fais le lors de la génération de tes catégories, non ?
Quand tu sors tes catégories de BDD, tu boucles, tu les affiches dans un menu ?
0
En fait c'est une fonction que je veux insérer dans ce code (il s'agit d'un bout de code pour un site web).

# Custom Fields
$t_custom_fields_found = false;
$t_related_custom_field_ids = custom_field_get_linked_ids( $tpl_bug->project_id );

foreach( $t_related_custom_field_ids as $t_id ) {
if ( !custom_field_has_read_access( $t_id, $f_bug_id ) ) {
continue;
} # has read access

$t_custom_fields_found = true;
$t_def = custom_field_get_definition( $t_id );

echo '<tr ', helper_alternate_class(), '>';
echo '<td class="category">', string_display( lang_get_defaulted( $t_def['name'] ) ), /** (insérer la fonction ici) */ '</td>';
echo '<td colspan="5">';
print_custom_field_value( $t_def, $t_id, $f_bug_id );
echo '</td></tr>';
}

if ( $t_custom_fields_found ) {
# spacer
echo '<tr class="spacer"><td colspan="6"></td></tr>';
} # custom fields found
0
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
78
Ok ok, donc tu mets toutes tes catégories dans une table
Donc la où tu as mis le /** insérer la fonction ici */, c'est la où tu veux mettre le bouton si c'est la catégorie time spent c'est ca ?
Bah il faut que ta fonction prenne l'id en parametre, tu fais un get de ta catégorie, tu regardes son attribut, si c'est time spent tu fais un echo de ton bouton, sinon tu fais rien !
0
Oui voilà c'est ca... J'ai essayé de faire la fonction suivante mais ca ne fonctionne pas, ca me bloque mon foreach au sein du code du site...

function html_buttons_link_time_spent($t_id){

$macategorie->custom_field_get_linked_ids( $tpl_bug->project_id ); // donne la définition du champs voulu

if( $macategorie->getName() == 'timespent'){
$p_link= "http://www.google.com";
echo '<input type="button" value="defaut" OnClick="window.location.href="http://'.$p_link.'" >';
}
}
0
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
78
Mmh ca devrait marché. Comment tu appelles ta fonction ?
0
Voilà le code d'origine auquel j'ajoute ma fontion...

echo '<td class="category">', string_display( lang_get_defaulted( $t_def['name'] ) ), html_buttons_link_time_spent($t_id),'</td>';

En fait quand je fais ça, ca ne me met pas d'erreur mais ca fait comme si tout le reste situé après n'existait pas, sur ma page du site, plus rien n'existe après...
0
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
78
C'est à dire ? Après tes catégories il n'y a plus rien ? aucun text ? page blanche ?
0
Ouais voilà, page blanche. Jcromprends pas. Et n'importe où que je mette ma fonction, ca me fais une page blanche après. Elle doit tout faire planter mais alors pk...
0
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
78
$macategorie->custom_field_get_linked_ids( $tpl_bug->project_id );
Ton $t_id passé en parametre tu ne l'utilise pas, c'est normal ?
0
Euhh surement non.. c'est mieux comme ca?

function html_buttons_link_time_spent($t_id){
			$macategorie->custom_field_get_definition( $t_id ); // donne la définition du champs voulu.
			if( $macategorie->getName() == 'timespent'){	
				$p_link= "http://www.google.com";
				echo '<input type="button" value="defaut" OnClick="window.location.href="http://'.$p_link.'" >';
			
			}
	} 
0
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
78
Ah je sais pas ! C'est ta fonction donc je sais si ton custom_field_get_definition prend le bon parametre !
0