На сайті Яндекс.Погода існує сервіс інформерів. При установці до себе на сайт інформера, необхідно вибрати місто, який буде на інформері відображатися. А як показати на інформері не вибрав місто, а місто, в якому знаходиться відвідувач?
Прогноз на сервісі від Яндекса досить точний. Я користуюся ним постійно. Тому і вибрав інформер на свої сайти саме від цього сервісу. Він красивий, інформативний, стабільний (Яндекс падає крайне- ... -крайне рідко).
Однак, при установці до себе на сайт інформера, необхідно вибрати місто, погода в якому буде на інформері відображатися. Добре, якщо вся тусовка на сайті - відвідувачі з одного міста. А що якщо немає (напевно 98% випадків)? Наприклад, аудиторія блогів зазвичай абсолютно розбита по різних країнах, не кажучи вже про міста. Тоді такий інформер не надто практичний, адже мало кому цікава погода у вашому регіоні.
Виходу із ситуації три. Перший простіше, але вирішує тільки половину проблеми. При реєстрації користувача в системі, змушуйте його вводити місто. І якщо місто співпаде зі списком Яндекса. який я підготував в текстовому вигляді, то виводите йому відповідний інформер. Можна той же список використовувати і в якості автопідстановки в поле вводу міста при реєстрації. Половину проблеми вирішує, тому що працює тільки після реєстрації.
Третій вихід найпростіший, але у нього є великий недолік. Власне, по порядку. Ви вішаєте інформер з якимось містом за замовчуванням. Під ним (або над ним) робить посилання «Налаштувати регіон». Або навіть замість самого інформера за замовчуванням можна розмістити це посилання. Людина на неї клацає, йому видається список міст від Яндекса. Відвідувач вибирає своє місто, інформація зберігається в cookie користувачеві. А при наступному завантаженні сторінки сайту інформація з куків підставляється в інформер, і відвідувач бачить погоду з рідному місті. Великий мінус цього способу в тому, що він застосовується лише на сайті з постійною аудиторією. Оскільки відвідувачі тих же блогів зазвичай швидко йдуть з сайту і рідко до нього повертаються, тому давати їм настройку інформера просто немає сенсу. (Тому я в своєму блозі не став це робити.)
01.04.08: ралізаціі для 2 + 3 варіанти вже написана. Предсталена сторінка з працюючим кодом на JS, який зберігає настройки в cookies. Ви можете використовувати сторінку на своїх сайтах (відкривайте HTML-код і впроваджуйте його собі).
Приклад коду інформера (червоним виділено код міста - підставляється в 2 місця):
Список міст брав з сайту Яндекс.Погода. Вилов чомусь тільки 1 676 з тисячі шістсот вісімдесят-один заявленого на сайті. Переклад зроблено через Перекладач Google. Файл состоний з 3 стовпців: 1) код міста по Яндексу, 2) назва міста по Яндексу (російською), 3) перепідготовки по Гуглу на англійську. У перекладі є спец-символи в UTF, замість яких в csv-версії символи питання. Збережений в 4-х варіантах: 1) файл Excel. 2) текст з роздільником табуляція (UTF-16). 3) текст з роздільником табуляція (UTF-8). 4) CSV в cp1251. Тільки не питайте, чому зробив так, просто виберіть собі відповідний формат і конвертуйте його як завгодно.
За наявності часу я реалізую кілька способів, описаних вище і викладу в блог код. Але поки вирішив викласти список міст і розповісти ідеї, на випадок, якщо хтось ще підхопить написання коду і доб'ється успіху в реалізації, а потім поділиться кодом з усіма;) Та й сам-то код можна написати на різних мовах програмування.