•  » Utilisation
  •  » Lien LINK qui ouvre une fenetre en pop up ?

#1 2007-01-18 15:09:14

radiolak
Membre
2006-11-04
26

Lien LINK qui ouvre une fenetre en pop up ?

Bonjour,

j'aimerai pouvoir ouvrir des liens externes mais en popup (sans la toolbar ou scrool bar); actuellement ça ouvre une nouvelle page avec target="_blank"...

On dirait qu'avec la branche 1.7 ça sera possible; est ce que ca sera valable pour TOUS les liens externes ou pourra-t-on specifier le type de popup ou de nouvelle fenetre pour chaque lien ?

Merci de vos reponses :)


http://tostaky.org/    1.6.2 modifiée a l'arrache ! désolé pour les puristes ... je ferai mieux la prochaine fois.. ici peut etre
.. ou encore la pour le bon vieux juke-box..

Hors ligne

#2 2007-01-18 15:14:01

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Lien LINK qui ouvre une fenetre en pop up ?

Rub va te répondre (pour chaque lien, tu choisiras). 8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#3 2007-01-18 18:17:57

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: Lien LINK qui ouvre une fenetre en pop up ?

VDigital a déjà bien répondu ;-)

Donc effectivement, pour la section "Liens", tu pourras choisir l'ouverture de ton choix.
Par défaut, je risque de passer en ouverture dans une nouvelle fenêtre car généralement, je pense que c'est que l'on veut faire. (non?)

Il y aura aussi la possibilité de d'afficher ou non le lien suivant des critères en php.
Donc, ca permettra tres simplement de n'afficher un lien uniquement pour que un admin ou que pour un guest.

Ce soir, je te donnerais ce qu'il faut pour modifier une version 1.6 (ca sera assez simple et rapide).

Hors ligne

#4 2007-01-18 23:21:08

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: Lien LINK qui ouvre une fenetre en pop up ?

Voila le code pour le faire en 1.6.x


Fichier /include/config_default.inc.php:
Rechercher $conf['links'] = array();
Remplace

Code:

// links : list of external links to add in the menu. An example is the best
// than a long explanation :
//
// $conf['links'] = array(
//   'http://phpwebgallery.net' => 'PWG website',
//   'http://forum.phpwebgallery.net' => 'PWG forum',
//   'http://phpwebgallery.net/doc' => 'PWG wiki'
//   );
//
// If the array is empty, the "Links" box won't be displayed on the main
// page.
$conf['links'] = array();

par

Code:

// links : list of external links to add in the menu. An example is the best
// than a long explanation :
//
// Simple use:
//  for each link is associated a label
//  $conf['links'] = array(
//    'http://phpwebgallery.net' => 'PWG website',
//    'http://forum.phpwebgallery.net' => 'PWG forum',
//    'http://phpwebgallery.net/doc' => 'PWG wiki'
//    );
//
// Advenced use:
//  You can also used special options. Instead to pass a string like parameter value 
//  you can pass a array with different optional parameter values
//  $conf['links'] = array(
//    'http://phpwebgallery.net' => array('label' => 'PWG website', 'new_window' => false, 'eval_visible' => 'return true;'),
//    'http://forum.phpwebgallery.net' => array('label' => 'For ADMIN', 'new_window' => true, 'eval_visible' => 'return is_admin();'),
//    'http://phpwebgallery.net/doc' => array('label' => 'For Guest', 'new_window' => true, 'eval_visible' => 'return $user[\'is_the_guest\'];'),
//    );
// Parameters:
//  'label':
//    Label to display for the link, must be defined
//  'new_window':
//    If true open link on tab/window
//    [Default value is true if it's not defined]
//  'eval_visible':
//    It's php code witch must return if the link is visible or not
//    [Default value is true if it's not defined]
//
// Equivalence:
//  $conf['links'] = array(
//    'http://phpwebgallery.net' => 'PWG website',
//    );
//  $conf['links'] = array(
//    'http://phpwebgallery.net' => array('label' => 'PWG website', 'new_window' => false, 'visible' => 'return true;'),
//    );
//
// If the array is empty, the "Links" box won't be displayed on the main
// page.
$conf['links'] = array();

Dedans, il y a des exemples!

Fichier /include/menubar.inc.php:
Rechercher if (count($conf['links']) > 0)
Remplace

Code:

if (count($conf['links']) > 0)
{
  $template->assign_block_vars('links', array());

  foreach ($conf['links'] as $url => $label)
  {
    $template->assign_block_vars(
      'links.link',
      array(
        'URL' => $url,
        'LABEL' => $label
        )
      );
  }
}

par

Code:

