сентябрь
3
, 2017
Как мы помним, при оформлении заказа в интернет-магазине мы отправляем соответствующее письмо на почту и клиенту, и администратору магазина. Я подумал, что было бы неплохо еще и отправлять смс с краткой информацией о заказе. Например, скидывать владельцу суммы заказов - пусть бдит и наблюдает.
Загуглив в рамблере, я с некоторой грустью выяснил следующее. Похоже, те благостные времена работы волшебных сервисов отправки смс за 3 копейки ушли и больше не вернутся. Были в свое время народные умельцы, которые отправляли халявные смски через общедоступные формочки на сайтах операторов сотовой связи, но теперь лавочку прикрыли. Чтобы отправить смс через сайт оператора, нужно проделать массу манипуляций в зависимости от паранойи оного оператора: это и в личный кабинет войти, и ввести код подтверждения при отправке смс, полученный через смс же на свой номер. Да еще и ограничения по количеству и/или промежутков времени. В общем, там лось ногу сломит. Впрочем, если у Вас другая, более радостная информация, то поделитесь в комментах, обрадуйте автора :-)
Так вот. Потому как волшебных смс-сервисов не нашлось, то воспользуемся самыми обычными. Выберем более-менее адекватный вариант и прикрутим отправку смс к оформлению заказа в нашем тестовом интернет-магазине
Читать дальше
август
27
, 2017
Технология AMP (Accelerated Mobile Pages), разработанная Google, становится все более популярной. Мгновенное открытие страниц - это то, о чем мечтают пользователи и пытаются добиться разработчики. Наращивание мощностей серверов, переход на SPA (Single Page Applications), оптимизация языков программирования и фреймворков - все эти процессы преследуют глобально одну цель - ускорение. Скорость - одна из самых важных составляющих современного интернета.
Многое зависит от умения конкретных разработчиков сайта. Но технология AMP предоставляет возможность добиться отличных результатов практически на любом сайте. В этой серии статей мы вместе, шаг за шагом, будем разбираться с этой технологией. Узнаем, что такое AMP-страницы, зачем и кому они нужны, как реализовать AMP на своем сайте, какие возникнут при этом подводные камни.
В этот раз тестового проекта не будет. Мы создадим AMP-версию сайта для этого же блога - webdevkin.ru. Думаю, будет много интересного. Приступим.
Читать дальше
июнь
17
, 2017
Иногда приключается необходимость вытащить с какого-то сайта контент: изображения, ссылки или тексты. Говоря по-научному, распарсить сайт. В благих целях делать это или нет, дело Ваше. Я лишь хочу продемонстрировать, как это работает с технической точки зрения.
Для примера рассмотрим простую, уже довольно старую, но надежную библиотеку для парсинга - phpQuery. А чтобы было не скучно просто читать методы библиотеки, то запилим маленький проектик, который громко назовем "Агрегатор новостей".
В качестве примера возьмем новости футбола. А брать их будем с сайта bombardir.ru, на который я иногда заглядываю.
Будем вытаскивать у них главные новости и статьи из центральной колонки и отображать их на нашей демо страничке (в целом, новостные агрегаторы так и работают). Посмотрите на исходный сайт, потом что получилось у нас, и если Вам интересно, как вытащить нужный контент, читайте статью дальше.
Читать дальше
июнь
13
, 2017
На страницах нашего интернет-магазина встречаются 2 варианта отображения товаров. На главной они выводятся с большими фото, в каталогах с фильтрами и пагинацией - в более компактном виде. Я делал это больше для разнообразия, чтобы было не так скучно смотреть на одинаковые блоки.
Но давайте вспомним серьезные интернет-магазины. Многие из них предлагают на выбор несколько вариантов отображения товаров. Чаще всего встречается один вид с большими фото, второй кратким списком и третий - что-то среднее. Это очень удобно, так как предпочтения людей по виду каталога разные. А если такое могут сделать серьезные магазины, то чем мы хуже?
В этой статье мы создадим набор переключателей внешнего вида каталога (можно даже назвать это темами). И небольшим бонусом научимся сохранять это состояние в localStorage. Так как html-разметка товаров у нас находится в underscore-шаблонах, то задача предельно упрощается. Это будет самый короткий и простой урок по интернет-магазинам. Приступим.
Читать дальше
июнь
12
, 2017
В первых двух уроках про SPA мы создали одностраничный сайт и соорудили для него sitemap.xml.
Пройдя по любой ссылке в сайтмапе, посетитель сайта увидит правильно отрендеренный контент, заголовок страницы и прочее. Беда в том, что этот контент не видят поисковики. Они не умеют выполнять javascript и видят только то, что отдает сервер. Поэтому все страницы сайта для них будут совершенно одинаковые, что не только полезно, а еще и очень вредно :-)
Наша задача состоит в том, чтобы научить поисковые роботы видеть то же, что и мы с вами. Другими словами, заставить сервер отрисовывать ровно ту же html-разметку, что образуется после отработки javascript-кода в браузере.
Обращаю внимание: это никоим образом не означает отход от концепции одностраничных сайтов. Для наших посетителей при навигации по сайту страницы будут грузиться как и раньше: через ajax-загрузку контента и с History API. Изменится лишь первоначальная загрузка страницы, когда мы сразу отдадим в браузер нужный контент. Как это сделать, а также про небольшие хитрости с robots.txt и страницей 404 Not Found, читайте ниже в статье.
Читать дальше
июнь
11
, 2017
С некоторых пор я начал в блоге проводить опросы. Мнение читателей узнать интересно, но далеко не каждый захочет писать комментарий. Я рассудил, что отвечать на вопросы в формате "ткнул мышкой и все" проще, чем что-то писать. Предположение подтвердилось, читатели голосуют гораздо чаще, чем оставляют комментарии.
В этой статье я хочу поделиться с вами результатами некоторых опросов. Есть результаты предсказуемые, а есть и неожиданные. Все в статье ниже, графики с результатами и мысли по этому поводу.
Читать дальше
июнь
10
, 2017
Когда в интернет-магазине набирается хотя бы 3 десятка товаров, встает вопрос: как удобнее выводить списки товаров посетителям? Пока преобладают 2 способа: постраничное разбиение и динамическая подгрузка по мере прокрутки страницы. Впрочем, реализация обоих вариантов ничем особенно не отличается, кроме небольших изменений в javascript-коде.
Мы же сегодня рассмотрим стандартное и простое разбиение на страницы.
Казалось бы, весь функционал сведется к добавлению в sql-запросы конструкции limit. Но не все так бесхитростно. А что будет хитрого и будет ли вообще - разбираемся ниже. Что будет точно, так это готовая реализация с примерами кода и демонстрацией работы.
Читать дальше
июнь
2
, 2017
Так, продолжаем работать над одностраничным сайтом. Сегодня мы сделаем еще один шаг к тому, чтобы подружить наш сайт с поисковиками. А именно, создадим сайтмап.
Казалось бы, что его создавать? Создали sitemap.xml и скопипастили туда содержимое чужого сайтмапа, заменив пути на свои. Но это не наш метод, мы же программисты, нам неинтересно врукопашную набивать содержимое файла. Все должно строиться и обновляться самостоятельно.
Другой вариант. Почему бы не воспользоваться готовыми решениями, особенно если мы делаем одностраничник на базе какой-то CMS? Да, но тогда как мы узнаем, как самим создать xml-файл, да еще и разными способами? Как создать общие конфиги для клиента и сервера, а под маской xml-файла выполнять php-код? Как вычитать даты на php и что такое sitemap changefreq?
Если Вас заинтересовали вышеозначенные темы, то читайте статью дальше. Будет много интересного, а может, даже и полезного :-)
Читать дальше
май
21
, 2017
Одностраничные сайты или Single Page Applications (SPA) - это круто.
Главный их профит в том, что SPA быстрее и отзывчивее на действия пользователей.
Достигается это за счет переноса логики работы на клиентскую сторону и активного взаимодействия с сервером посредством ajax.
Бытует мнение, что SPA - это мощные приложения на ангуляре или реакте,
ворочающие тоннами данных в какой-нибудь панели управления или в сложном сервисе.
И в целом это так.
Но я убежден, что есть смысл писать одностраничные приложения не только для таких сервисов,
но и для обычных корпоративных сайтов-визиток.
Зачем это надо и как это сделать, приложив немного усилий? Об этом ниже. Поехали.
Читать дальше
март
29
, 2017
Последние 3 месяца все было очень странно. Я запустил блог. В новом году появилось всего 2 толковых статьи. Материал для новых постов есть, но просто не доходят руки. Затеял переезд сайта на https, но что-то пошло не так и яндекс опустил меня в выдаче ниже плинтуса. А еще в Питере до сих пор не началась весна.
Но на самом деле все это не имеет значения, потому что главная цель последних месяцев достигнута. Сервис simpple.ru запущен и открыт для всех желающих. Сейчас проект раскрывает одну тему - встраиваемые виджеты-опросы.
Вы уже могли видеть такие опросы на страницах моего блога, а может, и оставляли свои голоса в них. Теперь каждый может бесплатно, быстро и в неограниченных количествах создавать такие же опросы и встраивать их на свои сайты. Заходите на лэндинг, а скорее даже, readme - simpple.ru, читайте краткое описание проекта и переходите в панель управления. Или же сразу по прямой ссылке cp.simpple.ru
Если же Вам интересно узнать немного больше о сервисе, как он создавался, что он умеет и что я буду делать с ним дальше, то дальше в статье немного больше подробностей.
Читать дальше