Fonction qui créé un bouton sous certaines conditions

Fermé
Sham73 - 25 avril 2013 à 16:16
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 29 avril 2013 à 14:34
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 lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
25 avril 2013 à 17:27
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
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
26 avril 2013 à 14:57
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

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

Posez votre question
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
26 avril 2013 à 15:23
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
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
26 avril 2013 à 16:05
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
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
26 avril 2013 à 16:17
$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
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
29 avril 2013 à 14:34
Ah je sais pas ! C'est ta fonction donc je sais si ton custom_field_get_definition prend le bon parametre !
0