0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 473 Просмотров
*

lida59

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
main menu
« : 13.02.2014, 08:25:48 »
День добрый нуждаюсь в помощи перелопачивания
меню чтоб отдельное меню для отдельных IP были под Joomla 3

вот пример под старую версию Joomla

1. Открываем в PHP-редакторе файл /modules/mod_menu/mod_menu.xml.
2. Добавьте новый параметр после field name="showAllChildren"
Код:
            <field
               name="allowed_ip"
               type="textarea"
               filter="safehtml"
               label="Разрешенные IP-адреса"
               description="Показывать меню только для указанных IP-адресов" rows="10" cols="20" />

Должно выглядеть вот так:
Новый параметр  "Разрешенные IP-адреса"

Не забудьте сохранить в UTF8.

3. Откройте теперь файл шаблона /templates/beez_20/htm/modules.php. Учитывая, что менюшки отображаются в позиции №7 со стилем "beezDivision", то наш код следует добавить в функцию modChrome_beezDivision, причем в самое начало:
Код:
   $userIP = $_SERVER['REMOTE_ADDR'];
   if (trim($params->get('allowed_ip', ''))) {
      $allowedIP = explode( "\r\n", trim($params->get('allowed_ip')) );
      if (is_array($allowedIP) && !in_array($userIP, $allowedIP)) return;
   }

Должно выглядеть вот так:
Обработка нового параметра  "Разрешенные IP-адреса"


4. Сохраняем. Переходим к нужному модулю меню в админке и добавляем нужные IP-адреса в новый параметр "Разрешенные IP-адреса". Для теста на локали можно указать 127.0.0.1. Сохраняем и смотрим во фронте -- модуль есть. Указываем другой адрес -- 127.0.0.2. Сохраняем и смотрим во фронте -- модуля нет.  Если надо указать несколько адресов -- каждый адрес с новой строки.
ВУАЛЯ!

Пример параметра  "Разрешенные IP-адреса"


Меняем наш код на следующий:
Код
   $userIP = $_SERVER['REMOTE_ADDR'];
   $iUserIP = @ip2long($_SERVER['REMOTE_ADDR']);
   $allowed = false;
   if (trim($params->get('allowed_ip', ''))) {
      $allowedIP = explode( "\r\n", trim($params->get('allowed_ip')) );
      if (is_array($allowedIP) && count($allowedIP) && !in_array($userIP, $allowedIP)) {
         foreach($allowedIP as $IP)
            if (strpos($IP, '-')!== false) {
               $rngIP = explode( "-", $IP );
               if ($iUserIP >= @ip2long($rngIP[0]) && $iUserIP <= @ip2long($rngIP[1])) {
                  $allowed = true;
                  break;
               }
            }
      } else {
         $allowed = true;
      }
      if ($allowed === false) return;
   }
 
Диапазон указывать через дефис, т.е. следующим образом:
127.0.0.1-127.0.0.234.
*

lida59

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
Re: main menu
« Ответ #1 : 13.02.2014, 08:33:01 »
собственно нужна помощь перелопатить это под J3!
*

lida59

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
Re: main menu
« Ответ #2 : 16.02.2014, 11:07:35 »
ребят ну подскажите пожалуйста... чем код отличатся будет под Joomla 3
*

lida59

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
Re: main menu
« Ответ #3 : 08.05.2014, 13:37:20 »
работает! и в 3 , непонятные траблы были видима не из-за этого но если вдруг баги проскочут то оповещу а так вроде работает...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

ICE Mega Menu

Автор Dekameron

Ответов: 6
Просмотров: 1144
Последний ответ 14.08.2017, 17:27:32
от cntrl
Helix Megs Menu - как настроить? Все перерыл

Автор Alex_Ku

Ответов: 0
Просмотров: 336
Последний ответ 03.05.2017, 17:03:14
от Alex_Ku
JE Accordion Menu как замедлить анимацию

Автор Элана

Ответов: 31
Просмотров: 1610
Последний ответ 19.04.2016, 13:08:37
от ambrazura
JE Accordion Menu

Автор ambrazura

Ответов: 0
Просмотров: 622
Последний ответ 19.04.2016, 09:43:49
от ambrazura
Неработает модуль ice mega menu

Автор Юra

Ответов: 0
Просмотров: 375
Последний ответ 28.03.2016, 20:46:05
от Юra