if (count($conf['links']) > 0)
{
  $template->assign_block_vars('links', array());

  foreach ($conf['links'] as $url => $url_data)
  {
    if (!is_array($url_data))
    {
      $url_data = array('label' => $url_data);
    }

    if 
      (
        (!isset($url_data['eval_visible']))
        or
        (eval($url_data['eval_visible']))
      )
    {
      $template->assign_block_vars(
        'links.link',
        array(
          'URL' => $url,
          'LABEL' => $url_data['label']
          )
        );
      if (!isset($url_data['new_window']) or $url_data['new_window'])
      {
        $template->assign_block_vars('links.link.new_window', array('1'=>'1'));
      }
    }
  }
}

Fichier /template/yoga/menubar.tpl:
Rechercher <!-- BEGIN links -->
Remplace

Code:

<!-- BEGIN links -->
<dl id="mbLinks">
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
      <!-- BEGIN link -->
      <li><a href="{links.link.URL}">{links.link.LABEL}</a></li>
      <!-- END link -->
    </ul>
  </dd>
</dl>
<!-- END links -->

par

Code:

<!-- BEGIN links -->
<dl id="mbLinks">
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
      <!-- BEGIN link -->
      <li>
        <a href="{links.link.URL}"
        <!-- BEGIN new_window -->
         onclick="window.open(this.href, ''); return false;"
        <!-- END new_window -->
        >{links.link.LABEL}
        </a>
      </li>
      <!-- END link -->
    </ul>
  </dd>
</dl>
<!-- END links -->

Fichier /include/config_local.inc.php:
Tu y rajoutes tes liens

Code:

  $conf['links'] = array(
    'http://phpwebgallery.net' => 'test',
    'http://forum.phpwebgallery.net' => array('label' => 'For ADMIN', 'new_window' => true, 'eval_visible' => 'return is_admin();'),
  );

Hors ligne

#5 2007-01-19 09:39:06

radiolak
Membre
2006-11-04
26

Re: Lien LINK qui ouvre une fenetre en pop up ?

merci bien, j'ai essayé de mettre en oeuvre ceci ... 

Vu mes faibles competences, j'ai essayé de comprendre un peu ce que je recopiais.. mais a vrai dire, je ne vois pas bien quel paramètre je dois mettre pour qu'un des liens s'ouvre dans un popup avec par exemple "width=500,height=350,location=no,status=no,toolbar=no,scrollbars=no" ...

A priori, je comprends pour que le lien s'affiche selon l'utilisateur mais pour le type d'ouverture de fenetre, je sais pas ou positionner le code. dans le menubar.tpl ? mais ça sera pour tous les liens non ?

J'abuse si je demande encore de l'aide et/ou des infos?

merci encore.


http://tostaky.org/    1.6.2 modifiée a l'arrache ! désolé pour les puristes ... je ferai mieux la prochaine fois.. ici peut etre
.. ou encore la pour le bon vieux juke-box..

Hors ligne

#6 2007-01-19 10:31:06

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Lien LINK qui ouvre une fenetre en pop up ?

Tu demandais "Lien LINK qui ouvre une fenetre en pop up ?" je crois.
8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#7 2007-01-19 10:58:07

radiolak
Membre
2006-11-04
26

Re: Lien LINK qui ouvre une fenetre en pop up ?

oui c'est cela VDigital... et la, il me semble qu'il y ait le meme comportement qu'avant, c'est a dire que ca ouvre une nouvelle page ...
8-)


http://tostaky.org/    1.6.2 modifiée a l'arrache ! désolé pour les puristes ... je ferai mieux la prochaine fois.. ici peut etre
.. ou encore la pour le bon vieux juke-box..

Hors ligne

#8 2007-01-19 11:10:05

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Lien LINK qui ouvre une fenetre en pop up ?

Supposons que tu aies déjà un autre lien... (Minimum).
Tu peux aussi modifier: ./template/yoga/menubar.tpl

Par défaut tu trouveras ceci:

<!-- BEGIN links -->
<dl id="mbLinks">
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
      <!-- BEGIN link -->
      <li><a href="{links.link.URL}">{links.link.LABEL}</a></li>
      <!-- END link -->
    </ul>
  </dd>
</dl>
<!-- END links -->

à remplacer par ceci:

<!-- BEGIN links -->
<dl id="mbLinks">
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
      <!-- BEGIN link -->
      <li><a href="{links.link.URL}">{links.link.LABEL}</a></li>
      <!-- END link -->
      <li><a href="http://monsite/maradio/" onclick="window.open(this.href, 'radioblog', 'width=500,height=350,location=no,status=no,toolbar=no,scrollbars=no'); return false;">
Ma radio</a></li>
    </ul>
  </dd>
