Annonce

  •  » Plugins
  •  » plugin personnel

#1 2007-07-04 11:45:35

sniflili
Membre
2007-06-20
47

plugin personnel

Salut à tous, je suis débutant en php et html. Je voulais néanmoins faire mon plugin perso étant donner que les bouts de codes sont déja écrite sur les tutos. Mais voila sa ne marche pas !!! donc j'ai du faire une connerie si quelqu'un peut m'aider? c'est pour mettre la zones indentification en haut du menu. voila mon code " enfin façon de parler ":


<?php
/*
Plugin Name: Personal
Version: 1.0.0.0
Description: Modif Identification
Plugin URI: http://www.phpwebgallery.net
Author: Stéphane.D
Author URI: http://www.phpwebgallery.net
*/

add_event_handler('loc_begin_menubar', 'personal_deplacer_identification');
function personal_deplacer_identification()
{
  // Recupere et enleve le bout de code Identification
 
  /* Suppression d'une partie du code dans un template */
  /* Code compris entre la chaine $str_begin et $str_end */
function personal_remove_tpl_code($tlp_handle, $str_begin, $str_end)
{
  global $template;

  $template->loadfile($tlp_handle);

  $p_beg = strpos($template->uncompiled_code[$tlp_handle], $str_begin);
  $p_end = strpos($template->uncompiled_code[$tlp_handle], $str_end) + strlen($str_end);
  $s = substr($template->uncompiled_code[$tlp_handle], $p_beg, $p_end - $p_beg);

  $template->uncompiled_code[$tlp_handle] =
    substr_replace($template->uncompiled_code[$tlp_handle], '', $p_beg, $p_end - $p_beg);

  return $s;
}
 
  $s = personal_remove_tpl_code('menubar', '<dl id="mbIdentification">', '<!-- END quickconnect -->

  </dd>
</dl>');

  // Ajouter le bout de code Identification avant <!-- BEGIN links -->
 
  /* Ajout de code dans un template avant la chaine $insert_before */
function personal_add_before_tpl_code($tlp_handle, $insert_before, $code)
{
  global $template;

  $template->loadfile($tlp_handle);
  $template->uncompiled_code[$tlp_handle] = str_replace($insert_before, $code.$insert_before, $template->uncompiled_code[$tlp_handle]);
}
 
personal_add_before_tpl_code('menubar','<!-- BEGIN links -->',$s);
}

?>

merci

Hors ligne

#2 2007-07-04 11:52:31

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: plugin personnel

Essaie de mettre les fonctions à l'extérieur des autres fonctions, du style:

Code:

<?php
/*
Plugin Name: Personal
Version: 1.0.0.0
Description: Modif Identification
Plugin URI: http://www.phpwebgallery.net
Author: Stéphane.D
Author URI: http://www.phpwebgallery.net
*/

  /* Suppression d'une partie du code dans un template */
  /* Code compris entre la chaine $str_begin et $str_end */
function personal_remove_tpl_code($tlp_handle, $str_begin, $str_end)
{
  global $template;
 
  $template->loadfile($tlp_handle);
 
  $p_beg = strpos($template->uncompiled_code[$tlp_handle], $str_begin);
  $p_end = strpos($template->uncompiled_code[$tlp_handle], $str_end) + strlen($str_end);
  $s = substr($template->uncompiled_code[$tlp_handle], $p_beg, $p_end - $p_beg);
 
  $template->uncompiled_code[$tlp_handle] = 
    substr_replace($template->uncompiled_code[$tlp_handle], '', $p_beg, $p_end - $p_beg);
 
  return $s;
}

  /* Ajout de code dans un template avant la chaine $insert_before */
function personal_add_before_tpl_code($tlp_handle, $insert_before, $code)
{
  global $template;
 
  $template->loadfile($tlp_handle);
  $template->uncompiled_code[$tlp_handle] = str_replace($insert_before, $code.$insert_before, $template->uncompiled_code[$tlp_handle]);
} 


add_event_handler('loc_begin_menubar', 'personal_deplacer_identification');
function personal_deplacer_identification()
{
  // Recupere et enleve le bout de code Identification
  
  $s = personal_remove_tpl_code('menubar', '<dl id="mbIdentification">', '<!-- END quickconnect -->
 
  </dd>
</dl>');

  // Ajouter le bout de code Identification avant <!-- BEGIN links -->
  

  personal_add_before_tpl_code('menubar','<!-- BEGIN links -->',$s);
}

?>

Hors ligne

#3 2007-07-04 17:13:48

sniflili
Membre
2007-06-20
47

Re: plugin personnel

ha !!! ok, désolé mais tu vois pas ou j'ai merdé???

Hors ligne

#4 2007-07-04 18:08:50

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: plugin personnel

Tu as testé ce que j'avais donné? (moi non?)

As-tu installé ton plugin?
As-tu activé ton plugin?

Hors ligne

#5 2007-07-05 09:06:47

sniflili
Membre
2007-06-20
47

Re: plugin personnel

Oui j'ai bien installer et activer, mais testé ? testé quoi les lignes de commande pour le plugins, moi perso j'y connais rien donc pour moi ce qu'il y a d'écrit c'est parole d'évangile. donc je sais pas je fais quoi j'abandonne!!!

Dernière modification par sniflili (2007-07-05 09:08:02)

Hors ligne

#6 2007-07-05 10:42:02

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: plugin personnel

Tester pour voir si tu as bien le menu qui a changé de place!

Hors ligne

#7 2007-07-05 11:32:00

sniflili
Membre
2007-06-20
47

Re: plugin personnel

ben oui j'ai testé. Pourquoi le code est bon sinon?

Hors ligne

#8 2007-07-05 14:13:51

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: plugin personnel

et ca fonctionne correctement? test ok ou ko?

Hors ligne

#9 2007-07-06 11:40:01

sniflili
Membre
2007-06-20
47

Re: plugin personnel

ben ko j'ai pas d'erreur, mais j'ai pas de changement. C'est comme si j'avais rien fait en faite. Sinon si des personne on fait leur script perso et qu'il fonctionne je suis prenneur, merci.

Hors ligne

#10 2007-07-06 14:10:26

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: plugin personnel

J'ai eu du mal à tilter sur ce qui n'allait pas.

En fait, c'est à cause des retours, le fichier tpl est au format unix et ton plugin au format windows, donc le retour à la ligne pour le remplacement est mal interprété. Je ne sais pas si tu as compris, mais c'est la raison.

Pour palier au problème remplace la ligne

Code:

  $s = personal_remove_tpl_code('menubar', '<dl id="mbIdentification">', '<!-- END quickconnect -->'.chr(10).chr(10).'  </dd>'.chr(10).'</dl>');

Ce qui fait pour toi:

Code:

<?php
/*
Plugin Name: Personal
Version: 1.0.0.0
Description: Modif Identification
Plugin URI: http://www.phpwebgallery.net
Author: Stéphane.D
Author URI: http://www.phpwebgallery.net
*/

  /* Suppression d'une partie du code dans un template */
  /* Code compris entre la chaine $str_begin et $str_end */
function personal_remove_tpl_code($tlp_handle, $str_begin, $str_end)
{
  global $template;
 
  $template->loadfile($tlp_handle);
 
  $p_beg = strpos($template->uncompiled_code[$tlp_handle], $str_begin);
  $p_end = strpos($template->uncompiled_code[$tlp_handle], $str_end) + strlen($str_end);
  $s = substr($template->uncompiled_code[$tlp_handle], $p_beg, $p_end - $p_beg);
 
  $template->uncompiled_code[$tlp_handle] = 
    substr_replace($template->uncompiled_code[$tlp_handle], '', $p_beg, $p_end - $p_beg);
 
  return $s;
}

  /* Ajout de code dans un template avant la chaine $insert_before */
function personal_add_before_tpl_code($tlp_handle, $insert_before, $code)
{
  global $template;
 
  $template->loadfile($tlp_handle);
  $template->uncompiled_code[$tlp_handle] = str_replace($insert_before, $code.$insert_before, $template->uncompiled_code[$tlp_handle]);
} 


add_event_handler('loc_begin_menubar', 'personal_deplacer_identification');
function personal_deplacer_identification()
{
  // Recupere et enleve le bout de code Identification
  
  $s = personal_remove_tpl_code('menubar', '<dl id="mbIdentification">', '<!-- END quickconnect -->'.chr(10).chr(10).'  </dd>'.chr(10).'</dl>');

  // Ajouter le bout de code Identification avant <!-- BEGIN links -->
  

  personal_add_before_tpl_code('menubar','<!-- BEGIN links -->',$s);
}

?>

Je vais mettre à jour le WIKI!

Hors ligne

#11 2007-07-10 10:55:53

sniflili
Membre
2007-06-20
47

Re: plugin personnel

Salut rub, NIKEL ton script il marche super. Je te dis un grand merci pour avoir passer du temps sur mon problème. Je compte en tester d'autre je te tien au courant. encore merci

Hors ligne

  •  » Plugins
  •  » plugin personnel

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact