Доброе утро, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
При создании мультиязычного сайта наверняка многие столкнулись с проблемой создания мультиязычной формы (а именно когда тип поля "Список/меню", "Выбор варианта" или "Чекбокс")
Можно конечно создать 2 формы и в шаблоне использовать что-то вроде: {if $lang=='ru'}[CONTACT:1]{else}[CONTACT:2]{/if} Не очень хороший подход
Либо в файле "/class/class.Contactform.php" заменить функцию:
PHP-код
/** * Функция получения из базы данных контактой формы */ private function setContactForm($id) { $LC = Sys::get($_SESSION, 'Langcode', 1); $lang = Sys::get($_SESSION, 'lang'); $res = $this->_DB->Cache_Fetch_Object("SELECT Titel1 AS DefTitel, Titel" . $LC . " AS Titel, Intro" . $LC . " AS Intro, Email, Anlage, Gruppen, Button_Name, Id FROM " . PREFIX . "_kontakt_form WHERE Aktiv='1' AND Id='" . i($id) . "' LIMIT 1"); if (is_object($res)) { $groups = explode(',', $res->Gruppen); if (!empty($res->Gruppen) && in_array(Sys::get($_SESSION, 'user_group'), $groups)) { $felder = array(); $res_form = $this->_DB->Query("SELECT Name1 AS DefName, Werte, Id, Pflicht, Typ, Zahl, Email, Name" . $LC . " AS Name FROM " . PREFIX . "_kontakt_form_felder WHERE Form_Id='" . i($res->Id) . "' ORDER BY Posi ASC"); while ($row_form = $res_form->Result_Fetch_Object()) { switch ($row_form->Typ) { default: case 'textfield': $row_form->OutElemVal = $row_form->Werte; break;
Теперь при создании типа поля с выпадающим списком можно значения перечислять для всех языков: пример: {ru}3 тн.,5 тн.,25 тн.,другой{/ru}{en}3 tons,5 tons,25 tons,other{/en}