Annonce

Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

ddtddt
2016-11-30 10:44:38

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

bvl
2016-11-30 08:07:39

Bonjour,

Oui, mais ou et comment ?

Merci

ddtddt
2016-11-29 22:50:54

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

bvl
2016-11-29 11:02:25

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

flop25
2016-11-25 22:15:08

ha oui mais le add_event_handler etc faut le remettre :)

bvl
2016-11-25 19:13:15

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

flop25
2016-11-25 15:42:14

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

bvl
2016-11-25 15:00:25

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://

Pied de page des forums

Propulsé par FluxBB

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