Функция если, проверка по тексту
Добрый день!
Есть один сайт, где нужно сделать простой цикл "если". Я не спец в скриптах, да и в сайтах я тоже не сильно разбираюсь. Я почти все сделал, но не проходит одна проверочка, подскажите где копать, пожалуйста! Этот сайт делал не я! На сайте есть такая штука как <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]+">"); } Но это дело не работает, конструкция внутри если работает без проблем. Но, разумеется, переходя на другой язык, ссылки ведут на русский. |
Тут используется какой-то коленочный шаблонизатор? Покажи результат работы шаблонизатора, ведь именно он попадает в браузер, а не эта хрень, что ты запостил.
|
А как посмотреть этот результат работы?
|
В браузере Ctrl+U
|
Ничего интересного.
<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>
|
если подставлю конструкцию <TMPL_VAR NAME='DATA_LANGCODE'>
то вообще падает все с оповещением об ошибке |
Заработало, черт его знает как, но работает!
|
Ну вот теперь еще более непонятно!
<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 |
Нет, все-таки не работает. не проходит условие, не понимает он, на каком языке открыт сайт...
|
"DATA_LANGCODE" == "ru" ясное дело вернет false
Разбирайтесь со своим шаблонизатором. И лучше наверно проверять условия в шаблоне если это возможно. Иначе в javascript получится очень бредовый код типа
if ("ru" == "ru") { }
где первый "ru" подставлен шаблонизатором |
Подумал над таким вариантом: в document.write создать ссылку с этим чертовым шаблонным свойством. Но, боюсь, есть какие-то синтаксические ошибки, посмотрите, пожалуйста!
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]="01.html"
image[1]="<TMPL_VAR NAME='PATH2MAIN'>images/<TMPL_VAR NAME='DATA_LANGCODE'>/02.gif"
link[1]="02.html"
document.write ("<a href="http://skygroup.pro/website/sun/template/images/<TMPL_VAR NAME='DATA_LANGCODE'>/ +link[b]+"><img src="+image[b]+">");
Подскажите, пожалуйста, как тут правильно создать ссылку? |
e.mirchev, ваши шаблоны тут никому непонятны. Ибо у вас какой-то неизвестный шаблонизатор. И вообще, это форум javascript а не вашего шаблонизатора. Показывайте результирующий код, а не свои шаблоны.
|
Да я и не загружаю вас своими проблемами) А обращаюсь к вам как раз как к пользователям форума JS.
Скажите мне, как мне сделать так, чтобы скрипт создал нужную ссылку. Нужно чтобы document.write выдал мне ссылку <a href="http://skygroup.pro/website/sun/template/images/<TMPL_VAR NAME='DATA_LANGCODE'>/ + то, что выпадет рандомно. Результирующий код из того, что я описывал выше:
<script language="JavaScript">
<!--
var b=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/website/sun/template/images/ru/01.html"
image[1]="/website/sun/template/images/ru/02.gif"
link[1]="http://skygroup.pro/website/sun/template/images/ru/02.html"
document.write ("<a href="+link[b]+"><img src="+image[b]+">");
//-->
</script>
Вывод на страницу: <a href="http://skygroup.pro/website/sun/template/images/ru/01.html"><img src="/website/sun/template/images/ru/01.gif"></a> |
<script>
(function(){
var random = Math.round(Math.random()*1) + 1,
image = "/website/sun/template/images/ru/0" + random + ".gif",
link = "http://skygroup.pro/website/sun/template/images/ru/0" + random + ".html";
document.write("<a href="+link+"><img src="+image+" /></a>");
})();
</script>
|
Спасибо огромное! Все заработало!
|
| Часовой пояс GMT +3, время: 21:57. |