Поиск сообщества
Показаны результаты для тегов 'текстовое поле'.
Найдено: 1 результат
-
Переводимые текстовые поля могут использоваться, чтобы позволить пользователю предоставлять другое значение для других языков, установленных в своем сообществе. Если установлен только один язык, будет отображаться только одно текстовое поле. Переводимые текстовые поля предназначены для использования только в админцентре. Они не предназначены для использования пользователями во фронтэнде. Класс Translatable работает с тремя типами текстовых полей, доступных для форм в Invision Community: ввод текста (text input), текстовые области (textareas) и редакторы WYSIWYG. Класс заботится о создании базовых текстовых полей для вас. Значения сохраняются в языковой системе и извлекаются позже для их использования. Чтобы использовать переводимые поля в вашем коде, вы должны использовать класс \IPS\Helpers\Form\Translatable в рамках Помощника форм. Создание элемента При создании элемента параметр $options требует как минимум два значения: app - Ключ приложения, которому принадлежит языковая строка. key - Уникальный ключ для этой языковой строки (как со стандартными языковыми строками, только буквенно-цифровые значения). Если вы отображаете форму "Создать" для чего-то ещё не созданного, вы можете передать NULL в качестве ключа. В отличие от других полей, $defaultValue должен быть NULL. Класс автоматически заполнит текущее значение для ключа, извлекая его из языковой системы. Например, код для создания элемента будет выглядеть примерно так: $form->add( new \IPS\Helpers\Form\Translatable( 'my_translatable_field', NULL, TRUE, array( 'app' => 'app', 'key' => 'my_language_string' ) ) ); Этот код добавит стандартное однострочное текстовое поле формы. Для создания же текстового поля, добавьте ключ textArea в ваш массив $options, установив в значение TRUE. Для создания поля редактора WYSIWYG, добавьте ключ редактора в ваш массив $options. Значение редактора должно быть массивом, который содержит параметры, принимаемые классом \IPS\Helpers\Form\Editor. Обработка материалов При обработке формы, содержащей переводимые текстовые поля, вы должны вручную сохранить возвращённые значения в языковую систему, например так: if ( $values = $form->values() ) { \IPS\Lang::saveCustom( 'app', 'my_language_string', $values['my_translatable_field'] ); // Other field processing... }