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
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); } ?>
Hors ligne
Tu as testé ce que j'avais donné? (moi non?)
As-tu installé ton plugin?
As-tu activé ton plugin?
Hors ligne
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
Tester pour voir si tu as bien le menu qui a changé de place!
Hors ligne
et ca fonctionne correctement? test ok ou ko?
Hors ligne
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!
Hors ligne