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

  • Среда, 20 августа 2014

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

я написал небольшой модуль "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();
	}
}

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

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

Дмитрий Рекун

Дмитрий Рекун

Пишу везде и понемногу ;)

Латвия, Рига. https://jpath.ru/

Статьи автора

Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Логотип Joomla

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.

Мы рады пригласить вас в ряды нашего сообщества!

Свернуть

Коротко о главном в Joomla

Новости портала

Новое в блогах

Видео

Форум о Joomla