Web-программист занимается разработкой программ, поддерживающих функционирование интернет-сайтов. На основе концептуальных и дизайнерских задач, поставленных заказчиком или работодателем, web-программист создает технически адаптированные страницы, интерфейсы и т.д.
Создаем шаблон Joomlа по стандартам - CSS для Joomla
CSS для Joomla
Хотя Joomla 1.5 имеет функциональность для переопределения с помощью шаблонов того, что отображается ядром, ее вывод по умолчанию все еще использует множество таблиц для отображения контента в основном теле страницы. Наряду с этими таблицами, для изменения стилей страницы дизайнеру доступны некоторые заранее заданные CSS-классы. По результатам небольшого исследования, проведенного членами сообщества, мы составили таблицу, которая содержит текущий перечень этих классов. Обратите внимание, что список не содержит базовые элементы страниц, такие как H1, H2, p, ul, a, form и т.д.
CSS-стили, унаследованные в версии 1.5 от версии 1.0
Многие классы, которые вы видите в этой таблице, имеют более специфичные CSS-стили. Обычно, более специфичное правило имеет преимущество перед менее специфичным правилом.
Например:
a {color:blue;} a:link {color:red;}
.contentheading {color:blue;}
div.contentheading {color:red;}
Цвет ссылки и цвет .contentheading будет красным, так как это правило более специфично (поскольку .contentheading находится внутри <div>)
В случае шаблонов Joomla вы часто увидите использование более специфичных правил. Это часто случается, когда класс применятся к таблице. Вот еще примеры:
.moduletable
table.moduletable
.moduletable это класс для блока <div>, в котором содержится модуль. table.moduletable всего лишь определяет стиль для таблицы с заданным классом class=«moduletable». .moduletable определяет стиль не зависимо от того, к какому элементу этот класс относится.
a.contentpagetitle:link
.contentpagetitle a:link
a.contentpagetitle:link применяет стиль к любому тегу «a», являющемуся ссылкой, для которого задан класс .contentpagetitle. .contentpagetitle a:link применяет стиль ко всем ссылкам внутри элемента, для которого задан класс .contentpagetitle.
Специфичность не так легко понять, поэтому гораздо легче начинать использовать более простые, базовые стили, в дальнейшем переходя к более специфичным, если вы не добиваетесь нужного результата.
Вот несколько ссылок на сайты, на которых специфичность обсуждается в деталях:
В настоящий момент наш шаблон использует несколько таблиц. Как было отмечено ранее, это замедляет отображение страниц и усложняет их дальнейшую модификацию. Для того, чтобы уменьшить количество таблиц, получаемых при выводе модулей, мы должны использовать параметр style при вызове jdoc:include.
Что необходимо знать
Joomla будет выводит конкретные, заранее заданные элементы, id и классы непосредственно в коде страницы. Этого можно избежать, если мы хотим перейти к дизайну с использованием CSS.
Модули и шаблоны
При вызове модуля в index.php можно использовать некоторые опции, чтобы задать, как он будет отображаться. Синтакс следующий:
Параметр style не обязательный, его варианты задаются в templates/system/html/modules.php. В настоящий момент файл modules.php по умолчанию содержит следующие варианты:
OPTION=«table» (отображение по умолчанию) модули отображаются в колонке таблицы. Вот пример такого отображения:
OPTION=«rounded» заставляет модули отображаться в формате, который позволяет создавать растягиваемые скругленные углы. Если задан этот вариант style, то имя блока div изменяется с «moduletable» на «module». Пример отображения:
OPTION=«none» заставляет модули отображаться в «сыром» виде, не содержащем элементы или заголовки. Вот пример:
echo $module->content;
Как вы видите, опции с использованием CSS (xhtml и rounded) более линейны в коде, что облегчает применение стилей к веб-страницам. Я не рекомендую использовать опции table (по умолчанию) или horz, если только это не абсолютно необходимо.
А вот теперь по-настоящему хороший момент!
Если вы посмотрите файл modules.php, вы увидите все варианты опций, которые существуют для модулей. Но можно легко создать свой вариант, это часть новых мощных возможностей шаблонизации в версии 1.5. Мы рассмотрим эту тему в нашей следующей главе о переопределении шаблонов.
Для разработки нашего шаблона мы зададим всем нашим модулям style=«xhtml»:
Примечание Некоторые меню при установке по умолчанию имеют суффикс _menu в свойствах модуля. Для того, чтобы все работало правильно, я удалил этот параметр.