zil1924 0 07/08/07 20:40 Возможно реализовать чтобы у каждого языка были свои картинки. Например русский язык русские кнопочки у Английского кнопки на английском. То есть при выборе любого языка у него будут свои кнопки (Новая тема, быстрый ответ, ответить и т.д.). Поделиться сообщением Ссылка на сообщение
Fisana 700 07/11/07 20:07 Чтобы реализовать, нужно связать с выбором языка либо:выбор папки картинок для текущих шаблонов соответственно англо/русскоязычных + выбор css либо выбор макросов с привязкой кнопок из разных папоклибо выбор скина - это самое простое. В любом случае нужна модификация. Просто так это не реализовать.Вероятно, в последнем варианте изменения будут минимальны. Поделиться сообщением Ссылка на сообщение
andaril 4 07/11/07 20:26 С макросами времени много потратить можно. Проще создать условие в исходниках и сделать два стиля. Сейчас доделаю радио - день-два, потом над этим подумаю Поделиться сообщением Ссылка на сообщение
zil1924 0 07/17/07 21:14 С макросами времени много потратить можно. Проще создать условие в исходниках и сделать два стиля. Сейчас доделаю радио - день-два, потом над этим подумаюНужно какнибуть к языку сделать привязку скина. Поделиться сообщением Ссылка на сообщение
andaril 4 07/23/07 14:17 Вообщем можно попробовать там.index.phpзаменитьif ( (isset($ipsclass->input['setlanguage']) AND $ipsclass->input['setlanguage']) AND (isset($ipsclass->input['langid']) AND $ipsclass->input['langid']) AND $ipsclass->member['id'] ) { if ( is_array( $ipsclass->cache['languages'] ) and count( $ipsclass->cache['languages'] ) ) { foreach( $ipsclass->cache['languages'] as $data ) { if ( $data['ldir'] == $ipsclass->input['langid'] ) { $ipsclass->DB->do_update( 'members', array( 'language' => $data['ldir'] ), 'id='.$ipsclass->member['id'] ); $ipsclass->member['language'] = $data['ldir']; } } } }наif ( (isset($ipsclass->input['setlanguage']) AND $ipsclass->input['setlanguage']) AND (isset($ipsclass->input['langid']) AND $ipsclass->input['langid']) AND $ipsclass->member['id'] ) { if ( is_array( $ipsclass->cache['languages'] ) and count( $ipsclass->cache['languages'] ) ) { foreach( $ipsclass->cache['languages'] as $data ) { if ( $data['ldir'] == $ipsclass->input['langid'] ) { if ($ipsclass->member['skin'] == $ipsclass->member['language'] ) { $ipsclass->member['skin'] = $data['ldir']; } $ipsclass->DB->do_update( 'members', array( 'language' => $data['ldir'], 'set' => "skin=".intval($ipsclass->member['skin']) ), 'id='.$ipsclass->member['id'] ); $ipsclass->member['language'] = $data['ldir']; } } } } Теперь нужно подстроить названия папок языков под id скинов. Без этого работать не будет. Также надо чтобы id скина был равен папке языка до смены, это на случай если у нас несколько скинов.Подстраивать id относительно просто. Надо зайти в утилиту управления sql. Там в таблице ibf_languages поправить значение ldir под id скина. Попробуйте, но сделайте бэкап. Поделиться сообщением Ссылка на сообщение
zil1924 0 07/23/07 21:37 После изменений в index.php дальше не особо понел что делать. Поделиться сообщением Ссылка на сообщение
andaril 4 07/24/07 17:49 У вас языки в папках. Надо эти папочки переименовать под уникальный идентификатор стилей (id). Идете в phpmyadmin или что там у вас для работы с mysql. Выбираете таблицу ibf_languages и жмете редактировать напротив одного из ваших языков. И меняете поле ldir на id скина, который хотите применить к языку. (У вас должно быть два скина, английский и русский. Можете создать дочерний скин, и применить к нему другую папку с кнопками)Или выполняете запрос:UPDATE ibf_languages SET ldir = 'ID_СКИНА' WHERE ldir='НАЗВАНИЕ_ПАПКИ_ДО_ПЕРЕИМЕНОВАНИЯ'Потом меняете название папки, в cache/lang_cacheна то id скина. Потом идете в админку и перестраиваете кэш. tools & settings -> cache control -> languages -> update cache И так для каждого языка, в этом порядке. Перед сменой всего не забудьте переключиться на другой язык на всякий случай. Узнать id скина легко. В ниспадающем меню выбора скинов id указан. Просто посмотрите исходный текст.Вот пример как здесь сделаны стили.<form action="http://ipbskins.ru/forum/ipb.html?setskin=1" name="skinselectorbox" method="post"> <input type="hidden" name="skinurlbits" value="&cal_id=" /> <select name="skinid" onchange="chooseskin(this)"> <optgroup label="Выбор стиля"> <option value='3'>IBR_Green</option><!--CHILDREN:3--> <option value='6'>IBR_beige_style</option><!--CHILDREN:6--> <option value='8'>IBR+</option><!--CHILDREN:8--> </optgroup> </select> </form>value='8' означает, что id скина 8. Пример. Я поставлю для русского языка скин ibr+ Выполняем запрос, или меняем вручнуюUPDATE ibf_languages SET ldir = '8' WHERE ldir='ru'Переименовываю папку "ru", что в "cache/lang_cache/", в "8".Иду в админку и перестраиваю кэш. Если не понятно или не работает пишите в icq, разберемся. Поделиться сообщением Ссылка на сообщение