Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

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

Опубликовано:

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

выбор папки картинок для текущих шаблонов соответственно англо/русскоязычных + выбор 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

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.