GoGetLinks — самая выгодная биржа рекламных обзоров

Joomla – принципы работы бесплатной CMS (Система Управления Сайтами), создание страниц и их кэширование в Joomla

30 августа, 2009 | Рубрика: Настройки и работа в Joomla

Joomla – принципы работы CMS (Система Управления Сайтами)Здравствуйте уважаемые читатели блога KtoNaNovenkogo.ru. В предыдущем посте из рубрике Joomla, я пытался разъяснить понятия категорий и разделов в Joomla, а также показать, что на любой пункт любого меню в Joomla можно повесить не только открытие одной статьи (материала), но и серии статей из одной категории или из одного раздела.

Причем, материалы в Джумла могут располагаться как в формате блога (пункт меню шаблон блога категории или раздела), так и в виде таблички со списком заголовков статей (пункт меню шаблон списка категории или раздела). Само собой разумеется, на пункт меню в Joomla можно повесить еще массу вариантов открытия контента, но об этом чуть позже (Организация материалов в Joomla).

Из чего состоит и как работает сайт на Joomla

В этом посте я хотел бы остановиться на еще одном моменте в логике работы с Джумла, который вызвал у меня небольшие сложности в понимании. Но прежде, я все-таки попробую описать из чего состоит сайт созданный на бесплатной CMS Joomla. Ну, во-первых, при работе с Джумла мы имеем как-бы два различных вебсайта. Первый - это собственно сам основной сайт Joomla, который видят посетители и ради которого все и задумывалось. Оборотная сторона Joomla - это, так называемая админка Joomla, в которую мы может попасть, добавив в адресной строке к URL нашего проекта /administrator (например, http://caokun.ru/administrator). Причем, вход в админку Joomla закрыт для обычных пользователей и осуществляется путем ввода логина и пароля.

Вход в административный раздел Joomla

Для чего сделано именно так? Зачем нужно создавать фактически отдельный вебсайт (админку Джумла), который имеет собственный шаблон и, наверное, такое же, если не большее, количество файлов, чем у основного ресурса (Джумла Front Page)? А для нашего с вами удобства! Ведь в противном случае, не имей Joomla админки, нам пришлось бы напрямую вводить все настройки в файлы нашего проекта, а тексты статей, ссылки, адреса рисунков и прочее, напрямую вставлять в базу данных Joomla, ну, например, с помощью PhpMyadmin.

Согласитесь, это было бы не удобно, да и багаж знаний для такой работы нужен гораздо больший, чем работа с интерфейсом админки Joomla, очень сильно напоминающим интерфейс обычной программы. Работа с текстовым редактором (Настройка визуального редактора по умолчанию для Joomla) в админке Joomla, так вообще похожа на работу в Word. Вообщем, все это для нас с вам и нашего удобства в работе с этой CMS (Система Управления Сайтами) под названием Joomla.

Видимая часть сайта на Joomla (Front Page)

Рассмотрим предназначенную для посетителей, видимую часть сайта на Joomla, который называется Front Page. Из чего он состоит? Если рассматривать этот вопрос с точки зрения внешнего вида, то состоит он из центральной части, в которой располагается контент Joomla и окружающих ее, так называемых, модулей Joomla (пример проекта на Joomla - Алабай Троян и мейн-куны).

Если рассматривать этот же вопрос с точки зрения программной организации работы Джумла сайта, то состоит он из шаблона (Шаблоны Joomla) и подгружаемых данных в разные позиции для модулей шаблона Joomla. В область контента Joomla сайта подгружаются соответствующие этой странице статьи или же, например, фотографии с помощью компонента фотогалереи (Бесплатная фотогалерея для Joomla - Phoca Gallery). В позиции для модулей шаблона для Joomla может подгружаться все, что угодно, в зависимости от того, для чего этот модуль создан (например, в модулях выводятся те же самые меню Joomla или, допустим, заголовки последних сообщений на Джумла сайте и т.п.).

Как формируются (генерируются) страницы сайта под управлением Joomla

Обратите внимание, что данные в этом случае подгружаются из базы данных Joomla по мере необходимости, а это происходит только если пользователь открывает какую-нибудь страничку. А как он ее открывает? Ну, либо переходит по ссылке с другого ресурса, либо перемещается по вашему Joomla проекту, используя его внутреннюю навигацию – меню или внутреннюю перелинковку. К чему я все это говорю? А к тому, что по логике работы Джумла, к вебстранице нельзя обратиться, пока не будет создан пункт меню в Joomla, ссылающийся на эту страничку. Немного не понятно? Попробую пояснить.

Все дело в том, что браузеры работают только со страничками в формате HTML (язык гипертекстовой разметки) и напрочь не понимают язык PHP на котором, собственно, и написана Joomla. Поэтому CMS Джумла, после того как пользователь обратится к той или иной вебстранице вашего проекта, должна успеть сгенерировать эту страничку, опираясь на алгоритм, прописанный в ее коде на языке PHP. Получается, что любая страница Joomla сайта существует только если к ней обратились, а обратится к ней мы можем, только перейдя по HTML ссылке. Круг замкнулся. Получается, что нужно иметь ссылку на то чего нет, пока мы не обратимся к нему по этой ссылке.

Этот момент особенно сложно понять тем, кто хоть немного представляет создание классического вебсайта, состоящего только из страничек на HTML. Все вебстраницы, в этом случае, реально существуют и находятся на сервере вашего хостинга. К ним всегда можно обратиться, введя соответствующий адрес в браузере, или даже физически, через FTP, скачать какую-нибудь страничку с сервера себе на компьютер и открыть просто двойным щелчком по ней. Как говорится, ее можно пощупать.

В случае же с Джумла, да собственно, и любой другой CMS, базирующейся на PHP, странички в формате HTML генерятся непосредственно на сервере хостера, в момент обращения к ним. Каким образом они генерятся? Ну, в соответствии с содержанием запрашиваемой вебстраницы, в центральную часть шаблона Joomla загружается из базы данных соответствующий контент (статьи, фотогалерея, интернет магазин и т.п.), а по бокам шаблона, сверху и снизу, в позиции для модулей загружаются данные в те модули Joomla, которые должны отображаться именно на этой вебстранице. Весь этот алгоритм загрузки прописывается в файлах Джумла и настраивается как раз в админке Joomla.

Как вы уже наверное заметили, такой способ формирования страниц в Joomla скрывает в себе некоторую проблему, которая особенно остро может встать при большом количестве посетителей на вебсайте. Код файлов вашего веб-проекта, написанных на PHP, интерпретируется в HTML страничку прямо на сервере хостинга. Если запросов на создание страниц в Joomla будет очень много, то это может нагнуть сервер хостинга, т.е. существенно замедлить его работу. Даже если предположить, что все посетители находящиеся в данный момент на вашем Джумла-сайте запросили одну и туже вебстраницу, она все равно будет создаваться заново столько раз, сколько посетителей нажали по соответствующей ее ссылке.

Включаем кэширование в Joomla для снятия нагрузки с сервера хостинга

Выход из этой ситуации состоит в использовании кэширования создаваемых страниц в Joomla. Как это работает? Довольно просто. Каждый раз, когда по требованию посетителя на сервере хостинга создается вебстраница в формате HTML, то она не только передается браузеру пользователя, нажавшего по ссылке, но и сохраняется в папке с кэшем Joomla на сервере хостера. И уже при следующем обращении к этой вебстранице, она не будет заново создаваться, отнимая ресурс сервера хостинга (создавая дополнительную нагрузку на его процессор), а будет передана браузеру пользователя, запросившему эту страничку, из той самой папки на сервере хостера, где хранятся кэшированные страницы Joomla.

А как же тогда быть с обновлением информации на Джумла сайте? Если все берется из кэша, то любые вносимые изменения, допустим, в статьи, не будут видны пользователям. Ведь они то получают статью из папки для кэша. Да, действительно, в случае применения кэширования в Joomla, внесенные изменения сразу видны не будут, но они обязательно появятся потом, чуть позже. А вот насколько позже, зависит от времени жизни кэша в Joomla, которую вы сможете задать в админке Joomla.

Для включения и настройки кэширования в Joomla, зайдите в админку и выполните следующие перемещения: "Общие настройки" - вкладка "Система" - область "Установки кэша". Поставьте галочку в позицию "Да" в строке "Включить кэширование" и выберите время жизни кэша. Не забудьте по окончании настройки нажать кнопку "Применить" или "Сохранить", в противном случае, внесенные вами изменения, не вступят в силу.

Включение кэша в админке Joomla

Более подробно про кэширование в Joomla вы можете почитать в этой статье - Настройка кэширования и времени жизни сессий.

Чем отличается действия в админке Joomla кнопок «Применить» и «Сохранить»

Кстати, вы знаете в чем заключается различие между действиями, выполняемыми в админке Joomla по нажатию кнопки "Применить" от действий, выполняемых по нажатию кнопки "Сохранить"? Совсем немногим. В обоих случаях будут сохранены все внесенные изменения, но после нажатия на кнопку "Применить", вы останетесь в этом же окне и сможете продолжить редактирование, а после нажатия на кнопку "Сохранить", окно редактирования в админке Джумла закроется, и вы очутитесь на той страничке, которая была открыта до этого. Т.е. кнопку "Применить", нужно нажимать если вы еще планируете работать в этом окне, а кнопку "Сохранить", если работу в этом окне админки вы уже закончили.

Отключения кэширования для некоторых элементов в Joomla

Хочу остановиться еще на одном моменте связанном с кэшем в Joomla. Дело в том, что для некоторых элементов вашего Джумла сайта, желательно вообще не применять кэширования. Например, это могут быть какие-нибудь информеры в модулях, данные на которых должны меняться при каждом обращении к страничке, где они установлены. В случае применения кэша в Joomla это становиться невозможно. Именно для таких случаев в настройках всех модулей предусмотрена возможность отключить кэширование в Joomla именно для этого модуля, при том, что все остальное на на вашем вебсайте может продолжать прекрасно кэшироваться. Эту возможность отключить кэш в Джумла, нужно искать в правой части окна настройки модуля. Например, для модуля, в котором будет выводится на сайт меню, настройка кэширования находится здесь:

Включение/отключение кэширования для отдельного модуля в Joomla

Итак, в начале поста я говорил, что нельзя создать ссылку на страницу в Joomla если нет соответствующего пункта меню, ссылающегося на эту страничку. А если пункт меню с такой ссылкой не нужен, но сама ссылка нужна и должна использоваться в тексте какой-нибудь статьи? В таком случае, нужно создать фиктивное меню в Joomla, которое не будет публиковаться на вебсайте и которое будет включать в себя пункт с нужной ссылкой на страницу Джумла. Тут я как раз и подошел к вопросу, который меня озадачил в начале изучения работы Joomla.

Как создать новое меню я понял, но оно после добавления в него пунктов не хотело отображаться на сайте.
- "Ты же не вставил его в модуль", - скажите вы и будете совершено правы.
Действительно, меню должно быть привязано к модулю, который и определит, где будет находиться наше меню на Joomla сайте.

Как посмотреть позиции для модулей, предусмотренные в шаблоне для Joomla

Дело в том, что в любом шаблоне Joomla для модулей, отведены специальные позиции. Увидеть эти позиции для модулей в шаблоне Джумла вы cможете просто добавив в конце URL вашего ресурса в адресной строке браузера ?tp=1 (например, http://caokun.ru/?tp=1).

В разных шаблонах для Joomla количество и расположение позиций для модулей отличается. Поэтому прежде чем вставлять модуль с меню в какую-либо позицию (например, left, right или top) шаблона для Joomla, убедитесь, где именно в этом шаблоне находится эта позиция. Не исключен вариант, что позиция left будет находиться справа.

Более подробно о создании меню, его вставку в определенное место шаблона и многое другое, связанное с работой в Joomla, я расскажу в следующих постах рубрики Основы работы с Joomla 1.5.

Вы так же можете ознакомиться с другими материалами связанными с работой и настройкой сайта на Joomla, а так же с материалами, посвященными расширениям для Joomla и вопросам связанным с созданием и настройкой интернет-магазина на основе компонента VirtueMart.

На сегодня все. Если вы не хотите пропустить появление новых материалов на этом сайте, то можете подписаться на рассылку новостной ленты через форму, расположенную чуть ниже, или же выбрать удобный для вас способ подписки на странице Подписка. Если у вас остались нерешенные вопросы из области вебмастеринга, то вы можете поискать на них ответы, посетив страницу Вопросы и ответы.

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Спонсор выпуска: Вы любите смотреть фильмы на DVD? Но не знаете, как это делать вдали от электрических розеток? Ваше проблема легко решаема, достаточно заказать DVD проигрыватели в портативном варианте.


Спасибо Вам за добавление этой статьи в
Подписаться на обновления по E-mail RSS
Получать обновления на E-mail
GoGetLinks — самая выгодная биржа рекламных обзоров
Кстати, тоже интересно почитать:
Рубрика : Настройки и работа в Joomla Теги : , , , , , ,

Комментарии
25 сентября 2009

А чего у блога такая посещаемость низкая… Кстати на твой блог порчу навели, помогу снять


25 сентября 2009

Ой, благодарю.

BluRayOriginalSound

25 сентября 2009

Да уж, это конечно же нелегко. :)


5 января 2010

Как же хорошо все расписано

nat

5 января 2010

спасибо за статью

nat

12 января 2010

Вобщем енто всё ясно но не мог бы по конкретнее написатьб про генерацию страниц просто я так понял странится генерируеться записываеться в папочку делее проверка на существование и на время существования если find то берёт и выводит енту страницу. с ентим всё ясно но вот в чём дело при работе с джомалом строка адреса явно не передаёт переменные методом пос и гет там адрес типа
домен.ру\234\234\3 Это какраз связано с кешированием страниц или изобрели метод передачи параметров каким нить другим способом !? просто я ща пишу типа тоже чтото ЦМС и встала проблема генерации страниц точнее определения что на страницу должно грузиться а определить можно только по переменным в строке адреса или используя глобальные переменные. Так в итоге вопрос как он всё таки работает? К примеру пусть не цмс

Shopscript free
стартует сессия создаётся обЪект типа смарти(енто шабланизатор такой) затем смотрятся переданные переменные типа там IDпродукта если есть и он создан в глобальном массиве то добро пожаловать на страницу продукта.
а как тут всё происходит !???

Заранее пардон за мой русский (на потоке мысли главное её не потерять) :-) ))

ilich87

13 января 2010

Стандартное кеширование хорошо если на сайте мало изпользуются сторонние плагины. У меня при использовании стандарного кеширования рушилась менюшка при выборе меню компонента Quick_FAQ. Решил вместо этого использовать стандартный джумловый компонент.
Будет время опиши как прикрутить WEb Optimizer длz Joomla!


14 января 2010

близкий: WEb Optimizer на пробовал. Может быть вам JRE CACHE или JAccelerator попробовать.


24 января 2010

Спасибо!
Я до этого не знал зачем это кеширование нужно и особенности его работы!
Спасибо! :)

Lardok

25 января 2010

Lardok: пожалуйста.


27 января 2010

Дмитрий, спасибо. Все, что я читал про Joomla – это какие-то обрывки мыслей. Хорошо, что я знаю о Вашем сайте. Наконец-то могу прочитать подробное и интересное руководство.


3 февраля 2010

Благодарю за информацию, немногие будут уделять внимание этой функции, как и сам я не обратил, теперь буду пробовать с кешем и без.


28 февраля 2010

Благодарю за информацию

Ghost

15 марта 2010

Тоже хотелось бы поблагодарить автора за информацию.Спасибо!

max

21 марта 2010

+1. Спасибо автору. ktonanovenkogo рулит, мало где вообще есть нормальные, человекопонятные описания, либо развернута информация, а у вас тут действительно, для начинающего всё доступно расписано. Еще раз огромный сенькс :) рад что вас нашел.


23 марта 2010

Олег: пожалуйста, я то же рад, что вы нашли мой блог и оставили такой замечательный комментарий.


25 мая 2010

А какой платный шаблон приводится на картинке в качестве примера большого количества модулей?

Marat

8 июня 2010

спасибо. много подчерпнул, и пополнил свои знания по joomla. Развиваемся. :)


18 июня 2010

Igrun: пожалуйста.


21 августа 2010

подскажите кто знает чем отличается включение кеширования в общих настройках от включения кеширования включением модуля system cashe?

recszpua

24 августа 2010

тружусь над своим сайтом, и ваши статьи мне очень помогают. Не нашла здесь как сделать комментарии к статьям? Ваши очень понравились, где такое взять?
И еще (не в тему): Phoca Gallery заценила по вашему рецепту, поставила себе тоже. Но не могу найти в настройках, как выровнять по центру превьюшки (они же заключены в рамку, но смещены вверх)? Может подскажите.

Наталья

2 сентября 2010

Материал понравился. Хочу свой новый сайт сделать на Joomla. И чтобы добиться успеха надо знать все тонкости.


Написать

(обязательно)

(обязательно)


Это не спам.

Subscribe without commenting

» Подписаться на комментарии к этой статье по RSS