Morozov&Pimnev blog

Полезные решения, шпаргалки и примеры по html, css, js, jQuery, MySQL, PHP, HostCMS, ssh.

Исключение определенного пункта меню из Structure_Controller_Show на HostCMS v6

Иногда бывает, показывая меню в шапке и футере, нужно исключить определенный пункти меню, например в шапке не показывать ссылку на главную, а в футере ее показывать, да можно просто в XSL шаблоне прописать ссылку на главную вручную, но а если это свомем другой пункт меню, то делаем так:

<?php
	$Structure_Controller_Show = new Structure_Controller_Show(
		Core_Entity::factory('Site', CURRENT_SITE)
	);

	$Structure_Controller_Show
		->xsl(
			Core_Entity::factory('Xsl')->getByName('НижнееМеню')
		)
		->menu(1);

	$Structure_Controller_Show->structure()
		->queryBuilder()
		->where('id','!=',1) // исключаем меню с ID = 1
		// или несколько пунктов меню
		//->where('id','NOT IN',array(1,2,3)) // массив идентификаторов
	;

	$Structure_Controller_Show->show();
?>

меню, php, hostcms6, structure