Fonction qui créé un bouton sous certaines conditions

Sham73 -  
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   -
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\'">'
}
}
A voir également:

11 réponses

jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
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
Sham73
 
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
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
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
Sham73
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Mmh ca devrait marché. Comment tu appelles ta fonction ?
0
Sham73
 
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
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
C'est à dire ? Après tes catégories il n'y a plus rien ? aucun text ? page blanche ?
0
Sham73
 
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
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
$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
Sham73
 
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
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Ah je sais pas ! C'est ta fonction donc je sais si ton custom_field_get_definition prend le bon parametre !
0