Доброго времени суток. И мы с Вами продолжим наращивание функционала нашего компонента для CMS Joomla 1.7. Итак, давайте немного вернемся назад и вспомним, что мы уже сделали:
Управление языками для CMS Joomla необходимо в четырех случаях:
Для тех, кто присоединился к нам с этого поста я рекомендую скачать компонент, на базе которого мы и продолжим наращивать функциональность.
Языковый файл для сайта.
Создадим языковый файл для сайта. Для этого в папке нашего компонента в подпапке site создадим папку language, а в ней папку en-GB. В этой папке ( en-GB ) создадим файл en-GB.com_helloworld.ini. И оставим его пока пустым.
Языковый файл для административной части сайта.
Теперь давайте создадим языковый файл для административной части нашего сайта. Для этого создадим в папке нашего компонента в подпапке admin создадим папку language, а в ней папку en-GB. В этой папке ( en-GB ) создадим файл en-GB.com_helloworld.ini. И добавим в него следующий код:
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_DESC="This message will be displayed"
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_LABEL="Message"
COM_HELLOWORLD_HELLOWORLD_HEADING_GREETING="Greeting"
COM_HELLOWORLD_HELLOWORLD_HEADING_ID="Id"
Языковый файл для управления меню нашего компонента.
Следующим шагом добавим языковый файл для управления меню в административной части нашего сайта. Для этого в admin/language/en-GB/ файл en-GB.com_helloworld.sys.ini.
И добавим в него следующий код:
COM_HELLOWORLD="Hello World!"
COM_HELLOWORLD_DESCRIPTION="This is the Hello World description"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE="Hello World"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC="This view displays a selected message"
COM_HELLOWORLD_MENU="Hello World!"
Параметры языка компонента.
Начиная с версии Joomla 1.7 при установке языковых файлов мы можем пойти двумя способами:
<files>
[...]
<folder>language</folder> //В этой папке находятся подпапки с языковыми файлами
<filename>whatever</filename>
[...]
</files>
Создание языкового файла при установке компонента.
В корневой папке для нашего компонента создадим попдпапку language, в которой создадим папку en-GB, а уже в этой папке создадим языковый файл en-GB.ini.
И в него добавим следующий код::
COM_HELLOWORLD="Hello World!"
COM_HELLOWORLD_DESCRIPTION="This is the Hello World description"
На этом добавление языковых файлов завершено. Осталось только немного изменить наш файл описания helloworld.xml, который имеет следующий вид:
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="1.7.0" method="upgrade">
<name>Hello World!</name><!-- Название -->
<creationDate>2011</creationDate><!-- Дата создания -->
<!-- Данные о разработчике -->
<author>zloykolobok</author><!-- Инициалы автора -->
<authorEmail></authorEmail><!-- e-mail автора -->
<authorUrl>http://zloykolobok.blogspot.com</authorUrl><!-- адрес ресурса автора -->
<!-- /Данные о разработчике -->
<copyright></copyright><!-- Права -->
<license>GNU</license> <!-- Тип лицензии -->
<version>0.0.8</version><!-- версия продукта -->
<description>Продолжение статей по созданию расширений для CMS Joomla</description><!-- Описание продукта -->
<!-- Будет выполняться при установке продукта -->
<install>
<sql>
<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
</sql>
</install>
<!-- Будет выполняться при удалении продукта -->
<uninstall>
<sql>
<file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file>
</sql>
</uninstall>
<!-- Будет выполняться при обновлении продукта
* Данная функция доступна с версии CMS Joomla 1.6
-->
<update>
<schemas>
<schemapath type="mysql">sql/updates/mysql</schemapath>
</schemas>
</update>
<!-- Копирование файлов в секцию site-->
<files folder="site">
<filename>index.html</filename>
<filename>helloworld.php</filename>
<filename>controller.php</filename>
<folder>views</folder>
<folder>models</folder>
<!-- Новая папка с языковыми файлами для сайта -->
<folder>language</folder>
</files>
<!-- Настройка административного раздела -->
<administration>
<!-- меню в административном разделе-->
<menu>Hello World!</menu>
<!-- Копирование сайтов в секцию Administration -->
<files folder="admin">
<filename>index.html</filename>
<filename>helloworld.php</filename>
<filename>controller.php</filename>
<!-- папка для SQL файлов -->
<folder>sql</folder>
<!-- папка tables -->
<folder>tables</folder>
<!-- папка models -->
<folder>models</folder>
<!-- папка views -->
<folder>views</folder>
</files>
<!-- Настройка языка -->
<languages folder="admin">
<language tag="en-GB">language/en-GB/en-GB.com_helloworld.ini</language>
<language tag="en-GB">language/en-GB/en-GB.com_helloworld.sys.ini</language>
</languages>
</administration>
<!-- /Настройка административного раздела -->
</extension>
Скачать готовый компонент вы можете по этой ссылке.
В этой статье мы с Вами добавили к нашему компоненту языковый файл. А в следующей статье мы добавим некоторые действия в админку для нашего компонента и поговорим о панели управления. Так, что не пропускайте выхода новых статей, подписавшись на RSS-рассылку для этого блога. Или следите за мной в twitter. А на этом пока все.
- В статье “Создание расширения для CMS Joomla 1.7. Введение.” мы рассмотрели идею принципа MVC и дали основные определения компонентам, модулям, плагинам.
- А уже в посте “Создание расширения для CMS Joomla 1.7. Часть 1” мы остановились на файловой структуре компонента и создали каркас для компонента.
- В третьем посте “Создание расширения для CMS Joomla 1.7. Часть 2” мы начали наращивать функционал. Теперь наш компонент для CMS Joomla выводит сообщение “Hello World”
- В четвертой статье из серии о создании компонента для Joomla “Создание расширения для CMS Joomla 1.7. Часть 3” мы добавили тип меню для нашего компонента.
- Дальше мы остановились на создании модели в нашем компоненте “Создание расширения для CMS Joomla 1.7. Часть 4”
- В шестой статье “Создание расширения для CMS Joomla 1.7. Часть 5. Добавление переменной запроса.” мы разобрали, как добавить переменную к запросу, а точнее добили параметры в меню компонента.
- В следующем посте “Создание расширения для CMS Joomla 1.7. Часть 6. Работа с базой данных.” мы остановились на работе нашего компонента с базой данных.
- И в следующей статье “Создание расширения для CMS Joomla 1.7. Часть 7. Дизайн административного (backend) интерфейса.” мы изменили представление нашего компонента в административной части нашего сайта.
Управление языками для CMS Joomla необходимо в четырех случаях:
- Правильность отображения компонента на сайте.
- Управление компонентом в админ части сайта.
- Управление меню для CMS Joomla а админке.
- При установке компонента.
- Первая administrator/language или language
- Вторая administrator/component/<название компонента>/language или component/<название компонента>/language
Для тех, кто присоединился к нам с этого поста я рекомендую скачать компонент, на базе которого мы и продолжим наращивать функциональность.
Языковый файл для сайта.
Создадим языковый файл для сайта. Для этого в папке нашего компонента в подпапке site создадим папку language, а в ней папку en-GB. В этой папке ( en-GB ) создадим файл en-GB.com_helloworld.ini. И оставим его пока пустым.
Языковый файл для административной части сайта.
Теперь давайте создадим языковый файл для административной части нашего сайта. Для этого создадим в папке нашего компонента в подпапке admin создадим папку language, а в ней папку en-GB. В этой папке ( en-GB ) создадим файл en-GB.com_helloworld.ini. И добавим в него следующий код:
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_DESC="This message will be displayed"
COM_HELLOWORLD_HELLOWORLD_FIELD_GREETING_LABEL="Message"
COM_HELLOWORLD_HELLOWORLD_HEADING_GREETING="Greeting"
COM_HELLOWORLD_HELLOWORLD_HEADING_ID="Id"
Языковый файл для управления меню нашего компонента.
Следующим шагом добавим языковый файл для управления меню в административной части нашего сайта. Для этого в admin/language/en-GB/ файл en-GB.com_helloworld.sys.ini.
И добавим в него следующий код:
COM_HELLOWORLD="Hello World!"
COM_HELLOWORLD_DESCRIPTION="This is the Hello World description"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE="Hello World"
COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC="This view displays a selected message"
COM_HELLOWORLD_MENU="Hello World!"
Параметры языка компонента.
Начиная с версии Joomla 1.7 при установке языковых файлов мы можем пойти двумя способами:
- Как и в Joomla 1.5 засунуть наши языковые файлы в саму CMS
- Языковые файлы хранить в самом компоненте. Это способ удобнее и он доступен только с версии 1.6. И в дальнейшем будет использоваться этот способ.
<files>
[...]
<folder>language</folder> //В этой папке находятся подпапки с языковыми файлами
<filename>whatever</filename>
[...]
</files>
Создание языкового файла при установке компонента.
В корневой папке для нашего компонента создадим попдпапку language, в которой создадим папку en-GB, а уже в этой папке создадим языковый файл en-GB.ini.
И в него добавим следующий код::
COM_HELLOWORLD="Hello World!"
COM_HELLOWORLD_DESCRIPTION="This is the Hello World description"
На этом добавление языковых файлов завершено. Осталось только немного изменить наш файл описания helloworld.xml, который имеет следующий вид:
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="1.7.0" method="upgrade">
<name>Hello World!</name><!-- Название -->
<creationDate>2011</creationDate><!-- Дата создания -->
<!-- Данные о разработчике -->
<author>zloykolobok</author><!-- Инициалы автора -->
<authorEmail></authorEmail><!-- e-mail автора -->
<authorUrl>http://zloykolobok.blogspot.com</authorUrl><!-- адрес ресурса автора -->
<!-- /Данные о разработчике -->
<copyright></copyright><!-- Права -->
<license>GNU</license> <!-- Тип лицензии -->
<version>0.0.8</version><!-- версия продукта -->
<description>Продолжение статей по созданию расширений для CMS Joomla</description><!-- Описание продукта -->
<!-- Будет выполняться при установке продукта -->
<install>
<sql>
<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
</sql>
</install>
<!-- Будет выполняться при удалении продукта -->
<uninstall>
<sql>
<file driver="mysql" charset="utf8">sql/uninstall.mysql.utf8.sql</file>
</sql>
</uninstall>
<!-- Будет выполняться при обновлении продукта
* Данная функция доступна с версии CMS Joomla 1.6
-->
<update>
<schemas>
<schemapath type="mysql">sql/updates/mysql</schemapath>
</schemas>
</update>
<!-- Копирование файлов в секцию site-->
<files folder="site">
<filename>index.html</filename>
<filename>helloworld.php</filename>
<filename>controller.php</filename>
<folder>views</folder>
<folder>models</folder>
<!-- Новая папка с языковыми файлами для сайта -->
<folder>language</folder>
</files>
<!-- Настройка административного раздела -->
<administration>
<!-- меню в административном разделе-->
<menu>Hello World!</menu>
<!-- Копирование сайтов в секцию Administration -->
<files folder="admin">
<filename>index.html</filename>
<filename>helloworld.php</filename>
<filename>controller.php</filename>
<!-- папка для SQL файлов -->
<folder>sql</folder>
<!-- папка tables -->
<folder>tables</folder>
<!-- папка models -->
<folder>models</folder>
<!-- папка views -->
<folder>views</folder>
</files>
<!-- Настройка языка -->
<languages folder="admin">
<language tag="en-GB">language/en-GB/en-GB.com_helloworld.ini</language>
<language tag="en-GB">language/en-GB/en-GB.com_helloworld.sys.ini</language>
</languages>
</administration>
<!-- /Настройка административного раздела -->
</extension>
Скачать готовый компонент вы можете по этой ссылке.
В этой статье мы с Вами добавили к нашему компоненту языковый файл. А в следующей статье мы добавим некоторые действия в админку для нашего компонента и поговорим о панели управления. Так, что не пропускайте выхода новых статей, подписавшись на RSS-рассылку для этого блога. Или следите за мной в twitter. А на этом пока все.
0 коммент.:
Отправить комментарий