Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
zil1924

Картинки для языков

Рекомендованные сообщения

Возможно реализовать чтобы у каждого языка были свои картинки. Например русский язык русские кнопочки у Английского кнопки на английском. То есть при выборе любого языка у него будут свои кнопки (Новая тема, быстрый ответ, ответить и т.д.).

Поделиться сообщением


Ссылка на сообщение

Чтобы реализовать, нужно связать с выбором языка либо:

выбор папки картинок для текущих шаблонов соответственно англо/русскоязычных + выбор css

либо выбор макросов с привязкой кнопок из разных папок

либо выбор скина - это самое простое.

 

В любом случае нужна модификация. Просто так это не реализовать.

Вероятно, в последнем варианте изменения будут минимальны.

Поделиться сообщением


Ссылка на сообщение

С макросами времени много потратить можно. Проще создать условие в исходниках и сделать два стиля.

 

Сейчас доделаю радио - день-два, потом над этим подумаю

Поделиться сообщением


Ссылка на сообщение
С макросами времени много потратить можно. Проще создать условие в исходниках и сделать два стиля.

 

Сейчас доделаю радио - день-два, потом над этим подумаю

Нужно какнибуть к языку сделать привязку скина.

Поделиться сообщением


Ссылка на сообщение

Есть какие новости ? =)

Поделиться сообщением


Ссылка на сообщение

Вообщем можно попробовать там.

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 скина.

 

Попробуйте, но сделайте бэкап.

Поделиться сообщением


Ссылка на сообщение

После изменений в index.php дальше не особо понел что делать.

Поделиться сообщением


Ссылка на сообщение

У вас языки в папках. Надо эти папочки переименовать под уникальный идентификатор стилей (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, разберемся.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...