пятница, 14 октября 2011 г.

Шаблон JA_Purity II на Joomla 1.7. Часть 2.


Эта статья является продолжением статьи об этом замечательном бесплатном шаблоне для Joomla 1.7. В ней я хочу предложить вашему вниманию способы тонкой настройки этого шаблона.
Во-первых, как и некоторые другие шаблоны, можно что-то подправить на вкладке «Layouts». Например, мне необходимо было удалить «ненужный» блок управления из лицевой части сайта.

На вкладке «Layouts» редактируем (нажимаем иконку с карандашом) «расположение по умолчанию». В открывшемся окошке с кодом нам необходимо удались строку
<block name="cpanel" type="usertools/cpanel">
и нажать кнопку «Save». С помощью этих файлов можно также менять расположение блоков. Заметьте, если мы изменили что-то, то рядом с измененным материалом появится ссылка «Reset to default» - с ее помощью можно можно восстановить «заводские настройки». Весьма полезная штука при экспериментах с шаблоном ;-), спасибо разработчикам!
Ссылка "Reset to default" позволяет отменить все изменения в соответствующем файле шаблона

Если же вы хотите оставить данную панель управления, но просто отключить некоторые возможности (или наоборот включить :-)), то можно воспользоваться секцией «User Tools» на вкладке «Profiles». На ней можно указать, что будет доступно пользователю с лицевой стороны сайта, а что нет.

