Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Функция если, проверка по тексту (https://javascript.ru/forum/css-html/36443-funkciya-esli-proverka-po-tekstu.html)

e.mirchev 15.03.2013 09:24

Функция если, проверка по тексту
 
Добрый день!
Есть один сайт, где нужно сделать простой цикл "если". Я не спец в скриптах, да и в сайтах я тоже не сильно разбираюсь. Я почти все сделал, но не проходит одна проверочка, подскажите где копать, пожалуйста! Этот сайт делал не я!
На сайте есть такая штука как <TMPL_VAR NAME='DATA_LANGCODE'>. В HTML при помощи это штуки, вставив в ссылку можно получить значение языка, на который сейчас переключен пользователь (ru, en и т.п.). Все работает, но как мне сделал проверку по этому делу в яваскрипте?
Я придумал следующее, задача - зставить в зависимости от языка рандомно показывать баннеры с сылками.

if (<TMPL_VAR NAME='DATA_LANGCODE'> == "ru") {

var a=Math.round(Math.random()*1)
image = new Array();
link = new Array();
image[0]="<TMPL_VAR NAME='PATH2MAIN'>images/<TMPL_VAR NAME='DATA_LANGCODE'>/01.gif"
link[0]="http://skygroup.pro/index/special/2013-03-01.htm"
image[1]="<TMPL_VAR NAME='PATH2MAIN'>images/<TMPL_VAR NAME='DATA_LANGCODE'>/02.gif"
link[1]="http://skygroup.pro/index/special/2013-03-01-Alba.htm"
document.write ("<a href="+link[a]+"><img src="+image[a]+">");
} else {

var a=Math.round(Math.random()*1)
image = new Array();
link = new Array();
image[0]="<TMPL_VAR NAME='PATH2MAIN'>images/<TMPL_VAR NAME='DATA_LANGCODE'>/01.gif"
link[0]="http://www.skygroup.pro/en/manufacturing/catalog/project/maglev_en.htm"
image[1]="<TMPL_VAR NAME='PATH2MAIN'>images/<TMPL_VAR NAME='DATA_LANGCODE'>/02.gif"
link[1]="http://www.skygroup.pro/en/manufacturing/catalog/project/maglev_en.htm"
document.write ("<a href="+link[a]+"><img src="+image[a]+">");
}



Но это дело не работает, конструкция внутри если работает без проблем. Но, разумеется, переходя на другой язык, ссылки ведут на русский.

danik.js 15.03.2013 09:28

Тут используется какой-то коленочный шаблонизатор? Покажи результат работы шаблонизатора, ведь именно он попадает в браузер, а не эта хрень, что ты запостил.

e.mirchev 15.03.2013 09:43

А как посмотреть этот результат работы?

danik.js 15.03.2013 09:49

В браузере Ctrl+U

e.mirchev 15.03.2013 10:56

Ничего интересного.
<script language="JavaScript">
<!--
if ("DATA_LANGCODE" == "ru") {
var a=Math.round(Math.random()*1) 
image = new Array();
link = new Array();
image[0]="/website/sun/template/images/ru/01.gif"
link[0]="http://skygroup.pro/index/special/2013-03-01.htm"
image[1]="/website/sun/template/images/ru/02.gif"
link[1]="http://skygroup.pro/index/special/2013-03-01-Alba.htm"
document.write ("<a href="+link[a]+"><img src="+image[a]+">");
} else {
var a=Math.round(Math.random()*1) 
image = new Array();
link = new Array();
image[0]="/website/sun/template/images/ru/01.gif"
link[0]="http://www.skygroup.pro/en/manufacturing/catalog/project/maglev_en.htm"
image[1]="/website/sun/template/images/ru/02.gif"
link[1]="http://www.skygroup.pro/en/manufacturing/catalog/project/maglev_en.htm"
document.write ("<a href="+link[a]+"><img src="+image[a]+">");
}

//-->
</script>

e.mirchev 15.03.2013 10:57

если подставлю конструкцию <TMPL_VAR NAME='DATA_LANGCODE'>
то вообще падает все с оповещением об ошибке

e.mirchev 15.03.2013 11:10

Заработало, черт его знает как, но работает!

e.mirchev 15.03.2013 11:19

Ну вот теперь еще более непонятно!
<script language="JavaScript">
<!--
if ("DATA_LANGCODE" == "ru") {
var b=Math.round(Math.random()*1) 
image = new Array();
link = new Array();
image[0]="<TMPL_VAR NAME='PATH2MAIN'>images/<TMPL_VAR NAME='DATA_LANGCODE'>/01.gif"
link[0]="http://skygroup.pro/index/special/2013-03-01.htm"
image[1]="<TMPL_VAR NAME='PATH2MAIN'>images/<TMPL_VAR NAME='DATA_LANGCODE'>/02.gif"
link[1]="http://skygroup.pro/index/special/2013-03-01-Alba.htm"
document.write ("<a href="+link[b]+"><img src="+image[b]+">");
} else {
var a=Math.round(Math.random()*1) 
image2 = new Array();
link2 = new Array();
image2[0]="<TMPL_VAR NAME='PATH2MAIN'>images/<TMPL_VAR NAME='DATA_LANGCODE'>/01.gif"
link2[0]="http://www.skygroup.pro/en/manufacturing/catalog/project/maglev_en.htm"
image2[1]="<TMPL_VAR NAME='PATH2MAIN'>images/<TMPL_VAR NAME='DATA_LANGCODE'>/02.gif"
link2[1]="http://www.skygroup.pro/en/manufacturing/catalog/project/maglev_en.htm"
document.write ("<a href="+link2[a]+"><img src="+image2[a]+">");
}

//-->
</script>


Уже даже переменные по-другому назвал. Банера меняются в зависимости от того, русский язык или другой, но ссылки почему-то подставляются строго из второго условия. Можете сами посмотреть:
skygroup.pro

e.mirchev 15.03.2013 12:17

Нет, все-таки не работает. не проходит условие, не понимает он, на каком языке открыт сайт...

danik.js 15.03.2013 12:35

"DATA_LANGCODE" == "ru" ясное дело вернет false
Разбирайтесь со своим шаблонизатором. И лучше наверно проверять условия в шаблоне если это возможно. Иначе в javascript получится очень бредовый код типа
if ("ru" == "ru") { }

где первый "ru" подставлен шаблонизатором


Часовой пояс GMT +3, время: 18:15.