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)

makno
2011-02-28 20:24:11

Merci Repié pour ton intervention, et pas de soucis, ça avancera au rythme que ça pourra...

Bon, comme ça m'agaçait, j'ai remis réinstallé le plugin de test tel que proposé dans le wiki .Ça fonctionne.
1) Donc, à partir de la base de ce plugin "test", je crois que la première étape est de le renommer et que ça fonctionne. Je n'ai pas de fichier admin_sh.php, pas évoqué dans ce tuto. Que dois-je mettre dedans et ou dois-je le placer ?
2) Puis, intégrer le code que tu me passes dedans
3) Puis, coder pour que dans la fenêtre d'administration, on puisse choisir une image dans une catégorie (ou choisir une catégorie créée pour la circonstance dans laquelle je ne met qu'une imga) et l'attribuer en header à une catégorie et ses catégories filles.

ddtddt, ce découpage est juste ? Si oui on pourra procéder par étape..

repie38
2011-02-28 18:16:34

pour recup la liste des galeries/albums :
dans admin.php

Code:

display_select_cat_wrapper( 
'SELECT id,name,uppercats,global_rank FROM '.CATEGORIES_TABLE, 
array(), 
'categories' 
);

dans admin.tpl

Code:

<select class="categoryDropDown" name="{$i.CURRENT_THEME_ID}selected_cat"> 
{html_options options=$categories selected=$i.CATSELECTED} 
</select>

(à réadapter bien sur ... pour s'inspirer voir :
http://piwigo.org/dev/browser/extension … e_conf.tpl
http://piwigo.org/dev/browser/extension … _admin.php
)

repie38
2011-02-28 18:00:48

j'ai bien eu le message de notification ;)
je n'ai pas vraiment de temps a accorder desolé, mais pour aider en vite fait :
-n'y a t'il pas d'autres erreurs affichées avant le message que tu as copié ? (meme caché dans la page, regarde la source pour etre sur) ?
-le fichier admin/sh_admin.php exist t'il ?

makno
2011-02-28 09:00:58

Un petit up sur ce message...toujours bloqué, je ne sais pas pourquoi...

makno a écrit:

ok, alors j'ai commencé. J'ai modifié le nom du plugin "test" et dans main.inc.php, le nom de la class, dans
function plugin_admin_menu($menu) l'url vers le fichier admin.php, etc...

Lorsque j'installe le plugin j'obtiens :

Code:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/virtual/instants-de-scenes.com/htdocs/piwigo21/plugins/Static_Header/main.inc.php:1) in /var/www/virtual/instants-de-scenes.com/htdocs/piwigo21/include/user.inc.php on line 29

Warning: Cannot modify header information - headers already sent by (output started at /var/www/virtual/instants-de-scenes.com/htdocs/piwigo21/plugins/Static_Header/main.inc.php:1) in /var/www/virtual/instants-de-scenes.com/htdocs/piwigo21/include/page_header.php on line 98

Peux-tu me dire d'où cela vient  dans mon main.inc ? Je te le livre :

Code:

<?php
/*
Plugin Name: Static Header
Version: 0.1
Description: Static Header allow you to show in the header a static picture from the choosen categorie, as a normal image, or as a background
Plugin URI: 
Author: makno
*/
if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
class StaticHeader
{
    var $my_config;
    function load_config()
    {
        $x = @file_get_contents( dirname(__FILE__).'/data.dat' );
        if ($x!==false)
        {
            $c = unserialize($x);
            // do some more tests here
            $this->my_config = $c;
        }
 
        if ( !isset($this->my_config)
            or empty($this->my_config['TestPlugin1']) )
        {
            $this->my_config['TestPlugin1'] = 'blabla';
            $this->my_config['TestPlugin2'] = 'ma deuxieme variable';
            $this->save_config();
        }
    }
    function save_config()
    {
        $file = fopen( dirname(__FILE__).'/data.dat', 'w' );
        fwrite($file, serialize($this->my_config) );
        fclose( $file );
    }
    function plugin_admin_menu($menu)
    {
        array_push($menu,
            array(
                'NAME' => 'Static Header',
                'URL' => get_admin_plugin_menu_link(dirname(__FILE__).'/admin/sh_admin.php')
            )
        );
        return $menu;
    }
}
$obj = new StaticHeader();
$obj->load_config();
 
add_event_handler('get_admin_plugin_menu_links', array(&$obj, 'plugin_admin_menu') );
set_plugin_data($plugin['id'], $obj)
?>

pendant ce temps, je vais essayer de comprendre comment récupérer la liste des galeries pour l'afficher dans ma première liste de choix dans la fenêtre :)

makno
2011-02-20 18:07:32

Oui Gotcha, je vais faire ça en //

Je vais continuer aussi sur ce plugin à titre pédagogique, je crois qu'il est temps que je m'y mette...

Gotcha
2011-02-20 18:02:17

@ Makno :

Contacte l'auteur du plugin pour voir s'il peut t'aider :-)
Ce serait bien que Random Header puisse avoir cette fonctionnalité ;-)

makno
2011-02-20 18:01:57

ok, alors j'ai commencé. J'ai modifié le nom du plugin "test" et dans main.inc.php, le nom de la class, dans
function plugin_admin_menu($menu) l'url vers le fichier admin.php, etc...

Lorsque j'installe le plugin j'obtiens :

Code:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/virtual/instants-de-scenes.com/htdocs/piwigo21/plugins/Static_Header/main.inc.php:1) in /var/www/virtual/instants-de-scenes.com/htdocs/piwigo21/include/user.inc.php on line 29

Warning: Cannot modify header information - headers already sent by (output started at /var/www/virtual/instants-de-scenes.com/htdocs/piwigo21/plugins/Static_Header/main.inc.php:1) in /var/www/virtual/instants-de-scenes.com/htdocs/piwigo21/include/page_header.php on line 98

