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
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
$s = personal_remove_tpl_code('menubar', '<dl id="mbIdentification">', '<!-- END quickconnect -->'.chr(10).chr(10).' </dd>'.chr(10).'</dl>');
Ce qui fait pour toi:
<?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!
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.
et ca fonctionne correctement? test ok ou ko?
ben oui j'ai testé. Pourquoi le code est bon sinon?
Tester pour voir si tu as bien le menu qui a changé de place!
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!!!
Tu as testé ce que j'avais donné? (moi non?)
As-tu installé ton plugin?
As-tu activé ton plugin?
ha !!! ok, désolé mais tu vois pas ou j'ai merdé???
Essaie de mettre les fonctions à l'extérieur des autres fonctions, du style:
<?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); } ?>
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