用php和i18n动态菜单不起作用

时间:2015-12-16 13:41:03

标签: php

我有一个从de数据库自行生成的菜单。此菜单使用i18n类以多种语言提供(国际化)。因此,在菜单和页面中添加一个项目:

警告:constant():无法在C:\ Program Files \ EasyPHP-DevServer-14.1VC11 \ data \ localweb \ projects \ copia-repo-mod \ menu.browser.php中找到常量L :: data_export第91行

菜单代码:

function ArmaMenu($usuario_id,$permiso_usuario_id) {
    global $menu_abierto;
    $menu = getMenuArray($usuario_id,$permiso_usuario_id);
    $i=0;

    foreach($menu as $valor){

        echo '<h3 class="toggler"><p class="categoria">'.$valor['modulo'].'</p></h3>';
        echo '<div class="oculto">';
        foreach($valor['submenu'] as $clave => $dato){
            $item_menu = $dato['nombre'];
            $i18n_submenu = array(
                'Mi Cuenta' => 'menu_my_account',

                'Adm EMC' => 'menu_adm_emc',
                'Parametrización de EMC' => 'menu_parameters_emc',
                'Tipo de Cliente' => 'menu_client_type',
                'Tipo de Documento' => 'menu_document_type',
                'Tipo de Domicilio' => 'menu_address_type',
                'Tipo Estado de Cliente' => 'menu_status_client',
                'Tipo de País' => 'menu_country_type',
                'Mi Usuario' => 'menu_my_user',
                'Alertas' => 'menu_alerts',
                'Exportar datos sensores' => 'data_export'
            );
            $selected = (($_GET['secID'] == $dato['urlHrr'])? 'selected':'' );
            if($dato['urlHrr'] == 'cliente/estadisticas.abm'){
                echo '<div class="'.$selected.'"><a href="javascript:;" onclick="SqueezeBox.open(\'index_modal.php?secID=cliente/estadisticas.browser&lang=' . $_SESSION['lang'] . '&cuartel='.$_SESSION['filtros']['cuartel'].'\', {handler: \'iframe\'});" class="'.$selected.'">'.$item_menu.'</a></div>';
            }else{
                echo '<div class="'.$selected.'"><a href="?secID='.$dato['urlHrr'].'&lang='. $_SESSION['lang'] .'" class="'.$selected.'">'.constant("L::" . $i18n_submenu[utf8_encode($item_menu)]).'</a></div>';
            }
            if(!empty($selected)){
                $menu_abierto = $i;
            }
        }
        if ($user = getUser()) {
            $dataEncrypt = sprintf('user=%s|pass=%s', $user['id'], $user['clave']);
            $dataEncrypt = encrypt($dataEncrypt);
            // TODO Set production URL since does not exists difference between Dev and Prod envs
            echo '<div class="'.$selected.'"><a href="http://alertasagrometrix.innovasoluciones.com.ar/agrometrix?lang=' . $_SESSION['lang'] . '&h=' . $dataEncrypt .'">'. constant("L::" . $i18n_submenu[utf8_encode('Alertas')]) . '</a></div>';
            //echo '<div class="'.$selected.'"><a href="http://?lang=' . $_SESSION['lang'] . '&h=' . $dataEncrypt .'">'. constant("L::" . $i18n_submenu[utf8_encode('Alertas')]) . '</a></div>';
        };

        echo '</div>';
        $i++;
    }

提前致谢

0 个答案:

没有答案