Peux-tu me dire d'où cela vient  dans mon main.inc ? Je te le livre :

Code:

<?php
/*
Plugin Name: Static Header
Version: 0.1
Description: Static Header allow you to show in the header a static picture from the choosen categorie, as a normal image, or as a background
Plugin URI: 
Author: makno
*/
if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
class StaticHeader
{
    var $my_config;
    function load_config()
    {
        $x = @file_get_contents( dirname(__FILE__).'/data.dat' );
        if ($x!==false)
        {
            $c = unserialize($x);
            // do some more tests here
            $this->my_config = $c;
        }
 
        if ( !isset($this->my_config)
            or empty($this->my_config['TestPlugin1']) )
        {
            $this->my_config['TestPlugin1'] = 'blabla';
            $this->my_config['TestPlugin2'] = 'ma deuxieme variable';
            $this->save_config();
        }
    }
    function save_config()
    {
        $file = fopen( dirname(__FILE__).'/data.dat', 'w' );
        fwrite($file, serialize($this->my_config) );
        fclose( $file );
    }
    function plugin_admin_menu($menu)
    {
        array_push($menu,
            array(
                'NAME' => 'Static Header',
                'URL' => get_admin_plugin_menu_link(dirname(__FILE__).'/admin/sh_admin.php')
            )
        );
        return $menu;
    }
}
$obj = new StaticHeader();
$obj->load_config();
 
add_event_handler('get_admin_plugin_menu_links', array(&$obj, 'plugin_admin_menu') );
set_plugin_data($plugin['id'], $obj)
?>

pendant ce temps, je vais essayer de comprendre comment récupérer la liste des galeries pour l'afficher dans ma première liste de choix dans la fenêtre :)

ddtddt
2011-02-20 17:42:45

makno a écrit:

mais l'appétit venant en mangeant, figure toi que j'ai d'autres ambitions.

Un jolie plugin rapidement dans le gestionnaire ;-)

makno
2011-02-20 17:15:48

Ah ça c'est le cas du plugin "event cats" évoqué dans le wiki

mais l'appétit venant en mangeant, figure toi que j'ai d'autres ambitions. En installant le plugin de test, je suis en mesure (qu'est-ce que je suis balèze) d'activer la fenêtre jointe en photo.

Pourquoi ne pas faire comme Random header ? en variable 1, on choisit  une galerie dédiée, en varaible 2 on choisit l'imag e de la galerie,  En variable 3 on décide les catégories ou elle est affectée...

Qu'est-ce qui serait le plus simple pour un nouveau plugin, rependre Random Header et supprimer la fonction aléatoire, ou reconstruire ?

Je vais voir de plus près RH, merci de ta réponse

ddtddt
2011-02-20 13:04:53

non $conf['page_banner']  est un élément de Piwigo si tu le modifie il ne sera pas pris en compte

je dirais plutôt un genre

add_event_handler('loc_begin_index', 'banner');

function banner()
{
  global $page;

  $banner1 = array(1, 6, 2);
  $banner2 = array(3, 4);

  if (isset($page['category']['id']) and in_array($page['category']['id'], $banner1))
  {
global $conf;
$conf['page_banner'] = '<a href="adresse de la page concernée"'
. '<img src="adresse de l'image la banner1" border=0</a>';
    }


  if (isset($page['category']['id']) and in_array($page['category']['id'], $banner2))
  {
global $conf;
$conf['page_banner'] = '<a href="adresse de la page concernée"'
. '<img src="adresse de l'image de la banner2" border=0</a>';
    }

  else
  {
global $conf;
$conf['page_banner'] = '<a href="adresse de la page concernée"'
. '<img src="adresse de l'image de la banner par defaut" border=0</a>';
    }

}

Mais je n'ai pas testé

dans l'exemple si dessus les albums 1, 6, 2 aurais la banière 1 . . .

makno
2011-02-20 12:07:40

bon j'en déduis que :

Code:

global $conf;
$conf['page_banner'] = '<a href="adresse de la page concernée"'
 . '<img src="adresse de l'image à appliquer" border=0</a>';

Et que pour chaque bannière différente je fais $conf['page_banner1']...$conf['page_banner2']..correct ?

Et je met ça dans le main.inc.php de mon plugin ? Si oui, ou?

makno
2011-02-20 11:51:00

Bon me revoilà. j'ai suivi le wiki pas à pas, cette page

J'ai compris quelques trucs (pas tout), enfin ça fonctionne. j'ai un plugin de test qui s'affiche dans mon menu de plugin, et quand je clique dessus j'ai une fenêtre qui s'ouvre ou je peux paramétrer..

ddtddt
2011-02-20 10:26:03

makno a écrit:

Ah bah oui...je me doutais bien qu'un jour je n'allais pas y couper...alors étape 1 le wiki, je crois qu'il y a une page "le plugin pour les nuls"....et je reviens ici avant de me mettre à pleurer quand je comprendrais plus rien :)

Dans le Wiki je regarderais surtout ceci

Methode 3 ;-)

Tu tests l'album dans le quel tu est et tu imposes le paramètre de conf
c'est la première idée qui me viens à l'esprit, il y a peux être mieu

makno
2011-02-20 10:22:11

Ah bah oui...je me doutais bien qu'un jour je n'allais pas y couper...alors étape 1 le wiki, je crois qu'il y a une page "le plugin pour les nuls"....et je reviens ici avant de me mettre à pleurer quand je comprendrais plus rien :)

ddtddt
2011-02-20 09:59:51

Faire un petit plugin pour la gestion de ton header ;-)

Pied de page des forums

Propulsé par FluxBB

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