Pages: 1
Bonjour
J'utilisais jusqu'à présent themechanger, mais beaucoup trop lourd à gérer pour mon véritable besoin.
- j'ai un theme enfant à partir de défaut (avec un theme.css et des theme_voyages.css, theme_vacances.css, ...)
je tente donc, en fonction de l'album sélectionner d'insérer dans ce style un autre css complémentaire (définition des images des background Body-The_page-theHeader..essentiellement)
Fortement inspiré de l'exemple de flop25, j'ai ajouté cette partie à mon plungin personnel
add_event_handler('loc_after_page_header', 'MyCss');
function MyCss() {
global $page, $template;
$cat_name=array('Voyages','Vacances','Fetes','Personnel','Vietnam');
if (isset($page['category'])) {
if (isset($page['category']['name'])) {
$upper_names=array();
foreach ($page['category']['upper_names'] as $upper) {
$upper_names[]=$upper['name'];
}
foreach ($cat_name as $Albums) {
if (in_array($Albums, $upper_names )) {
$template->assign('cat_name', $Albums);
//print_r($Albums);
}
}
}
else
{
$template->assign('cat_name', $Albums['category']['name']);
}
}
}
j'ai ajouté cela à une copie de header.tpl ...
.....
{if $load_css}
{if ($cat_name == 'Voyages') }
{combine_css path="themes/...../theme_voyages.css" order=-10}
{/if}
{if ($Albums.themeStyle == 'Vacances') }
{combine_css path="themes/..../theme_vacances.css" order=-10}
{else}
{combine_css path="themes/...../theme.css" order=-10}
{/if}
{/if}
Mais cela ne marche pas.....(et pas d'erreurs)
le forum, la doc de long en large....je ne comprends pas ce qu'il faut faire.
Si vous pouvez me donner un petit coup de pouce ?
un grand Merci
Version de Piwigo: 2.8.3
Version de PHP: 7.0.2
Version de MySQL: 5.5
URL Piwigo: http://
Hors ligne
Bonjour
je veux bien le lien de où j'ai écris cela (juste pour me rafraichir)
ce qu'il faut faire dans ces cas là c'est étape par étape voir ce qui ne va pas "en remontant", cad en regardant si d'abord le tpl marche en affichant du texte "visible facilement dans le code"
{if $load_css}
{if ($cat_name == 'Voyages') }
FUCKcat_nameMarchePas
{/if}
{if ($Albums.themeStyle == 'Vacances') }
FUCKthemeStyle MarchePas
{else}
{combine_css path="themes/...../theme.css" order=-10}
FUCKlePHPmarchePas
{/if}
{/if}
FUCKcestLaFin
de même après pour le code php etc
d'ailleurs vu que vous avez un thème enfant autant mettre le code php dans le theme config
Hors ligne
Bonsoir Flop25,
Bonsoir à tous,
le lien de mon "inspiration" : http://fr.piwigo.org/forum/viewtopic.php?id=21474
J'ai donc supprimé le header.tpl local
et modifié le theneconf.inc.php ainsi
<?php
/*
Theme Name: Sphere91
Version: 1
Description: Fond noir et niveau de gris. Poteau argent extensible sur la gauche.
Author: Philippe basé sur differents autres thèmes (Dark, Sakura, ...)
*/
global $conf, $user, $Albums;
if ($load_css){
if ($cat_name == 'Voyages'){
print_r('cat_name MarchePas');
}
if ($Albums.themeStyle == 'Vacances') {
print_r('themeStyle MarchePas');
}
else {
//combine_css path='themes/Sphere91/theme_Sphere91.css' order=-10;
print_r('PHP marchePas');
}
print_r('CestLaFin');
}
$themeconf = array(
'name' => 'sphere91',
'parent' => 'default',
'icon_dir' => 'themes/sphere91/icon',
'mime_icon_dir' => 'themes/sphere91/icon/mimetypes/',
);
?>
et de ce fait les erreurs suivantes .
Notice: Undefined variable: load_css in /..../themes/sphere91/themeconf.inc.php on line 11
et
Warning: Cannot modify header information - headers already sent by (output started at /......./themes/sphere91/themeconf.inc.php:11) in ......../include/page_header.php on line 101
Merci de votre aide
Hors ligne
ha oui mais le add_event_handler etc faut le remettre :)
Hors ligne
bonjour,
Après des essais dans tous les sens...
revenu à la version plugin perso
add_event_handler('loc_after_page_header', 'MyCss');
function MyCss() {
global $page, $template, $ban, $cat_name ;
$cat_name=array('Voyages','Vacances','Fetes','x Personnel');
if (isset($page['category'])) {
if (isset($page['category']['name'])) {
$upper_names=array();
foreach ($page['category']['upper_names'] as $upper) {
$upper_names[]=$upper['name'];
}
foreach ($cat_name as $ban) {
if (in_array($ban, $upper_names )) {
$template->assign('cat_name', $ban);
print_r($ban);
}
}
}
else {
$template->assign('cat_name', 'sphere');
}
}
}
en ajoutant le smaty {debug} sur header.tpl,
la variable cat_name ne passe pas....
le print_r() l'affiche pourtant bien.
merci de votre aide
Hors ligne
Bonjour,
remarques : je me baserais sur ID e l'album pour faire cela ;-)
le nom peux varier dans le temps, plusieurs album peuvent avoir le même nom
Hors ligne
Bonjour,
Je dirais que pour regarder comment choisir un album par son id regarder le plugin meta
pour regarder comment ajouter du code dans le header regarder le plugin Add < head > Element
Hors ligne
Pages: 1