Когда мы установили на наш сайт систему управления содержимым (CMS, «движок»), то, как правило, того, что идет «из коробки», недостаточно что бы реализовать на сайте все наши задумки и представления. На помощь приходят дополнения и расширения. В зависимости от установленной CMS эти дополнения могут называться по разному, часть их может отсутствовать как таковая по определению и возможностям самого «движка». Но, тем не менее, в том или ином виде в каждой CMS есть возможность установить дополнения.
Тема (шаблон) оформления. Самое простое и понятное дополнение, позволяющее нам видоизменять внешний вид нашего сайта. Если систему управления содержимым сравнить с заводом, то тема определяет в какой цвет выкрашены корпуса, какой тип окон установлен, в какую сторону открываются двери цехов и так далее.
Виджеты - небольшие законченные подпрограммы, выполняющие задачу по отображению какой-то информации. Например табло с часами во всех цехах завода.
Модули. Более серьезные подпрограммы, расширяющие функционал самой системы, решая какой-то один вид задач. Например - вывод в определенном месте на сайте галереи изображений или показ свежих сообщений на форуме. В примере с заводом - это установка какого-то станка по обработке одного вида деталей.
>Плагин является своего рода «системным дополнением», улучшая работу системы управления. Как правило, он вызывается на сайте при срабатывании какого-то события. Например, если на сайте в строке поиска мы вводим какой-то запрос, то установленный плагин определяет в каких разделах сайта вести поиск, а какие скрыть от поиска. По аналогии с заводом - система пожаротушения, система связи, система охлаждения и так далее.
Компонент. Наиболее серьезная надстройка системы, дополняющая функционал системы или частично меняющий саму систему. Чаще всего - это компонент интернет-магазина, «движок» для создания форума или социальной сети. Для завода это может быть новый цех по производству новых комплектующих или перестройка старого цеха на цех с автоматическими линиями.
Для каждой системы управления содержимым характерен свой набор дополнений. Так, тема (шаблон) оформления присутствует для каждого движка. На WordPress можем установить виджеты и плагины, при этом плагины могут выполнять функции и модуля, и компонента. На Joomla! есть всё из перечисленного, за исключением виджетов, которые объединены с модулями. А в Drupal, в силу того что это больше «конструктор» системы управления, он ближе к фреймворкам, то есть мы сами определяем какой будет функционал в нашей систему управления, все расширения только одни - модули, точнее они так называются, а выполняют любые задачи, от виджета и до компонента.
В любом случае, начав работу с той или иной системой управления содержимым, достаточно легко разобраться с дополнениями и использовать их в своей работе с сайтом.