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

beliyadm

  • Легенда
  • 8840
  • 1624 / 63
  • Севастополь == Россия
Товарищи, такой вот вопрос назрел (не придумаю как лучше сделать)
Имею 1.5.10, двух-уровневое обычное меню:
- Р 1
   -- Д 1.1
   -- Д 1.2
- Р 2
   -- Д 2.1
   -- Д 2.2
Нужно для Р1 и Р2 подгружать разные CSS, отловил в шаблоне ItemID - все прекрасно.
Но - у детенышей итемы уже другие, то есть перешел в Д 1.1 и стили от Р1 уже не цепляются, бо сменился ItemID
Пока решил так - в кейсе в Index.php шаблона перечислил итемы как Р1 так и всех его детей для подгрузки стиля.
Но терзают меня смутные сомнения, что так не очень хорошо.
Потому вопрос - можно ли на уровне шаблона (без лишнего SQL запроса на вытягивание родителя по текущему ItemID) отловить итем родителя, находясь в его подпунктах? Либо какие еще могут быть решения для подгрузки отдельного CSS всей ветки меню Р1 + Д 1.1 + Д 1.2
« Последнее редактирование: 15.05.2009, 17:38:45 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Глянь
<?php $m = &JSite::getMenu();
 print_r ($m);
?>
Есть там вроде parent, не досмотрел, в глазах зарябило
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

beliyadm

  • Легенда
  • 8840
  • 1624 / 63
  • Севастополь == Россия
угу спасибо, есть там parent, но не нравится мне такая идея вытягивания, все таки напишу ка я запрос, думаю что один лишний запрос базу не повесит :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Цитировать
не нравится мне такая идея
Не моя  ;D
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
Сервер грузит не количество, а качество запросов - большие объемы данных, сложные запросы на кучу таблиц по куче индексов с кучей подзапросов. Поэтому такой запрос не то чтобы повесит сервер, а даже сервер его вообще не заметит :) Кроме того, в модуле можно включить кеширование с огромным сроком действия (месяц, к примеру не так ведь часто после запуска сайта новые пункты добавляются, да и почистить его можно принудительно, если добавились пункты ).

Вот такие у меня мысли по сабжу и вообще по теме беспокойств по поводу запросов к серверу баз данных.
*

beliyadm

  • Легенда
  • 8840
  • 1624 / 63
  • Севастополь == Россия
VETERINAR - ну эт естессно, просто хотел обойтись как то красиво с помощью встроенных функций, но парится с ними буду дольше нежели лишний запрос.
В общем задача решена, всем спасибо :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

beliyadm

  • Легенда
  • 8840
  • 1624 / 63
  • Севастополь == Россия
В общем если вдруг кому интересно и понадобится - мое решение
$Itemid 
	
JRequest::getInt'Itemid'1'get' );
$db 
	
	
= & 
JFactory::getDBO();
$query 'SELECT parent FROM #__menu WHERE id = '.$Itemid.' AND published = 1 ';
$db->setQuery($query); $curiyemid $db->loadResult();
    if (
$curiyemid == '0') {
    
	
$curiyemid $Itemid;
    } else {   }
switch (
$curiyemid) {
	
case 
'1'
	
	
echo 
'<link rel="stylesheet" href="'.$tplurl.'/css/style1.css" type="text/css" />';
	
break;
	
case 
'2'
	
	
echo 
'<link rel="stylesheet" href="'.$tplurl.'/css/style2.css" type="text/css" />';
	
break;
	
default:
 
	
break;
}

То есть - если выбранный пункт меню имеет родителя (то есть parent не равен 0) то пляшем от ID родителя
Если же нуль - то от текущего ItemID корневого пункта
Примитивно и работает :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пункт меню

Автор s120367

Ответов: 0
Просмотров: 246
Последний ответ 03.06.2018, 13:02:55
от s120367
Большое меню Joomla

Автор Amakeeva

Ответов: 1
Просмотров: 412
Последний ответ 22.01.2018, 13:17:45
от effrit
Как можно отображать имя пользователя в название меню?

Автор selimoff

Ответов: 27
Просмотров: 3576
Последний ответ 02.01.2018, 15:24:44
от logan-19
как сделать пункт меню не кликабельным?

Автор qweqweqwe

Ответов: 13
Просмотров: 6416
Последний ответ 07.09.2017, 01:45:49
от forzi
Сдвинуть пункты меню в левое положение

Автор wectra

Ответов: 6
Просмотров: 678
Последний ответ 12.07.2017, 21:09:01
от wectra