Style-selector phpbb 3

Модификация заключается в том, что позволяет сделать такой селектор в шапке форума или в футере форума. Установив такую игрушку, Вы сможете менять стиль, находясь на любой страничке Вашего форума при этом после выбора стиля Вы останетесь на той же странице.

Украшения для сайтов и форумов на новый год, 8 марта, 23 февраля, 9 мая и другие праздники.
Ответить

Сообщение kolobov »

Автор мода - Alice
Alice писал(а):Это моя маленькая модификация для форумов в системе 4админс (потянет также для форумов в системе гетбб), на которых используется несколько стилей.
На порталах наших форумов предусмотрены селектор демонстрации установленных и активированных стилей. Однако, код этого селектора работает только на портале, потому что используемые в нем переменные не передаются в другие шаблоны.
Моя модификация заключается в том, что позволяет сделать такой селектор в шапке форума или в футере форума. Установив такую игрушку, Вы сможете менять стиль, находясь на любой страничке Вашего форума при этом после выбора стиля Вы останетесь на той же странице.
В принципе, код уже выкладывался в другой теме. Но там всю тему надо читать, чтобы все правильно сделать.
Итак, как сделать такой селектор.
1. Выпишите номера стилей, активированных на вашем форуме.
2. Отредактируйте следующий код:

Если Ваш форум не имеет своего домена:

Код: Выделить всё

<div> <script type="text/javascript">// <![CDATA[

function jumpStyle(selObj)
{
nst=selObj.options[selObj.selectedIndex].value
ttt=window.location.search;
if (ttt.indexOf('style=номер стиля') != -1) ttt=ttt.replace('style=номер стиля', nst);
else if (ttt.indexOf('style=номер стиля') != -1) ttt=ttt.replace('style=номер стиля', nst);
else if (ttt.indexOf('style=номер стиля') != -1) ttt=ttt.replace('style=номер стиля', nst);
else if (ttt.indexOf('style=номер стиля') != -1) ttt=ttt.replace('style=номер стиля', nst);
else if (ttt.indexOf('style=номер стиля') != -1) ttt=ttt.replace('style=номер стиля', nst);
else if (ttt=='') ttt='?'+nst;
else ttt=ttt+'&'+nst

if (window.location.hostname=='адрес вашего форума в системе 4админс без http://www') window.location.href='http://адрес вашего форума в системе 4админс без http://www'+window.location.pathname+ttt+window.location.hash

if (window.location.hostname=='адрес вашего форума в системе 4админс c www, но без http://')
window.location.href='http://www.адрес вашего форума в системе 4админс без http://www'+window.location.pathname+ttt+window.location.hash

}
// ]]>
</script>
<select onchange="jumpStyle(this)">
<option>Выберите стиль</option>
<option value="style=номер стиля">&nbsp; Название стиля &nbsp;</option>
<option value="style=номер стиля">&nbsp; Название стиля  &nbsp;</option>
<option value="style=номер стиля">&nbsp; Название стиля &nbsp;</option>
<option value="style=номер стиля">&nbsp; Название стиля &nbsp;</option>
</select>
</div>


Если Ваш форум имеет свой домен:

Код: Выделить всё

<div> <script type="text/javascript">// <![CDATA[

function jumpStyle(selObj)
{
nst=selObj.options[selObj.selectedIndex].value
ttt=window.location.search;
if (ttt.indexOf('style=номер стиля') != -1) ttt=ttt.replace('style=номер стиля', nst);
else if (ttt.indexOf('style=номер стиля') != -1) ttt=ttt.replace('style=номер стиля', nst);
else if (ttt.indexOf('style=номер стиля') != -1) ttt=ttt.replace('style=номер стиля', nst);
else if (ttt.indexOf('style=номер стиля') != -1) ttt=ttt.replace('style=номер стиля', nst);
else if (ttt.indexOf('style=номер стиля') != -1) ttt=ttt.replace('style=номер стиля', nst);
else if (ttt=='') ttt='?'+nst;
else ttt=ttt+'&'+nst


if (window.location.hostname=='адрес вашего форума в системе 4админс без http://www'||window.location.hostname=='адрес вашего домена без http://') window.location.href='адрес вашего домена с http://'+window.location.pathname+ttt+window.location.hash

if (window.location.hostname=='адрес вашего форума в системе 4админс с www, но без http://'||window.location.hostname=='адрес вашего домена второго уровня без http://')
window.location.href='адрес вашего домена второго уровня с http://'+window.location.pathname+ttt+window.location.hash

}
// ]]>
</script>
<select onchange="jumpStyle(this)">
<option>Выберите стиль</option>
<option value="style=номер стиля">&nbsp; Название стиля &nbsp;</option>
<option value="style=номер стиля">&nbsp; Название стиля  &nbsp;</option>
<option value="style=номер стиля">&nbsp; Название стиля &nbsp;</option>
<option value="style=номер стиля">&nbsp; Название стиля &nbsp;</option>
</select>

