Форум русской поддержки Joomla!® CMS
06.12.2016, 07:07:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Скрыть пункт меню по условию

 (Прочитано 153 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Lestat07
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« : 08.01.2016, 18:05:49 »

Доброго всем вечера уважаемые форумчане! Всех с Новым Годом drink! Столкнулся с проблемой, буду очень благодарен за помощь! Задача следующая:

Есть сайт на Joomla 3 надо по условию(допустим по ip) скрыть один пункт меню(а их на главной странице 5). Перечитал кучу форумов и страниц и сделал так(ниже будет код). По условию проверяю IP, если да, то запросом в базе меняю поле published на 0. Этот код добавил в index.php, вроде и работает, но самая проблема, что если я только зашел на сайт надо обновить страницу, чтобы меню пропало. Как программно обновить страницу, а может не туда вставляю Grin?
Код:
<?php
/**
 * @package    Joomla.Site
 *
 * @copyright  Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */

if (version_compare(PHP_VERSION, '5.3.1', '<'))
{
die('Your host needs to use PHP 5.3.1 or higher to run this version of Joomla!');
}

/**
 * Constant that is checked in included files to prevent direct access.
 * define() is used in the installation folder rather than "const" to not error for PHP 5.2 and lower
 */
define('_JEXEC', 1);

if (file_exists(__DIR__ . '/defines.php'))
{
include_once __DIR__ . '/defines.php';
}

if (!defined('_JDEFINES'))
{
define('JPATH_BASE', __DIR__);
require_once JPATH_BASE . '/includes/defines.php';
}

require_once JPATH_BASE . '/includes/framework.php';

// Mark afterLoad in the profiler.
JDEBUG ? $_PROFILER->mark('afterLoad') : null;

// Instantiate the application.
$app = JFactory::getApplication('site');

// Execute the application.
$app->execute();


 $file="base.log";    //куда пишем логи
$col_zap=4999;        //строк в файле не более
$bot=htmlspecialchars(substr($xxx,0,80));//обрезаем USER-AGENT до 80 символов
$user = JFactory::getUser();
function getRealIpAddr() {
  if (!empty($_SERVER['HTTP_CLIENT_IP']))        // Определяем IP
  { $ip=$_SERVER['HTTP_CLIENT_IP']; }
  elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))    // Если IP идёт через прокси
  { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; }
  else { $ip=$_SERVER['REMOTE_ADDR']; }
  return $ip;
}

//if (strstr($_SERVER['HTTP_USER_AGENT'], 'YandexBot')) {$bot='YandexBot';}
//elseif (strstr($_SERVER['HTTP_USER_AGENT'], 'Googlebot')) {$bot='Googlebot';}
//else { $bot=$_SERVER['HTTP_USER_AGENT']; }
$ip = getRealIpAddr();
$db=&JFactory::getDBO();
if ($ip=='127.0.0.1')
{
$db->setQuery("UPDATE #__menu SET published = '0' where alias = 'kont'");
$db->query();
}
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet