Доброго времени суток. В предыдущих постах мы рассмотрели создание шаблона: структуру шаблона CMS Joomla, верстка шаблона, определение позиций для модулей CMS Joomla.
Но при отображение модулей и основного контента нашего сайта не вписывается в общий дизайн сайта. И это правильно, ведь отображение как модулей, так и компонент в нашем случает будет по умолчанию.
В этой статье я хотел бы рассказать о том, как изменить отображения модулей и компонент под дизайн сайта, не изменяя отображений по умолчанию. А также закрепить ранее полученные знания по изменению позиции для модулей. Задача поставлена, давайте приступим к созданию шаблона для Joomla, а точнее продолжим создавать наш шаблон.
Первое на чем бы я хотел остановиться – поместить модуль поиска на позицию «find». Давайте это сделаем, заходим в админпанель CMS Joomla. В основном меню переходим Расширения-> Менеджер модулей (если Вы не очень хорошо разбираетесь в интерфейсе Joomla, то Вам поможет пост про интерфейс CMS Joomla):
Выбор позиции для модуля |
В следующем окне жмем «Выбор позиции»:
Выбор позиции для модуля "Поиск" |
И в открывшемся окне включаем фильтр (выбираем «Шаблон» и название нашего шаблона для joomla, в моем примере это «lesson») и жмем по позиции «find»:
Выбор позиции для модуля у установленного шаблона |
Для того, чтобы шаблон для CMS Joomla соответствовал эскизу необходимо не только правильно сверстать каркас, но также и определить отображение для модулей Joomla, соответствующее дизайну нашего шаблона.
Чтобы не изменять стандартное представление модулей и компонент в CMS Joomle, существует следующий ход:
В папке с шаблоном создаем папку «html» и в нее помещаем подпапки необходимых для изменения модулей в нашем случае «mod_search» и копируем в нее шаблон представления для данного модуля, который находится в: /modules/<mod_название модуля>/tmpl/ (в нашем случае /modules/mod_search/tmpl/default.php ). И этот файл мы изменяем по своему усмотрению (ну конечно согласно заданного эскиза :)).
Давайте, рассмотрим, как ведет себя joomla. Когда Вы открываете страницу, то cms смотрит как ее отобразить, для этого она заглядывает в папку с выбранным шаблоном, после она смотрит есть и ли папка «html» и если да, то смотрит какие модули и компоненты необходимо отобразить не стандартным способом, если же данной папки нет, то она отображает модули так как они описаны в стандартном представлении (/modules/<название модуля>/tmpl/default.php). Вот в принципе и все!!!
Изменяя представления модулей в своем шаблоне (а точнее в подпапке html) Вы тем самым не нарушаете общую структуру CMS Joomla и сохраняете возможность быстро и качественно изменять вид Вашего сайта, который работает на данном движке.
На этом статья про создание шаблона для CMS joomla, а точнее изменение представления модулей CMS Joomla под дизайн сайта закончена.
В следующем посте мы рассмотрим как добавить дополнительные параметры к шаблону, которые можно изменять из админки.
Всем успехов в разработке новых и интересных шаблонов для CMS Joomla.
здравствуйте,спасибо практически все получилось,НО как сделать так чтобы при нажатий на пункт меню из левой колонки ,отбражался контент в центральной колонке?целый день бьюсь(
ОтветитьУдалитьЗдравствуйте, так сразу и не скажу, да и требование, если честно, не совсем понял. Вот посмотрите тут: http://zloykolobok.blogspot.com/2011/06/joomla-16.html может натолкнет на мысль.
ОтветитьУдалитьнет,с меню я разобрался
ОтветитьУдалитьhttp://s017.radikal.ru/i442/1110/f7/858526792efc.jpg
если не трудно добавишь меня в скайп g_shamil_a
ну правильно, создать материал, а зпетм при создании меню выбрать в тип меню материал и указать этот материал. Тогда при нажатии на данный пункт меню будет открываться этот материал.
ОтветитьУдалитьну не открывается(
ОтветитьУдалитьПривет! Все хорошо и доходчиво описано, так держать! :) Но, тык сказать без ложки дегтя не получается ) Краткость - сестра таланта, но все же не мешало бы некоторые моменты по подробней рассмотреть. Например касаемо модулей, описано, что в этой папке (html) что-то должно лежать, но вот что именно должно лежать? Модуль целиком или какие-то определенные файлы?
ОтветитьУдалитьПривет zigurath. Там же все описано: в папке html нужно положить папку с названием модуля (например mod_search), а в нее уже ложите шаблон самого модуля. И уже меняя шаблон в этой папке Вы изменяете вид данного модуля. Все просто. Благодаря этому Вам не надо лезть в сами мозги Joomla для изменения шаблонов расширений.
ОтветитьУдалитьТо есть, целиком модуль класть и у уже эту копиию и редактировать? Если так, то теперь все понятно! :) Спасибо за помощь, да и за статьи, очень полезные! Жду свежачка!
ОтветитьУдалитьzigurath, нет весь модуль туда ложить не надо, только его шаблон
ОтветитьУдалитьЗломуКОлобку респект.
ОтветитьУдалитьКратко и по делу. Вез воды и размазывания очевидного.
Спасибо, стараюсь :)
ОтветитьУдалитьПомогите, пожалуйста! Как изменить цвет подсветки в результатах поиска на моем сайте? Цвет подсветки и слова результатов поиска сливаются. Ничего толком не видно. Подскажите кто знает?!
ОтветитьУдалитьЭтот комментарий был удален автором.
УдалитьА вот у меня ничего не получается :(
ОтветитьУдалитьДля практики делал как написано у тебя Ромчик:
1) Указал модулю позицию (модуль появился на сайте);
2) Создал папку html в папке моего шаблона;
3) Указал в файле templateDetails.xml -> html (хотя пробовал из без этого);
4) Перекинул в папку html шаблон default.php из www\modules\mod_search\tmpl
5) Переименовал папку стандартного шаблона в www\modules, чтобы проверить как Joomla обращается в моей папке html.
В итоге, модуль который я разместил на сайте пропадает. Что я не правильно делаю?
Если Вы хотите поменять представление mod_search, то в папку /html/mod_search помещаете файл default.php из папки, которую Вы указали в 4 пункте. Для проверки измените название этого файла в /modules/mod_search/tmpl
УдалитьКонечно в папку /html/mod_search, но всё-равно не получается. Что-бы не делал все изменения реагируют только на файл в папке /modules/mod_search/tmpl.
ОтветитьУдалитьТолько вот для проверки изменяю не имя файла default.php, а имя папки /modules/mod_search. Может в этом загвоздка?
Да, проблема в этом нужно переименовать сам файл. А лучше изменить стиль отображения в html/mod_search И Вы должны будете увидеть эти изменения
ОтветитьУдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьогромное спасибо Ромчик за такие доступные статьи по джумле
ОтветитьУдалитьА вот у меня целых три проблемы.
ОтветитьУдалить1. После удаления раскраски не остается никаких границ блоков. При просмотре позиций добавлением к адресу сайта "?tp=1" границы блоков тоже не видны, только названия (find, footer etc.). Что, у других тоже так?
И как мне выйти из положения - восстановить раскраску?
2. При установке модулей у меня ничего не устанавливается - наверное все устанавливали Джумлу с демонстрационным контентом, там конечно долны быть какие-то модули. А я устанавливал пустую Джумлу, без контента. На локальный сервер WAMPSERVER.
3. Одна из позиций, а именно "find" попадаен не на свое, а на чужое место. Дело в том, что я верстал разметку сам и блок find всталял как-то иначе. Но самое главное, когда я под контейнером "menu" разместил "clear" (причем в CSS он у меня описан как "div#clear:right", по другому все не работало и происходило смещение блоков. Когда я это сделал, все блоки встали на свои места, но под полоской menu очистилась узкая 40px полоска с расцветкой обертки. И я ее решил испольцовать для блока навигации, так и описал и в jdoc, и в templateDetails. И она прописалась под присвоенным ей названием "navigation". Так вот теперь позиция "find" у меня размещается не там, где она прописана (в правом краю верхней строки), а влезает в очищенную область "navigation", правда не вытесняя ее, а расширяя - размещается вместе с ней. В одной области получается как бы два блока "navigation" и "find".
Если кто-то что-то понял из моего сумбурного изложения, посоветуйте что-нибудь путное, хоть что сможете.
Спасибо.
Здравствуйте! Пользуясь Вашей дискссией с "Анонимным" (он очень помог), я отремонтировал Ваш index.html и соответствующий template.css, а потом переустановил Ваш шаблон. Все благополучно встало.
ОтветитьУдалитьНо: Джумлу тоже пришлось переустановить вместе с контентом и этот контент сразу же без всяких моих усилий разместился на блоге (т.е. на центральном блоке "center". (Кстати я его включил в описани позиций в файле templateDetails, у Вас не был указан.
Не знаю, правильно ли сделал или самовольно что-то нарушил?).
Но вот беда: шрифт на блоге "center" разместился настолько крупный, что вылез не только за пределы сайта, но и за пределы экрана.
Вопрос: как уменьшить шрифт статей, чтобы он помещался в отведенном ему месте.
И спасибо, Рома за такую науку. Нисколько не жалею о многочисленных исправлениях и переустановках, только лучше наловчился, теперь с закрытыми глазами могу проделать Ваши уроки.
И все же: как уменьшить шрифт?
Здравствуйте! Это опять Михаил и опять с проблемой: в этих переносимых к себе .php модулях активно используются многие разные классы. При этом источник css, откуда они берутся в модулях нет. Где их найти, хоть посмотреть, как они устроены.
ОтветитьУдалитьИли самому в папке css создавать отдельный файл .css, в котором описывать эти классы?
Рома, и все-таки очень прошу, ответь мне - как уменьшить размеры форм входа и размеры текста в них. И как вообще управлять размерами текста. Ничего не влезает в блоки моего сайта и вообще выходит за пределы экрана!
Спасибо. И вообще огромное спасибо за хорошие статьи.