</dl>
<!-- END links -->

Je n'ai pas testé.
8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#9 2007-01-19 11:26:07

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: Lien LINK qui ouvre une fenetre en pop up ?

radiolak a écrit:

oui c'est cela VDigital... et la, il me semble qu'il y ait le meme comportement qu'avant, c'est a dire que ca ouvre une nouvelle page ...
8-)

Non, non le comportement d'avant ouvrait le lien dans la même fenêtre.
Essaie de faire un essai avec new_window à false (la, c'est comme avant).

En fait, tu veux un "vrai" popup, je vais voir ce que je peux proposer (nouvelle option popup ou plus général).
Dans le pire des cas, on te filera la solution en modifiant le tpl (il faut comme l'help "popup(this->href)", enfin un truc comme ca!

Hors ligne

#10 2007-01-19 11:37:32

radiolak
Membre
2006-11-04
26

Re: Lien LINK qui ouvre une fenetre en pop up ?

j'ai testé et ca marche :) merci bien ... j'hesitais a mettre des liens directement dans le menubar.tpl ... mais ca le fait bien !

merci.


http://tostaky.org/    1.6.2 modifiée a l'arrache ! désolé pour les puristes ... je ferai mieux la prochaine fois.. ici peut etre
.. ou encore la pour le bon vieux juke-box..

Hors ligne

#11 2007-01-19 13:42:03

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: Lien LINK qui ouvre une fenetre en pop up ?

J'avais mal compris le besoin, lu un peu de travers.
Je vais faire une sorte que tu puisses avoir ta fenêtre popup simplement en configurant.

Hors ligne

#12 2007-01-19 15:02:51

radiolak
Membre
2006-11-04
26

Re: Lien LINK qui ouvre une fenetre en pop up ?

Ya pas d'urgence non plus 8-) ça fonctionne bien en modifiant le tpl


http://tostaky.org/    1.6.2 modifiée a l'arrache ! désolé pour les puristes ... je ferai mieux la prochaine fois.. ici peut etre
.. ou encore la pour le bon vieux juke-box..

Hors ligne

#13 2007-01-19 19:36:56

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: Lien LINK qui ouvre une fenetre en pop up ?

radiolak a écrit:

Ya pas d'urgence non plus 8-) ça fonctionne bien en modifiant le tpl

Mais, il faut que je le fasse dans le "move" sinon c'est vite mis de côté... ;-)
L'avantage, c'est que si je l'intègre en standard , tu n'auras plus rien à faire à chaque mise à jour de PWG.

Hors ligne

#14 2007-01-23 11:27:18

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: Lien LINK qui ouvre une fenetre en pop up ?

MODIFICATION pour pouvoir faire les nouvelles fenêtres que l'on veut
commit

Voila le code modifié pour le faire en 1.6.x



Fichier /include/config_default.inc.php:
Rechercher $conf['links'] = array();
Remplace

Code:

// links : list of external links to add in the menu. An example is the best
// than a long explanation :
//
// $conf['links'] = array(
//   'http://phpwebgallery.net' => 'PWG website',
//   'http://forum.phpwebgallery.net' => 'PWG forum',
//   'http://phpwebgallery.net/doc' => 'PWG wiki'
//   );
//
// If the array is empty, the "Links" box won't be displayed on the main
// page.
$conf['links'] = array();

par

Code:

// links : list of external links to add in the menu. An example is the best
// than a long explanation :
//
// Simple use:
//  for each link is associated a label
//  $conf['links'] = array(
//    'http://phpwebgallery.net' => 'PWG website',
//    'http://forum.phpwebgallery.net' => 'PWG forum',
//    'http://phpwebgallery.net/doc' => 'PWG wiki'
//    );
//
// Advenced use:
//  You can also used special options. Instead to pass a string like parameter value 
//  you can pass a array with different optional parameter values
//  $conf['links'] = array(
//    'http://phpwebgallery.net' => array('label' => 'PWG website', 'new_window' => false, 'eval_visible' => 'return true;'),
//    'http://forum.phpwebgallery.net' => array('label' => 'For ADMIN', 'new_window' => true, 'eval_visible' => 'return is_admin();'),
//    'http://phpwebgallery.net/doc' => array('label' => 'For Guest', 'new_window' => true, 'eval_visible' => 'return $user[\'is_the_guest\'];'),
//    'http://download.gna.org/phpwebgallery/' => 
//      array('label' => 'PopUp', 'new_window' => true, 
//      'nw_name' => 'PopUp', 'nw_features' => 'width=800,height=450,location=no,status=no,toolbar=no,scrollbars=no,menubar=no'),
//    );
// Parameters:
//  'label':
//    Label to display for the link, must be defined
//  'new_window':
//    If true open link on tab/window
//    [Default value is true if it's not defined]
//  'nw_name':
//    Name use when new_window is true
//    [Default value is '' if it's not defined]
//  'nw_features':
//    features use when new_window is true
//    [Default value is '' if it's not defined]
//  'eval_visible':
//    It's php code witch must return if the link is visible or not
//    [Default value is true if it's not defined]
//
// Equivalence:
//  $conf['links'] = array(
//    'http://phpwebgallery.net' => 'PWG website',
//    );
//  $conf['links'] = array(
//    'http://phpwebgallery.net' => array('label' => 'PWG website', 'new_window' => false, 'visible' => 'return true;'),
//    );
//
// If the array is empty, the "Links" box won't be displayed on the main
// page.
$conf['links'] = array();

Dedans, il y a des exemples!

Fichier /include/menubar.inc.php:
Rechercher if (count($conf['links']) > 0)
Remplace

Code:

if (count($conf['links']) > 0)
{
  $template->assign_block_vars('links', array());

  foreach ($conf['links'] as $url => $label)
  {
    $template->assign_block_vars(
      'links.link',
      array(
        'URL' => $url,
        'LABEL' => $label
        )
      );
  }
}

par

Code:

if (count($conf['links']) > 0)
{
  $template->assign_block_vars('links', array());

  foreach ($conf['links'] as $url => $url_data)
  {
    if (!is_array($url_data))
    {
      $url_data = array('label' => $url_data);
    }

    if 
      (
        (!isset($url_data['eval_visible']))
        or
        (eval($url_data['eval_visible']))
      )
    {
      $template->assign_block_vars(
        'links.link',
        array(
          'URL' => $url,
          'LABEL' => $url_data['label']
          )
        );
      if (!isset($url_data['new_window']) or $url_data['new_window'])
      {
        $template->assign_block_vars(
          'links.link.new_window', 
          array(
            'name' => (isset($url_data['nw_name']) ? $url_data['nw_name'] : ''),
            'features' => (isset($url_data['nw_features']) ? $url_data['nw_features'] : '')
            )
          );
      }
    }
  }
}

Fichier /template/yoga/menubar.tpl:
Rechercher <!-- BEGIN links -->
Remplace

Code:

<!-- BEGIN links -->
<dl id="mbLinks">
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
      <!-- BEGIN link -->
      <li><a href="{links.link.URL}">{links.link.LABEL}</a></li>
      <!-- END link -->
    </ul>
  </dd>
</dl>
<!-- END links -->

par

Code:

<!-- BEGIN links -->
<dl id="mbLinks">
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
      <!-- BEGIN link -->
      <li>
        <a href="{links.link.URL}"
        <!-- BEGIN new_window -->
         onclick="window.open(this.href, 
                              '{links.link.new_window.name}',
                              '{links.link.new_window.features}'
                              ); return false;"
        <!-- END new_window -->
        >{links.link.LABEL}
        </a>
      </li>
      <!-- END link -->
    </ul>
  </dd>
</dl>
<!-- END links -->

Fichier /include/config_local.inc.php:
Tu y rajoutes tes liens

Code:

  $conf['links'] = array(
    'http://phpwebgallery.net' => 'test',
    'http://forum.phpwebgallery.net' => array('label' => 'For ADMIN', 'new_window' => true, 'eval_visible' => 'return is_admin();'),
    'http://monsite/maradio/' => 
      array('label' => 'Radioblog', 'new_window' => true, 
      'nw_name' => 'Radioblog', 'nw_features' => 'width=500,height=350,location=no,status=no,toolbar=no,scrollbars=no'),
  );

Hors ligne

#15 2007-01-23 12:55:06

vimages
Membre
2004-03-27
2429

Re: Lien LINK qui ouvre une fenetre en pop up ?

Donc effectivement, pour la section "Liens", tu pourras choisir l'ouverture de ton choix.
Par défaut, je risque de passer en ouverture dans une nouvelle fenêtre car généralement, je pense que c'est que l'on veut faire. (non?)

Il y aura aussi la possibilité de d'afficher ou non le lien suivant des critères en php.
Donc, ca permettra tres simplement de n'afficher un lien uniquement pour que un admin ou que pour un guest.

Je vais faire une sorte que tu puisses avoir ta fenêtre popup simplement en configurant.

top et re-top !!!

merci!!!!

Dernière modification par vimages (2007-01-23 12:57:09)

Hors ligne

  •  » Utilisation
  •  » Lien LINK qui ouvre une fenetre en pop up ?

Pied de page des forums

Propulsé par FluxBB

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