7 заметок с тегом

разработка РСС

Определение города по ip-адресу для вывода в шаблонах 1С-Битрикс

5 июля 2013, 9:55

Иногда на сайтах требуется вывести какой-нибудь блок, сформированный уникально в зависимости от города посетителя. К примеру, если я нахожусь в Екатеринбурге, то в шапке сайта мне выводится телефон офиса в Екатеринбурге, если в Москве, то соответственно другой телефон.

Еще один пример который в последнее время часто используется на интернет-магазинах. В карточке товара выводится блок о доставке товара в город который определяется по ip адресу посетителя.

Итак, чтобы реализовать этот функционал в 1С-Битрикс на вашем сайте заходим по адресу /bitrix/php_interface и открываем файл init.php

Добавляем в него такие функции:

<?
function get_city_by_ip($ip){
  $data = file_get_contents_timeout("http://ipgeobase.ru:7020/geo?ip=".$ip);
  if($data){
    $xml = simplexml_load_string($data);
    return $xml->ip->city;
  }else{
    return "Москва";
  }
}

function file_get_contents_timeout($filename, $timeout=3)
{
  if(strpos($filename,"://")===false) return file_get_contents($filename);
  if(!function_exists("curl_init")) return false;
  $session=curl_init($filename);
  curl_setopt($session,CURLOPT_MUTE,true);
  curl_setopt($session,CURLOPT_RETURNTRANSFER,true);
  curl_setopt($session,CURLOPT_CONNECTTIMEOUT,$timeout);
  curl_setopt($session,CURLOPT_TIMEOUT,$timeout);
  curl_setopt($session,CURLOPT_USERAGENT,"Mozilla/5.0 (compatible)");
  $result=curl_exec($session);
  curl_close($session);
  return $result;
}
?>

Но правильнее будет добавить эти функции не в сам файл init.php, а подключить к нему другой файл, например functions.php и уже в него вставить эти функции.

Подключить файл functions.php можно используя в файле init.php такой код:

<?if (file_exists($_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/include/functions.php"))
		require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/include/functions.php");
?>

В данном случае я положил файл functions.php в папку /bitrix/php_interface/include/

Это более правильный подход, так как вы можете подключать множество файлов, которые добавляют различный функционал, к примеру обработчики событий могут лежать в файле events.php, а агенты в файле agents.php

Далее нам осталось вывести результат работы данных функций в любом месте на сайте где это требуется.
Я покажу на примере блока со скриншота.

<div class="order-info">
   <?$city = get_city_by_ip($_SERVER["REMOTE_ADDR"]);?>
   <?if($city=="Москва"){?>
   <p><strong>Бесплатная доставка по Москве!</strong></p>
   <?}else{?>
   <p><strong>Быстрая доставка в город <?=$city?>!</strong></p>
   <?}?>
</div>

Итак, если пользователь в Москве, то ему будет выведено сообщение «Бесплатная доставка по Москве!». Если определился любой другой город, то пользователь увидит сообщение «Быстрая доставка в город {НАЗВАНИЕ ГОРОДА}».

Надеюсь данная информация будет полезна.

Разработка сайта для блинной

14 ноября 2011, 11:03

Сайт — визитка для блинной, которая недавно открылась в городе где я живу. Сделан на joomla 1.5.
http://blin-m.ru/
Не знаю, стоит ли уже переходить на джумла 1.7, ведь пока далеко не все расширения для нее работают как надо. Поэтому коммерческие проекты пока делаю на joomla 1.5.
Использую в верстке материалов на этом сайте абсолютное позиционирование элементов. Также использовал расширение Content Templater, что позволило отказаться от использования тяжелых расширений CCK, типа K2 и Resources.

Разработка сайта для блинной

Сайт Краснотурьинского кирпичного завода

10 сентября 2011, 1:15

О да) И опять сайт с белым фоном... Делал уже давненько, весной... Устраивал фотосессию кирпичам)
Сайт сделан на joomla, ничего необычного, минимум страниц.
http://bkz.su/

Сайт Краснотурьинского кирпичного завода

Сайт ЖБИК (Краснотурьинского завода железобетонных изделий и конструкций)

10 сентября 2011, 0:54

Сайт краснотурьинского завода железобетонных изделий и конструкций.
Пришлось довольно долго повозиться с поиском и обработкой образов изделий.
http://www.uralgbi.ru/

Сайт ЖБИК

Сайт краснотурьинской детской больницы

5 сентября 2011, 23:41

http://dgb-krasnoturinsk.ru/

Немного необычно верстал этот сайт. Взял макет, сделал его полупрозрачным и поставил в качестве фона для тега body. Было довольно удобно, и всё сверстано точно по сетке.
Сайт сделан на CMS joomla 1.5

Сайт краснотурьинской детской больницы

Сайт ДенСим — Урал

5 сентября 2011, 0:18

Сайт для Информационного центра «ДенСим — Урал».
Довольно сложно было работать с заказчиком, но иногда такой опыт тоже полезен)
Несколько вариантов в процессе...

Сайт ДенСим - УралСайт ДенСим - Урал

Ретушь фотографии девушки.

Сайт ДенСим - УралСайт ДенСим - Урал

Вот что получилось в итоге:

Сайт ДенСим - Урал

Адрес сайта: http://student-holding.ru/

Сайт серовской компании — Центр Автоматизации «Спутник»

4 сентября 2011, 19:50

Разработка дизайна и сайта серовской компании «Спутник».

Сайт серовской компании - Центр Автоматизации «Спутник»


Занимаются автоматизацией торговли, общепита и т. д.

Довольно интересная работа. Ну в смысле мне интересно было заниматься эти сайтом. Очень долго возились с дизайном, пробовали разные варианты... В итоге заказчики выбрали вариант который нравится мне меньше некоторых других. Работу делал давненько, в сентябре — октябре 2010 года.

Адрес сайта: http://sputnik-a.ru/

Вот несколько вариантов которые не были приняты заказчиком...

Сайт серовской компании - Центр Автоматизации «Спутник»