[Помощь] Часы на Smarty

Тема в разделе "WebAsyst", создана пользователем Dgikar, 24 май 2010.

Статус темы:
Закрыта.
Модераторы: mdss
  1. Dgikar

    Dgikar

    Регистр.:
    9 мар 2008
    Сообщения:
    273
    Симпатии:
    17
    Хочу в шапку поставить часы с посекундым отсчетом для разных городов мира... Flash и JavaScript (хотя, если только аналоговые на JavaScript - то, можно) часы использовать не хочу...
    Как на SMARTY сделать это? Подскажите плз
     
  2. Welho®

    Welho® Предвестник пьянки

    Регистр.:
    4 дек 2007
    Сообщения:
    855
    Симпатии:
    330
    ну ты хотя бы привел пример часов, или чего те нужно
     
  3. Dgikar

    Dgikar

    Регистр.:
    9 мар 2008
    Сообщения:
    273
    Симпатии:
    17
    В идеале - (если аналоговые) это простые, строгие, круглые часы, с белым циферблатом и черными стрелками и делениями минут, с цифрами 12, 3, 6, 9, без всяких наворотов, надписей, дат и прочего. Т. е. самые простые офисные, строгие часы, размером 55х55 пикселей. Пример:
    http://www.24timezones.com/
    В этом примере - вся моя идея, но, это флеш, а флеш, я использовать не хочу

    Если цифровые, то, самые простые 20:34:45 - в 24h формате, только, чтобы секунды менялись при загруженной странице, а не просто отображались...

    Таких часов, мне нужно несколько (для нескольких городов мира), поэтому, если кто сможет подсказать, как это сделать, то плз, объясните, где, что менять, чтобы добавить новые часы, для нового города...

    Заранее благодарю
     
  4. madoks

    madoks Писатель

    Регистр.:
    9 май 2010
    Сообщения:
    10
    Симпатии:
    0
    Если я правильно понимаю, речь о том, чтобы некий скрипт часов внедрить в шаблоны Smarty? Тогда универсального решения быть не может - всё зависит от того, как настроен Smarty, где расположены "кусочки" шаблонов... Вобщем, нужен как минимум человек, которому можно дать FTP от сайта и который хоть немного разбирается в РНР...
     
  5. Dgikar

    Dgikar

    Регистр.:
    9 мар 2008
    Сообщения:
    273
    Симпатии:
    17
    Ок, а как тогда можно сделать на JavaScript линейку часов для нескольких городов мира, находящихся в разных часовых поясах? И, главное, можно будет "тыкнуть" носом, что, если захочешь добавить еще одни часы, то, в этой строке, именно вот это копируешь, и вот это заменяешь на вот это значение (например на часовой пояс или разницу по гринвичу)...
     
  6. Voshal

    Voshal Мизантроп

    Регистр.:
    30 мар 2009
    Сообщения:
    286
    Симпатии:
    108
    Здесь ничего сложного нет.
    В файл head.js вашей темы вписываете
    Код:
    function clock(gmt,block)
    {
      var d = new Date();
      if (gmt) d.setHours(gmt-1);
      d = d.toLocaleTimeString();
      if (!block) block = "clock";
      document.getElementById(block).innerHTML=d;
    }
    setInterval("clock()", 1000);
    
    Там где вам нужно разместить часы, просто пишете так
    HTML:
    
    <span id="clock">Время...</span>
    
    Если вам нужно разместить вторые часы, то дописываете в файл head.js следующее
    Например, нам нужно добавить 3 часа.
    Код:
    setInterval("clock(3,'clock2')", 1000);
    
    Там где размещаете вторые часы, прописываете
    HTML:
    
    <span id="clock2">Время +3...</span>
    
    То есть синтаксис такой.
    Для добавление часов нужно производить изменения в двух местах.

    В первом: в файле head.js
    Формат такой
    setInterval("clock(n,'b')", 1000);
    n - количество часов, которые нужно прибавить или отнять. Так же может быть отрицательным. Писать без ковычек.
    b - название блока, который вы пропишите в месте вывода, то есть id самого тега. Писать нужно в ковычках.
    Во втором: в месте размещения часов
    <span id="b">t</span>
    b - название блока, который вы прописали в файле head.js
    t - текс, который будет выводиться первую секунду после загрузки страницы, затем он исчезнет и будет выводиться время.


    Например вам нужно разместить время +2 часа в блоке <span id="chasy">Время...</span>
    То прописываете так
    setInterval("clock(2,'chasy')", 1000);
    Если вам нужно оставить время без изменения часов, но необходимо вместо id="clock" прописать другой id, то пишем так
    setInterval("clock('','chasy')", 1000);


    По умолчанию вывод идет в блок с id="clock"
    то есть, если вы не пропишите вообще никаких параметров, то есть будет только такая строка
    setInterval("clock()", 1000);
    то будет выводиться "обычное" время
    в блоке <span id="clock">Время..</span>
     
    Ventil нравится это.
Статус темы:
Закрыта.