Однако, мне также необходимо было изменить «цветовую гамму» меню и немного изменить размеры изображения рядом с логотипом, а админка шаблона этого сделать не позволяла. Если Вам также необходимо это сделать, придется править код шаблона. Все файлы шаблона, которые нам понадобятся, находятся в папке шаблона \templates\ja_purity_ii\. Будем считать ее корневой для нашей статьи (т. е. все пути ниже будут «отсчитываться» от этой папки. Редактирование кода можно делать в любом текстовом редакторе, например блокноте (в контекстном меню файла выбрать "открыть с помощью"). Но все таки лучше и проще это делать в Notepad++.

Как делал это я:

  1. Убрать «маску» изображения рядом с логотипом.
Если вы заметили, то изображение (точнее изображения, т. к. шаблон имеет три различных картинки по умолчанию, которые он показывает в случайном порядке) покрыто по краям «туманом». И если Вам необходимо избавится от него, просто удалите\переименуйте файл \images\header-mask.png. (конечно, можно подправить код шаблона, чтобы добиться того же результата, но мне кажется новичкам так будет проще. Но все таки, если хотите подправить код, то вот он: в файле \css\template.css строки 788-790 отвечают за маску
/* Header mask ---*/
.ja-headermask {
background: url(../images/header-mask.png) no-repeat top right;).

  1. Увеличение/уменьшение количества картинок рядом с логотипом
Изображения, которые шаблон использует в своей работе, находятся в папке \images\header.
Код, который отвечает за их выборку и отображение находится в файле \blocks\head.php строки 48-52
#ja-header .main {
background-image: url(
<?php echo T3Path::getUrl('/images/header/header'. rand(1,3).'.jpg'?>
);
}
Как видно из кода, шаблон в случайном порядке определяет целое число от 1 до 3 включительно, добавляет его как суффикс с имени картинки и загружает ее в хедер. Т.е. , если вы хотите использовать только одну картинку, замените
'/images/header/header'. rand(1,3).'.jpg'
на
'/images/header/header1.jpg' — где header1.jpg — картинка, которую вы хотите использовать (можно заменить стандартную на свою в папке /images/header)
Или же, если хотите использовать больший набор картинок, замените цифру 3 на то количество картинок, которое хотите использовать. (не забудьте поместить их с именами headerХ.jpg в соответствующую папку /images/header, где Х — номера изображений).

  1. Изменение размеров картинки рядом с логотипом и положения самого логотипа
Например, мне необходимо было сделать картинку шире и выше, чем стандартная (шириной на всю страницу и разметить логотип по ее центру).
Код отвечающий за логотип (файл \css\template.css, строки 338-342):
h1.logo a {
background: url(../images/logo.gif) no-repeat center;./*картинка лого и ее выравнивание*/
display: block;
height: 79px;/*высота лого*/
width: 600px;/*ширина лого — меняя ее, можно управлять горизонтальным положением лого ;-)*/
Код отвечающий за картинку в хедере (файл \css\template.css, строки 1215-1219):
#ja-header .main {
background: url(../images/header3.jpg) no-repeat right top #333;
height: 119px;/*устанавливает высоту картинки в хедере*/
padding: 0;
}
Ширина этой картинки зависит от ширины исходного файла картинки. Т. е. если хотите картинку на всю ширину сайта, просто используйте в этом качестве картинку, у которой ширина соответствует желаемой вами.

  1. «Раскраска» меню.
Если стандартные цвета главного меню вас не устраивают, их можно поменять на свои, подправив некоторые файлы (хотя конечно хотелось бы видеть данную функцию в админке шаблоноа). Перед тем как что-то менять, подумайте, а сможете ли вы подобрать новые цвета главного меню гармонично? Если да, тогда вот вам поле для работы:

файл \css\template.css, строки 1211-1213
/* HEADER
--------------------------------------------------------- */
#ja-header { background: #333; position: relative; z-index: 10; }/* меняет фон вокруг верхней картинки (333 — код цвета, можете указать свой)*/

файл \css\template.css, строки 1241-1247
/* Main Nav ---*/
#ja-mainnav {
background: url(../images/grad1-mask.png) repeat-x top #444;/*цвет фона главного меню, по умолчанию 444*/
border-top: 1px solid #666;
line-height: 1;
position: relative;
z-index: 11;
}

Дальнейшая раскраска меню производится с помощью файлов, находящихся в папке \css\menu. Как видно по названиям файлов, каждый из них отвечает за оформление своего типа главного меню. Чтобы не нагружать лишним текстом, можете скачать пример файла mega.css (где я «перекрасил» меню в синий цвет), где я оставил комментарии в коде, какой параметр за что отвечает.
Надеюсь, это кому-то поможет!
До свидания!

четверг, 13 октября 2011 г.

Шаблон JA_Purity II на Joomla 1.7. Часть 1.


Здравствуй, читатель!
В этой статье я хочу поговорить о шаблонах для Joomla 1.7. В своих работах я использую бесплатные шаблоны, и одним из моих любимых и часто используемых является замечательный шаблон Purity II от Joomla Art. Для Joomla 1.5.х этот шаблон (правда в более ранней версии) входит в стандартную поставку. Для Joomla 1.7.х этот шаблон необходимо ставить отдельно, вместе со специальным плагином фреймворка под этот шаблон (скачать можно с официального сайта вместе с самим шаблоном). Без этого плагина шаблон работать не будет (тут уж следует отметить, что производитель мог бы и включить файлы плагина в стандартный пакет установки шаблона, но это сугубо мое мнение).
Однако, все вышеперечисленное не является главной особенностью шаблона. На мой взгляд, главным отличием этого шаблона от других является его принцип работы со стилями в общем и многоязычными сайтами в частности. В предыдущей статье говорилось о том, что при создании многоязычного сайта на Joomla 1.7 необходимо создавать стили (копии шаблона) и «привязывать» каждый из них под определенный «язык содержания». Для многих шаблонов также необходимо указать меню, которое будет использоваться в текущем стиле шаблона для определенного языка. Когда я начинал работать с Purity II под Joomla 1.7, я думал что и этот шаблон работает по той же «схеме». Но это оказалось не так. Как выяснилось, данный шаблон может создавать «стили» внутри своей «админки» (если можно так назвать панель управления параметрами шаблона) на вкладке «профили». 

И уже после этого, внутри каждого созданного «профиля» или «стиля» можно настраивать привязки этого стиля к языку, устанавливать языковую версию меню и настраивать другие параметры.
Также в «админке шаблона» есть еще одна замечательная функция — это «Page Assignments». 

С ее помощью можно «привязать» каждый пункт любого меню (и даже модули) к созданным профилям шаблона!

До свидания!

Многоязычный сайт на Joomla 1.7


Добрый день, уважаемый читатель!
В этой первой статье из нового раздела Joomla мне бы хотелось рассказать о процессе создания многоязычного сайта с помощью CMS Joomla 1.7. В свое время я искал информацию по этому вопросу на русском языке, но к сожалению не нашел. Поэтому я решил написать данную статью, основой для которой стало англоязычное руководство по созданию многоязычного сайта на CMS Joomla 1.7, которое я немного дополнил своими комментариями.
Итак, начнем.
Для начала, следует отметить то, что если в Joomla 1.5.х многоязычность сайта обеспечивалась главным образом сторонними компонентами (например Joomfish), то начиная с версии 1.6 Joomla предлагает подобную функциональность своими силами. Joomla 1.7.х продолжила развитие данной функции. Одним из главных улучшений встроенного механизма создания многоязычного сайта в версии 1.7.х является «ассоциация меню». На практике это выражается в следующем: если в версии 1.6 при смене языков в браузере пользователя перенаправляло с просматриваемой им страницы текущей языковой версии на домашнюю страницу выбираемой им языковой версии, то в версии 1.7 можно настроить «ассоциации меню» - т. е. установить соответствие статьи одной языковой версии с такой же статьей другой языковой версии. В результате этого, пользователь останется на той же странице, которую просматривал, но только изменится язык содержимого.

Процесс создания многоязычного сайта на Joomla 1.7 состоит из следующих этапов:
    1. Установите требуемые языковые файлы для каждого языка, который вы хотите использовать в своем сайте.

    2. Создайте «языки содержания». Для этого перейдите в меню «Расширения» - «Менеджер языков» («Extensions» - «Language Manager»).  

      В открывшейся странице перейдите на вкладку «Содержание» («Contents») и нажмите кнопку «Новый» («New»). Создайте новый «язык содержания», заполнив данные о нем в окне редактора нового языка. 

      После этого, добавленный Вами «язык содержания» будет доступен во всех соответствующих меню админки Joomla 1.7
    1. Теперь создадим структуру нашего будущего многоязычного сайта. Для этого сначала создадим для каждого языка, который мы хотим использовать, корневую категорию, которую привяжем к этому языку (в окне создания категории из выпадающего списка языков выберите желаемый язык для этой категории вместо указанного там значения «Все» («All»)). При этом в названии категории желательно указать, к какому языку она относится. 

      Если необходимо, создайте дочерние категории для каждой корневой (родительской) категории, при этом язык дочерних категорий должен соответствовать языку родительской категории. В каждой категории создайте необходимое Вам количество статей, следуя правилу «язык статьи равен языку категории». 
    1. Когда структура сайта готова, можно приступать к созданию меню. Как и в случае со статьями\категориями, придется создавать меню для каждого «языка содержания». 

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

      В каждой версии меню (для определенного языка) один из пунктов должен указывать на домашнюю страницу (для этого же языка). 

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


      Как только мы присвоем для каждого меню домашнюю страницу, а админке мы увидим напротив меню соответствующий языку меню флажок. 

      В языковом менеджере на вкладке «содержание» («content») можно увидеть индикатор того, что для определенного «языка содержания» есть соответствующая ему домашняя страница. ВАЖНО: если «язык содержания» не содержит домашнюю страницу (в таблице напротив него стоит значение «Нет» («No»)), он будет недоступен посетителям вашего сайта.

    2. Чтобы отобразить созданные нами меню, необходимо для каждого из них создать и опубликовать свой модуль, опять таки привязанный к языку («язык модуля» должен соответствовать «языку меню», которое он будет отображать). 

      При этом модуль, отображающий меню «по умолчанию» (которое создается автоматически при установке Joomla 1.7) необходимо снять с публикации.

    3. Следующим шагом будет создания «стиля шаблона» для каждого «языка содержания». Это очень удобная вещь, т. к. позволяет отображать свой стиль шаблона в зависимости от языка. (например, логотип сайта может меняться в зависимости от выбранного пользователем языка, модуль может быть доступен в одной языковой версии и недоступен в другой и др.). Для создания стиля шаблона, необходимо скопировать шаблон в окне менеджера шаблонов, 
      дать копии осознанное имя (например, связанное с языком, для которого будет использована данная копия шаблона) и настроить полученную копию (привязать ее к языку).
    4. Выполнив предыдущие шаги, нам осталось только создать модули для выбора языков и опубликовать их, чтобы пользователи могли выбирать язык сайта. Как и прежде, каждый модуль привязан к соответствующему «языку содержания».

    5. Заключительный этап. Нам осталось только включить плагин «фильтра языков» (Language Filter plug-in) в менеджере плагинов. 
      Если мы хотим использовать «ассоциации меню» (т. е. чтобы пользователь при смене языков оставался на той же странице, что он и просматривал, но в другой языковой версии, вместо того, чтобы его перенаправляло на домашнюю страницу выбранной им языковой версии), в плагине «фильтра языков» необходимо установить соответствующий переключатель. 
      Кроме того, необходимо настроить для каждого желаемого пункта меню соответствующие ассоциации с аналогичными пунктами меню других языковых версий.
В заключении хочется сказать, что функциональность новой Joomla позволяет сделать вещи, для реализации которых раньше необходимо было использовать сторонние программы. Из данного примера видно, что многоязычность работает «из коробки», плюс к этому, если раньше чтобы показать различный логотип или модуль в зависимости от языка сайта мне необходимо было использовать специальные плагины, то сейчас это также можно сделать стандартными средствами Joomla 1.7
На этом все. До свидания!