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 :)
Hors ligne
Rub va te répondre (pour chaque lien, tu choisiras). 8-)
Hors ligne
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
Voila le code pour le faire en 1.6.x
Fichier /include/config_default.inc.php:
Rechercher $conf['links'] = array();
Remplace
// 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
// 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
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
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
<!-- 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
<!-- 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
$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
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.
Hors ligne
Tu demandais "Lien LINK qui ouvre une fenetre en pop up ?" je crois.
8-)
Hors ligne
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-)
Hors ligne
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-)
Hors ligne
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
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.
Hors ligne
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
Ya pas d'urgence non plus 8-) ça fonctionne bien en modifiant le tpl
Hors ligne
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
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
// 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
// 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
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
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
<!-- 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
<!-- 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
$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
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