</div>
Номера стилей, названия стилей, адрес форума замените на свои.
Если надо убрать пункт в селекторе:
удалите в теге селект лишний <option value="style=номер стиля">&nbsp; Название стиля &nbsp;</option> ,
а также в теге скрипт удалите лишние условия:
else if (ttt.indexOf('style=номер стиля') != -1) ttt=ttt.replace('style=номер стиля', nst);
Чтобы добавить пункт в селекторе:
1. Добавьте перед </select> очередной <option value="style=номер стиля">&nbsp; Название стиля &nbsp;</option>
2. Допишите перед else if (ttt=='') ttt='?'+nst; очередное условие else if (ttt.indexOf('style=номер стиля') != -1) ttt=ttt.replace('style=номер стиля', nst);

ВАЖНО! Если Вы включаете в селектор стили, содержащие как однозначные, так и двух-, трех- значные номера, то номера стилей в коде скрипта следует расположить в порядке убывания. Как номера стилей будут располагаться в теге селект - значения не имеет.


3. Получившийся код включите в шаблон overall_heder каждого стиля, который будет в селекторе.
Втыкать код надо, естес-но, в пространство между тегами <body></body>, а там уж насколько фантазии и умения хватит. :)


Пример кода для форума, не имеющего своего домена.

На демо-форуме с адресом http://styleselector.fatbb.ru установлены и активированы стили:

prosilver номер 1
subsilver2 номер 5
eTech номер 11
RedSilver3 номер 12.

Код, установленный в овералл_хедер каждого стиля:

Код: Выделить всё

<div><script type="text/javascript">// <![CDATA[

function jumpStyle(selObj)
{
nst=selObj.options[selObj.selectedIndex].value
ttt=window.location.search;
if (ttt.indexOf('style=12') != -1) ttt=ttt.replace('style=12', nst);
else if (ttt.indexOf('style=11') != -1) ttt=ttt.replace('style=11', nst);
else if (ttt.indexOf('style=5') != -1) ttt=ttt.replace('style=5', nst);
else if (ttt.indexOf('style=1') != -1) ttt=ttt.replace('style=1', nst);

else if (ttt=='') ttt='?'+nst;
else ttt=ttt+'&'+nst



if (window.location.hostname=='styleselector.fatbb.ru') window.location.href='http://styleselector.fatbb.ru'+window.location.pathname+ttt+window.location.hash

if (window.location.hostname=='www.styleselector.fatbb.ru')
window.location.href='http://www.styleselector.fatbb.ru'+window.location.pathname+ttt+window.location.hash


}
// ]]>
</script>
<select onchange="jumpStyle(this)">
<option>Выберите стиль</option>
<option value="style=1">&nbsp; prosilver &nbsp;</option>
<option value="style=5">&nbsp; subsilver2 &nbsp;</option>
<option value="style=11">&nbsp; eTech &nbsp;</option>
<option value="style=12">&nbsp; RedSilver3 &nbsp;</option>

</select>
</div>


Пример кода для форума, имеющего свой домен:

Код: Выделить всё

<div class="style_change"> <script type="text/javascript">// <![CDATA[

function jumpStyle(selObj)
{
nst=selObj.options[selObj.selectedIndex].value
ttt=window.location.search;
if (ttt.indexOf('style=42') != -1) ttt=ttt.replace('style=42', nst);
else if (ttt.indexOf('style=11') != -1) ttt=ttt.replace('style=11', nst);
else if (ttt.indexOf('style=33') != -1) ttt=ttt.replace('style=33', nst);
else if (ttt.indexOf('style=28') != -1) ttt=ttt.replace('style=28', nst);
else if (ttt=='') ttt='?'+nst;
else ttt=ttt+'&'+nst


if (window.location.hostname=='foxlodge.fatbb.ru'||window.location.hostname=='foxlodge.info') window.location.href='http://foxlodge.info'+window.location.pathname+ttt+window.location.hash

if (window.location.hostname=='www.foxlodge.fatbb.ru'||window.location.hostname=='www.foxlodge.info')
window.location.href='http://www.foxlodge.info'+window.location.pathname+ttt+window.location.hash
}
// ]]>
</script>
<select onchange="jumpStyle(this)">
<option>Выбор стиля</option>
<option value="style=42">&nbsp; subsilver2 &nbsp;</option>
<option value="style=11">&nbsp; Black Pearl &nbsp;</option>
<option value="style=33">&nbsp; RedSilver3 &nbsp;</option>
<option value="style=28">&nbsp; 610nm_azul &nbsp;</option>

</select>
</div>

Поделитесь ссылкой.

HTML код
BBCode
Link
Ответить

Вернуться в «Украшения для форумов и сайтов»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей