Подскажите пожалуйста, в чем может быть проблема. Есть главное меню, пункт «А» и «Б». В пункте «Б» есть подпункты «1», «2»…и так далее, заходим в подпункт «1» и в нем есть материалы, при нажатии на любой материал переходим на другую страницу (материал), но пункт меню выделен не «Б» (В котором размещен материал) , а пункт «А». К пункту "А" материал не относится.
Тип пункта меню Б ? Я думаю что если тип пункта меню псевдоним, то реальному пункту меню присваивается класс подсветки.
ну правильно так и должно быть А ссылается на материал а Б на урл. Стосовно цвета да может быть как написал draff также может быть тег = цвету. Например я прикрутил к тегу новости зеленый цвет и у меня на одном из ресурсов все что касается зеленого цвета новости
Я наверное не так объяснила, меня интересует вопрос, почему материал главном меню отображается не в пункте "Б" (так должно было быть ), а в пукте "А"?
скрин можш залить? --- добавлено: 09.02.2017, первое сообщение размещено: 09.02.2017 --- просто может не понял смотри если пункт меню Б внешний материал он скорей всего ссылается на А раз выводится в А сделай скрин или 2 3 с обяснениями ато немогу понять как тебе помочь
Я думаю что Джумла не видит и не обрабатывает внешнюю ссылку, поэтому и делает активным пункт по умолчанию. Код из хелпера меню Код (PHP): public static function getActive(&$params) { $menu = JFactory::getApplication()->getMenu(); return $menu->getActive() ? $menu->getActive() : self::getDefault(); }
Вот скрин меню --- добавлено: 09.02.2017 --- Извините, за столь простой вопрос , а что такое хелпер меню и где именно оно расположено. Я в интернете читала и никакого нормального ответа не нашла
для проверки сделайте пм расписание тип материал и проверьте, если откроется материал значит перенаправления на урл было
У меня helper.php вот этот код: Код (PHP): public static function getActive(&$params) { $menu = JFactory::getApplication()->getMenu(); $lang = JFactory::getLanguage(); // Look for the home menu if (JLanguageMultilang::isEnabled()) { $home = $menu->getDefault($lang->getTag()); } else { $home = $menu->getDefault(); } return $menu->getActive() ? $menu->getActive() : $home; } Только я не очень понимаю, может вы подскажете какой-нибудь хороший сайт, где подробно описывается php. Много сайтов просмотрела, и ничего конкретного не нашла
У тебя неправильный код, по крайней мере для новой версии Джумла. Логика не нарушена, но код отличается от стандартного. http://php.net Но советую сначала изучить документацию по Джумла . Многие пытаются сразу править код, не зная функционал Джумла с коробки .
case 'url': if ((strpos($item->link, 'index.php?') === 0) && (strpos($item->link, 'Itemid=') === false)) { // If this is an internal Joomla link, ensure the Itemid is set. $item->flink = $item->link . '&Itemid=' . $item->id; } break; case 'alias': $item->flink = 'index.php?Itemid=' . $item->params->get('aliasoptions'); break; default: $item->flink = 'index.php?Itemid=' . $item->id; break; } if (strcasecmp(substr($item->flink, 0, 4), 'http') && (strpos($item->flink, 'index.php?') !== false)) { $item->flink = JRoute::_($item->flink, true, $item->params->get('secure')); } else { $item->flink = JRoute::_($item->flink); } [/php] Этот код не может быть связан с проблемой?