Функция если, проверка по тексту
Добрый день!
Есть один сайт, где нужно сделать простой цикл "если". Я не спец в скриптах, да и в сайтах я тоже не сильно разбираюсь. Я почти все сделал, но не проходит одна проверочка, подскажите где копать, пожалуйста! Этот сайт делал не я! На сайте есть такая штука как <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, время: 14:42. |