Автоматическое размещение и публикация модуля после установки

Дмитрий Рекун 20 августа 2014 1 мин 13387 просмотров
Автоматическое размещение и публикация модуля после установки

Задача и её решение взяты с форума. Задача была такая:

я написал небольшой модуль "mod_cobalticons" для админки Joomla 3 серии, он просто выводит иконки со ссылками на некоторые страницы. Я хочу, чтобы после инсталляции этого модуля, он автоматически был опубликован в позиции cpanel админки

Для решения этой задачи необходимо создать установочный скрипт и поместить в него следующий код:

getQuery(true);
 
		// Публикуем модуль в нужной позиции
		$query->update($db->quoteName('#__modules'))
			->set('position = cpanel')
			->set('published = 1')
			->where('module = ' . $db->quote('mod_cobalticons'));
 
		$db->setQuery($query);
		$db->execute();
 
		$query->clear();
 
		// Получаем ID модуля
		$query->select('id')
			->from($db->quoteName('#__modules'))
			->where('module = ' . $db->quote('mod_cobalticons'));
 
		$moduleId = $db->setQuery($query)
			->loadResult();
 
		$query->clear();
 
		// Привязываем ко всем пунктам меню
		$query->insert($db->quoteName('#__modules_menu'))
			->columns('moduleid', 'menuid')
			->values($moduleId, 0);
 
		$db->setQuery($query)
			->execute();
	}
}

Обратите внимание на такой важный момент - если не привязать модуль ко всем пунктам меню, то он не отобразится на панели быстрых иконок.

Удачной разработки!

Назад На главную