В этом учебнике показано, как сделать ваш заказ компонентов с Joomfish 2,0. Joomfish является расширение для Joomla, который позволяет вам вручную перевести все ваши Joomla содержание. После установки, он работает со всеми родной содержание Joomla, но если вы разрабатываете пользовательский компонент, вы должны код немного себя.
Я буду использовать пользовательский компонент с "развивающимся" модель-представление-контроллер Компонент "в качестве примера. Для тех из вас, кто не читал учебник, пожалуйста, обратитесь к Joomla документов. Установите компоненты доступны для скачивания в часть 4 из учебника, и мы готовы к работе.
Создание элемента контента XML-файл для Joomfish
Joomfish использует XML-файлы знаю, как перевести содержание элементов. Эти содержания элемента XML-файлы находятся в администратора / компоненты / com_joomfish / contentelements. Все, что вам нужно сделать, это создать новый файл XML и сохраните его в этот каталог, и Joomfish будет знать, как перевод компонента. Поясним, как строить этот новый файл XML шаг за шагом:
Во-первых, создать новый файл XML в редакторе кода любимой и сохранить это как hello.xml в папку contentelements. Важно, что файл XML называется именно так, как компонент, и потому, что наш компонент называется com_hello, мы называем файл привет.
Создать следующие в новом XML-файла:
<?xml version="1.0" ?>
<joomfish type="contentelement">
<name>Hello</name>
<author>Rune Skjoldborg Madsen</author>
<version>1.0</version>
<description>Definition for the Hello World component</description>
<reference type="content">
<table name="hello">
<field type="referenceid" name="id" translate="0">ID</field>
<field type="titletext" name="greeting" translate="1">Greeting</field>
</table>
</reference>
</joomfish>
Первые 6 строк только простые информации Joomfish. Мызаявляем версии XML, скажите Joomfish, что это новый элемент содержания
для перевода, Сообщи имя компонента, имя автора версию компонента, и небольшое описание.
Он находится внутри <reference> теги мы говорим Joomfish, что перевод. Внутри ссылка метки, мы говорим, что Joomfish таблице переводить с. В нашем примере, Привет компонента использовать таблицу с именем jos_hello, и поэтому мы пишем следующее:
<table name="hello">
Внутри таблицы тегов, у нас есть 2 метки поля. Первая рассказывает Joomfish, что наша колонка "ID" является первичным ключом,
и мы перевести на 0, так как мы не хотим использовать, чтобы быть в состоянии перевести идентификатор приветствие:
<field type="referenceid" name="id" translate="0">ID</field>
Следующий тег поля типа "TitleText", который рассказывает Joomfish две вещи: 1) что "приветствие" колонки в нашей таблице MySQL хранит данные от простого поля ввода 2) То, что "приветствие" колонки должны быть использованы в качестве поле "Название" в Joomfish компонента в раздел администрирования. Offcourse положим имя, соответствующее нашему MySQL колонке "приветствие", и мы
также множество перевод собственности на истинный:
<field type="titletext" name="greeting" translate="1">Greeting</field>
Чтобы получить определение того, какие fielstypes доступны в Joomfish (например, "TitleText," текст ", так далее), читать Создание элементов содержимого учебника. Теперь наш компонент готов к Joomfish перевод, и нам просто необходимо, чтобы исправить некоторые MySQL запросов, чтобы сделать все работы.
Крепление MySQL запросов привет компонента
Когда имеешь дело с Joomfish, у вас всегда есть выбор вашего основного поля, когда вы делаете запрос. Даже если вы на самом деле не использовать его, Joomfish это нужно, чтобы быть в состоянии сделать перевод.
Откройте файл модели расположены в components/com_hello/models/hello.php. Найти следующую строку:
$query = 'SELECT greeting FROM #__hello';
И заменить его на:
$query = 'SELECT * FROM #__hello';
Делая это, мы также выбрать "ID" столбец, Joomfish необходимо перевести приветствие.
И вот оно что! Все, что вам нужно, это пойти в разделе Joomfish администратора и перевод приветствия все языки у вас установлены и активированы. Это так просто, как, что.
Помните, что компонент только отбирает и показывает первое приветствие ни на что. Если вы хотите, чтобы увидеть все поздравления, вы должны использовать loadAssocList () функцию вместо loadResult () в той же файл модели, что и выше. Тогда вы сможете пройти по всем строкам массив в файле шаблона зрения.
