par
Arketran » 06 mai 2013, 14:25
Je suis sur le framework cakePHP, et je souhaite afficher une barre de menu sur plusieurs pages de mon site (plusieurs URL).
Par contre j'aimerais que cette barre des menus ne s'affiche pas sur toutes les pages.
Pour cela je veux essayer de faire une manip de vérification d'url dans default.php, de sorte à dire que si l'url récupérée (en GET selon la console de mon navigateur) contient chemin/import* alors j'affiche cette barre des menus.
D’où ma question plus ciblée sur le fait de pouvoir vérifier une URL avec une valeur régulière.
Par contre dans mon URL je n'ai pas de paramètre du style "?name=Hannes"
<!-- app/View/Elements/sous_menu.ctp -->
<?php echo '<br /> <br />'; ?>
<div id="header_container_menu">
<div id="menu">
<?php if (AuthComponent::user('id')): ?>
<?php echo $this->element('menu', array('level' => 0, 'menu' => Configure::read('SOUSMENUS.onglet'))) ?>
<?php endif; ?>
</div>
</div>
<?php
// app/Config/sousmenus.php
$config = array();
Configure::write('SOUSMENUS.onglet', array(
'import_action' => array(
'label' => 'Action',
'profil' => 'Administrateur',
'route' => '/importActions' // Menu non visible si pas le droit Administrateur
),
'import_apport' => array(
'label' => 'Import',
'profil' => 'Administrateur',
'route' => '/importApports'// Menu non visible si pas le droit Administrateur
),
'import_demande' => array(
'label' => 'Demande',
'profil' => 'Administrateur',
'route' => '/importDemandes'// Menu non visible si pas le droit Administrateur
),
'import_proposition' => array(
'label' => 'Proposition',
'profil' => 'Administrateur',
'route' => '/importPropositions'// Menu non visible si pas le droit Administrateur
),
'import_soutien' => array(
'label' => 'Soutien',
'profil' => 'Super Administrateur',
'route' => '/importSoutiens'
),
'import_wcb' => array(
'label' => 'WCB',
'profil' => 'Super Administrateur',
'route' => '/importWcbs'
),
));
// These parameters should force the cookie to persist even through Google Chrome Frame.
// This will set both PHP and CakePHP's settings to allow cookies to persist over http and https
Configure::write('Session.checkAgent', false);
Configure::write('Session.ini',array('session.cookie_secure' => false, 'session.referer_check' => false));
?>
//Layouts/default.ctp
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="container">
<?php echo $this->element('sous_menu'); ?>
</div>
</body>
</html>
Je suis sur le framework cakePHP, et je souhaite afficher une barre de menu sur plusieurs pages de mon site (plusieurs URL).
Par contre j'aimerais que cette barre des menus ne s'affiche pas sur toutes les pages.
Pour cela je veux essayer de faire une manip de vérification d'url dans default.php, de sorte à dire que si l'url récupérée (en GET selon la console de mon navigateur) contient chemin/import* alors j'affiche cette barre des menus.
D’où ma question plus ciblée sur le fait de pouvoir vérifier une URL avec une valeur régulière.
Par contre dans mon URL je n'ai pas de paramètre du style "?name=Hannes"
[php]<!-- app/View/Elements/sous_menu.ctp -->
<?php echo '<br /> <br />'; ?>
<div id="header_container_menu">
<div id="menu">
<?php if (AuthComponent::user('id')): ?>
<?php echo $this->element('menu', array('level' => 0, 'menu' => Configure::read('SOUSMENUS.onglet'))) ?>
<?php endif; ?>
</div>
</div>[/php]
[php]<?php
// app/Config/sousmenus.php
$config = array();
Configure::write('SOUSMENUS.onglet', array(
'import_action' => array(
'label' => 'Action',
'profil' => 'Administrateur',
'route' => '/importActions' // Menu non visible si pas le droit Administrateur
),
'import_apport' => array(
'label' => 'Import',
'profil' => 'Administrateur',
'route' => '/importApports'// Menu non visible si pas le droit Administrateur
),
'import_demande' => array(
'label' => 'Demande',
'profil' => 'Administrateur',
'route' => '/importDemandes'// Menu non visible si pas le droit Administrateur
),
'import_proposition' => array(
'label' => 'Proposition',
'profil' => 'Administrateur',
'route' => '/importPropositions'// Menu non visible si pas le droit Administrateur
),
'import_soutien' => array(
'label' => 'Soutien',
'profil' => 'Super Administrateur',
'route' => '/importSoutiens'
),
'import_wcb' => array(
'label' => 'WCB',
'profil' => 'Super Administrateur',
'route' => '/importWcbs'
),
));
// These parameters should force the cookie to persist even through Google Chrome Frame.
// This will set both PHP and CakePHP's settings to allow cookies to persist over http and https
Configure::write('Session.checkAgent', false);
Configure::write('Session.ini',array('session.cookie_secure' => false, 'session.referer_check' => false));
?>[/php]
[php]//Layouts/default.ctp
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="container">
<?php echo $this->element('sous_menu'); ?>
</div>
</body>
</html>[/php]