Bonjour,
J'ai essayé d'adapter la fonction qui permet de changer l'image du header selon le module affiché, à mon thème : Mx-green portal.
Fonction décrite par Diabolo :
Image du header qui change en fonction du moduleJ'ai fait plusieurs essais et le code fonctionne finalement mais il me remplit le journal d'erreur de SMF avec ceci :
8: Undefined index: imcontent
Fichier: D:\wamp\www\pragmamx1\themes\mx-blue_portal\functions.php
Ligne: 154
Ce que j'ai modifié :
Dans le theme.html:Remplacement de logo.png par la variable {PHOTOS} (ligne 61]
ce qui donne ceci : (ligne 55 à 62)
<tr>
<td valign="top">
<table border="0" cellpadding="0" cellspacing="1" width="100%" style="height: 175">
<tr>
<td width="740" style="border: 1px solid #4C4E4D;">
<img src="themes/mx-blue_portal/images/{PHOTOS}">
</td>
Ensuite dans function.php :On ne retrouve pas la ligne décrite dans le tuto
defined('mxMainFileLoaded') or die('access denied');
mais :
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
Desous j'ai donc ajouté les lignes citées dans le tuto ce qui donne : (lignes 14 à 21)
* $Date: 2006/03/05 16:16:53 $
*/
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
/**
* Inclure Themesettings
*/
include(MX_THEME_DIR . '/themesettings.php');
// / Dateiname des templates
Par contre la fonction "function theme_define_placeholders() " ne figure pas dans mon function.php,
j'ai donc fait divers essais pour placer la ligne:
$part[] = array("{PHOTOS}", photos($GLOBALS['im'], $GLOBALS['imcontent']));
Au final je l'ai mise dans la fonction "function theme_replace_start($template)"
(ligne 154) et cela donne :
function theme_replace_start($template)
{
// bestimmte Texte, vor allem Image-Pfade, die ersetzt werden sollen, definieren (suche/ersetze)
$part[] = array("\"images/", "\"" . MX_BASE_URL . MX_THEME_DIR . "/images/"); // normale images im theme
$part[] = array("\"style/", "\"" . MX_BASE_URL . MX_THEME_DIR . "/style/");
$part[] = array("\"js/", "\"" . MX_BASE_URL . MX_THEME_DIR . "/js/");
$part[] = array("url(images/", "url(" . MX_BASE_URL . MX_THEME_DIR . "/images/");
# $part[] = array(",'images/", ",'".MX_BASE_URL.MX_THEME_DIR."/images/"); // preload
// / weitere Beispiele dazu
# $part[] = array("\"
http://themes.pragmamx.org/", "\"".MX_BASE_URL);
$part[] = array("{FOOTMESSAGE}", footmsg(1, 0));
$part[] = array("{VIEWBENCH}", mxViewBench());
$part[] = array("{CURRENTPATH}", mx_theme_currentpath());
$part[] = array("{SEARCHFORM}", mx_theme_searchform());
$part[] = array("{LOGINFORM}", mx_theme_loginform());
$part[] = array("{SHOWDATE}", mx_show_date());
$part[] = array("{SHOWTIME}", mx_show_time());
$part[] = array("{SHOWTOTALUSER}", mx_total_user_online());
$part[] = array("{PHOTOS}", photos($GLOBALS['im'], $GLOBALS['imcontent'])); return theme_replace_parts($template, $part);
}
Pour le reste pas de soucis ajout de la fonction "PHOTOS" tout au bas du function.php sous la dernière accolade de la fonction "Format Story"
Puis création et mise en place du fichier themesettings.php
J'ai le même message d'erreur sur mon site officiel :
Appliquer le filtre: Montrer les erreurs qui ont un même message
8: Undefined index: imcontent
Fichier: /home/www/axxxxxxxxxxxxxxxxxxxxxxxxxxxxxd/web/themes/mx-blue_portal/functions.php
Ligne: 154
Une solution ?

Edit 17.03.2009 :
Pour le moment je n'ai pas trouvé de solution au problème par contre il en existe une pour empêcher votre journal d'erreur SMF de remplir votre base de donnée inutilement.
Dans l'admin du forum "Réglages et options" décocher la case "activer l'indexation des erreurs" et voila plus d'erreurs dans le journal et donc je suppose idem pour la BDD.
@+