В общем делаю мультиязычный сайт. В данный момент реализую возможность вывода профиля пользователя на разных языках.
Для этих целей в таблице cms_users_fields добавил два поля 'title_en' и 'fieldset_en'. Где хранится английская версия наименования поля и группы полей.
В файле темы controllers/users/profile_view.tpl.php нашёл вызов метода cmsForm::mapFieldsToFieldsets($fields, function($field, $user), класса cmsForm. Нашёл его описание в файле system/core/form.php и переписал метод
public static function mapFieldsToFieldsets($fields, $callback=null, $values=null){
//Загружаем текущий язык
$config = cmsConfig::getInstance();
$language = $config->language;
$fieldsets = array();
$current = null;
$index = 0;
$fieldsets[ $index ] = array(
'title' => $current,
'fields' => array()
);
$user = cmsUser::getInstance();
foreach($fields as $field){
if ($language == 'en') {
$field['title'] = $field['title_en'];
}
if (is_callable($callback)){
if (!$callback( $field, $user )) { continue; }
}
if (is_array($values)){
if (empty($values[ $field['name'] ])){ continue; }
}
//Англиская версия сайта
if ($language == 'en'){
if ($current != $field['fieldset_en']){
$current = $field['fieldset_en'];
$index += 1;
$fieldsets[ $index ] = array(
'title' => $current,
'fields' => array()
);
}
}
//Русская версия сайта
if ($language != 'en'){
if ($current != $field['fieldset']){
$current = $field['fieldset'];
$index += 1;
$fieldsets[ $index ] = array(
'title' => $current,
'fields' => array()
);
}
}
$fieldsets[ $index ]['fields'][] = $field;
}
return $fieldsets;
}
При нажатии на кнопку мой профиль всё выводится как надо, то есть при просмотре английской версии наименования полей выводятся на английском. Но при нажатии редактировать профиль, переводятся только наименования групп полей, а наименования полей не переводятся. Хотя используется тот же самый метод.
Подскажите в чём причина?
set
+13
Репутация
0
Рейтинг
Пишу модуль мультиязычности.
В файле config.php есть такой параметр language, значение которого определяет из какой папки загружать файл с переменными, которые в свою очередь отвечают за наименование различных элементов на сайте.
Мне нужно что бы при определённой ситуации подменялось значение language загружаемое из файла config.php. В файле core/config.php нашел описание класса cmsConfig, а в нём метод getInstance(), который возвращает массив который описан в файле config.php.
Может кто нить знает как это сделать, или может я вообще не тем путём иду и всё это проще сделать?
В файле config.php есть такой параметр language, значение которого определяет из какой папки загружать файл с переменными, которые в свою очередь отвечают за наименование различных элементов на сайте.
Мне нужно что бы при определённой ситуации подменялось значение language загружаемое из файла config.php. В файле core/config.php нашел описание класса cmsConfig, а в нём метод getInstance(), который возвращает массив который описан в файле config.php.
Может кто нить знает как это сделать, или может я вообще не тем путём иду и всё это проще сделать?
Разобрался как то так
$config = cmsConfig::getInstance();
dump($config->language, false);
$config = cmsConfig::getInstance();
dump($config->language, false);
Для instantCMS 2.0 надо
Подскажите пожалуйста как можно вытащить признак на каком языке в данный момент отображается интерфейс? Подозреваю что есть какая то системная переменная.
Хочу разработать модуль для instantCMS 2.0
Подскажите информация instantcms.ru/wiki/doku.php, для второго instantCMS актуальна? Я так понял там инфа для первой версии, а во второй полностью сесь код CMS переписан.
Подскажите информация instantcms.ru/wiki/doku.php, для второго instantCMS актуальна? Я так понял там инфа для первой версии, а во второй полностью сесь код CMS переписан.
Требования следующие:
— возможность просмотра сайта пользователем на разных языках.
— переключение языков должно производится с помощью кнопок или с помощью выпадающего списка.
— в панели администратора, при добавлении контента должна присутствовать возможность заполнения контента на разных языках, для разных версий сайта например для английской и русской.
— модуль должен работать с модулем instantMaps
Предложения пишите в личку или в icq — 916585 Skype — setzod666
— возможность просмотра сайта пользователем на разных языках.
— переключение языков должно производится с помощью кнопок или с помощью выпадающего списка.
— в панели администратора, при добавлении контента должна присутствовать возможность заполнения контента на разных языках, для разных версий сайта например для английской и русской.
— модуль должен работать с модулем instantMaps
Предложения пишите в личку или в icq — 916585 Skype — setzod666
В общем необходимо, что бы сайт отображался для пользователя в двух вариантах, на русском и английском языке. И что бы а админке для всех сущностей, существовало два варианта заполнения, один на русском языке другой на английском. Примерно так же как в OpenCart. И что бы поддерживался компонент instantMaps. Подскажите есть ли готовый модуль компонент или плагин для этих целей?
Спасибо
Вообщем необходимо вставить на страницу клуба, дополнительный блок. Нашёл tpl файл com_clubs_view_club.tpl, в котором она выводится, в папке темы которую я использую. Вставил вот такой код:
<!--Голосование -->
<div class="blog">
<hr>
<div class="title">{$_LANG.VOTING}</div>
</div>
В файле clubs.php вставил вот такой код $_LANG['VOTING'] ='Голосование';
И вот эта вот надпись 'Голосование' у меня не выводится.
Если написать вот так вот:
<div class="blog">
<hr>
<div class="title">Голосование</div>
</div>
То всё работает как надо.
Подскажите что я делаю не так?
<!--Голосование -->
<div class="blog">
<hr>
<div class="title">{$_LANG.VOTING}</div>
</div>
В файле clubs.php вставил вот такой код $_LANG['VOTING'] ='Голосование';
И вот эта вот надпись 'Голосование' у меня не выводится.
Если написать вот так вот:
<div class="blog">
<hr>
<div class="title">Голосование</div>
</div>
То всё работает как надо.
Подскажите что я делаю не так?
Как прописать SEO теги на главной странице, такие как title, keyword и description.
При добавлении новой записи в блог клуба, возникает ошибка 404, запись правда добавляется. Как это исправить?
Всё разобрался вот так надо $inCore->moveUploadedFile($_FILES['userfile']['tmp_name'], PATH."/upload/userfiles/1/r111.png",$_FILES['userfile']['error']);
}
}
Вообщем на форме вот такой код:
<input name="userfile" type="file"/><input name="upfile" type="submit" value="Загрузить файл" />
Обработка
if (isset($_POST['upfile'])){
$inCore->moveUploadedFile($_FILES['userfile']['name'], PATH."/upload/userfiles/1/r111.png",$_FILES['userfile']['error']);
}
Не работает ( Что я делаю не так?
<input name="userfile" type="file"/><input name="upfile" type="submit" value="Загрузить файл" />
Обработка
if (isset($_POST['upfile'])){
$inCore->moveUploadedFile($_FILES['userfile']['name'], PATH."/upload/userfiles/1/r111.png",$_FILES['userfile']['error']);
}
Не работает ( Что я делаю не так?
- Предыдущая
- 1
- 2
- 3
- Следующая
- Показаны 16-30 из 38