Web
Подписаться на эту рубрику по RSS
301 редирект. Шпаргалка по mod_rewrite
Любой вебмастер не раз сталкивался с необходимостью сделать 301 редирект (при изменение адреса страницы, склейке доменов, удалении дублей). Один из самых простых способов задания 301 редиректа - использовать механизм mod_rewrite, позволяющий переобразовывать URL «на лету».
Данная шпаргалка содержит набор директив, флагов и переменных, подсказки по синтаксису регулярных выражений, используемых mod_rewrite, а так же примеры наиболее популярных шаблонов.
Как изменить кодировку базы MySQL из Win-1251 в UTF-8?
Попросили тут перенести сайт на другой хостинг, а он, как оказалось, до сих пор жил в кодировке cp1251. Вроде ничего страшного - работает, но уж больно по колхозному это в наше время и давно пора перейти на UTF-8.
Самый быстрый и простой способ - пересохранить копию базу данных в любом текстовом редакторе (sublime text, notepad++) в нужной кодировке и импортировать на место старой. Можно проделать данную операцию используя SQL-запросы в phpMyAdmin.
ALTER DATABASE имя_вашей_базы_данных charset=utf8;
Данный запрос конвертирует базу в указанную кодировку. Кроме этого потребуется конвертировать и сами таблицы. Запрос для конвертации таблицы базы данных:
ALTER TABLE `db_name`.`table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Конвертировать каждую из таблиц по отдельности подобным образом то ещё удовольствие, особенно при большом количестве. Однако можно не мучить себя подобным занятием, а создать последовательность команд посредством одного запроса:
SELECT CONCAT( 'ALTER TABLE `', t.`TABLE_SCHEMA` , '`.`', t.`TABLE_NAME` , '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;' ) AS sqlcode FROM `information_schema`.`TABLES` t WHERE 1 AND t.`TABLE_SCHEMA` = 'My_DB_for_convert' ORDER BY 1 LIMIT 0 , 90
Остается только скопировать результаты и вставить их в форму нового SQL запроса.
Потерянные заказы в Opencart (ocStore). Вылавливаем баги системы.
Тема весьма специфичная, потому всем, кому не знакомо хоть одно слово из заголовка, можно смело пропустить данный пост. Кому-то надо писать и на такие темы, возможно мой опыт по поиску багов в этой системе поможет сэкономить время и нервы.
Суть в следующем, на одном интернет-магазине на движке ocStore (Opencart) обнаружился такой баг - все заказы попадали в "потерянные". В админке они находились если перейти в Продажи > Заказы и установить фильтр Статус - "Потерянные заказы".
Потерянным заказ считается, если ему присвоен нулевой статус в базе данных, а это в свою очередь указывает на какой-то сбой в процессе формирования заказа. Сбой может давать один из модулей оплаты, доставки, либо просто косяк в установке, как и было конкретно в моем случае.
Google Chrome и Firefox прощаются с Flash и переходят на HTML 5
Свершилось! Вчера Google официально заявила о скором прекращении поддержки Flash в своем браузере Google Chrome. Еще в середине мая компания предупредила рекламодателей, что пришло время отказываться от «морально устаревшей» технологии и переходить на HTML5.
[Решено] 1С Bitrix. Разрешаем скачивать файлы из веб-формы неавторизированному пользователю
1С Bitrix богата весьма странными решениями при реализации простых вещей. Простой пример - на сайте есть веб-форма с полем типа "файл" (когда нужно отправить какое-то изображения или иной документ). В результате на почту приходит письмо со ссылкой на этой файл примерно такого вида:
... Ваш макет в цвете: ******************************* image.jpeg [1414 x 700] (400.34 КБ) http://you_site.ru/bitrix/tools/form_show_file.php?rid=104&hash=3d97e1e3f496e167c9fa6274e3b9772d&action=download&lang=ru ...
При клике по ссылке выдается сообщение: "Ошибка! Файл не найден."
Установка шаблонов OpenCart с templatemonster.com
Введение Что находится в шаблоне и для чего его можно использовать
В данное время занимаюсь доработкой одного интернет магазина на движке OpenCart. Хотя... слово "доработка" тут уже не уместно использовать, так как данный интернет-магазин уже почти полностью переписан, однако речь сегодня пойдет о более простом пути.
Наверняка многие слышали о таком ресурсе как templatemonster.com. Там имеется куча готовых шаблонов под разные движки, в том числе и под OpenCart. При разработке собственного шаблона я и взял за основу один из демонстрационных шаблонов с этого ресурса, а в блог решил закинуть их инструкцию по установке этих самых шаблонов. Так что не сочтите за плагиат, честно указал откуда она взята, чтобы вам не искать.
Доклад "Эволюция фронтенда в 2016" на Moscow Tech Meetup
Довольно интересный доклад с Moscow Tech Meetup о том куда движется web-разработка в 2016 году и в частности фронтенд. Какие новые инструменты уже появились и еще появятся у разработчиков и на что стоит ориентироваться в будущем. На мой взгляд, весьма познавательно.
К примеру, Microsoft показал себя с неожиданной стороны, сделав (!)бесплатный кроссплатформенный инструмент для web-разработки Visual Studio Code.
Создание адаптивных сайтов от LoftBlog
Раз уж нам выделили так много праздничных выходных дней, с весьма посредственной погодой (даже соседский мопс, большой любитель прогулок, завершает их едва успев начать) следует провести их с пользой.
Еще перед новогодними каникулами подписался на одну группу вконтакте "IT cookies" с весьма интересными материалами. По большей части, группа ориентирована на web-разработчиков или тех кто хочет таковыми стать. Как раз сегодня наткнулся на видеоуроки по созданию адаптивных сайтов от LoftBlog.
Настраиваем под себя Sublime Text 3
В который раз думаю кому понадобилась эта куча посленовогодних выходных. На четвертый день холодов уже не знаешь чем ещё себя развлечь. Вот перенести бы их на майские праздники или на лето... не все же проводят эти дни в пьяном угаре под Кисель-ТВ.
Решил обновить до третьей версии, а заодно и облагородить свой любимый текстовый редактор Sublime Text 2, в котором, собственно, и пишу сайты. Настроить тут можно практически всё как душа пожелает, ведь для Sublime Text существуют тысячи расширений, плагинов, тем и цветовых схем оформления. Всё это превращает процесс программирования в весьма приятное занятие, в том числе и для глаз.
Яндекс открывает школу для вебмастеров и маркетологов
Продолжаю болеть, и скрашивая свои не веселые будни, шарюсь в интернете в поисках чего-нибудь интересного. Благо, сентябрь богат на события - тут и автосалон во Франкфурте с огромной кучей новинок и концептов, и презентация Apple, выход новой iOS 9 и совсем скоро El Capitan, в общем есть что посмотреть и почитать. Это конечно радует.
Залез сегодня в блог Яндекса, да есть и такой. Надо отметить, довольно интересные вещи там публикуются. Например почитать о новом экспериментальный сервисе который появился в начале лета Яндекс.Прогулки. Это такой технологичный путеводитель который всегда с вами.
Лично меня больше заинтересовало открытие школы для вебмастеров и маркетологов. Знания лишними никогда не бывают, а тем более когда тебе это еще предлагают и на халяву.
Система комментирования HyperComments для сайта
Давно хотел потестировать в блоге альтернативную систему комментирования. В принципе, той системы которая встроена в движок MaxSite CMS вполне хватает, я лишь доработал её визуальное оформление для своего блога. Но это как с машинами, вроде те же 4 колеса, руль, педали и всё устраивает... ровно до тех пор пока не прокатишься классом повыше с другим уровнем комфорта.
Сторонних систем комментирования для сайтов сейчас уйма, есть из чего выбрать - DISQUS, VK, Cackle, HyperComments и это далеко не все. Если первые три довольно часто встречаются в различных блогах, то о HyperComments я узнал случайно когда читал очередную статью на сайте журнала "За Рулём".
Люблю я на досуге поковырять чужие сайты, надо же знать чем они живут, тем более если встречается что-то интересненькое. Так и состоялось моё знакомство с HyperComments, приглянулась система комментирования вышеупомянутого автожурнала - в меру лаконичная и стильно оформленная, где нет ничего лишнего. Впрочем, оформление можно назвать уже стандартным - тот же DISQUS и Cackle как близнецы-братья. Вот только последний уж что-то сильно дорог.
Bitrix: Не удалось обнаружить код вызова компонента
При попытке редактировать параметры компонента bitrix выскакивает сообщение: "Не удалось обнаружить код вызова компонента". Лечится данная напасть довольно просто - в .htaccess нужно добавить две строчки:
для не utf8:
php_value mbstring.func_overload 0 php_value mbstring.internal_encoding latin1
для utf8:
php_value mbstring.func_overload 2 php_value mbstring.internal_encoding UTF-8
Кстати, то же самое может пригодиться при миграции сайта bitrix на другой сервер через файл restore.php. Хоть я и не люблю Битрикс, но за удобство систем переноса сайта и резервного копирования разработчикам можно пожать руку.
Ну и не забываем проверять свою верстку (открывающие/закрывающие теги), чтобы ошибок html не было, так как это тоже может быть причиной подобных ошибок.
Восстановление / сброс пароля Joomla с помощью phpMyAdmin
Передали мне тут по наследству один сайт на Joomla с учеткой только для хостинга. Признаюсь, Джумла нравится мне не больше Битрикса - назвать её удобной язык не поворачивается, админка далека от идеала и вызывает массу вопросов у конечных пользователей. Но, оставим вопрос религий, на вкус и цвет, как говорится, все фломастеры разные...
Нашел в интернете, что если на сайте разрешена авторизация, и указан реальный e-mail, то пароль от админ-панели Joomla можно восстановить стандартными средствами. Так же должна быть настроена и работать функция отправки почты. Как видите, условий много, в моем случае можно было даже не пытаться (не известно куда придет сообщение, с уверенностью можно сказать что точно не на мою почту).
Если всё как нужно, то достаточно в адресной строке браузера набрать строку, как показано ниже, и действовать согласно указаниям:
http://ваш_домен/index.php?option=com_users&view=reset
Сам данный способ не проверял, так что можете отписаться по результатам у кого получилось или не получилось. Предпочитаю действовать наверняка...
CLOUD ZOOM - эффектное увеличение изображений или товара на jQuery
Cloud Zoom - качественный и легкий jQuery-скрипт позволяющий масштабировать изображения. Хорошо подходит для детально показа товара в интернет-магазине, где весьма популярен.
К примеру, он используется на сайте интернет-магазина Еldorado, в чем легко убедиться если заглянете в код странички, собственно там же можно посмотреть работу скрипта в действии. Cloud Zoom имеет довольно много настроек, совместим со всеми современными браузерами и даже древним IE6 (сам не проверял), кроме того весит скрипт всего навсего 7Kb.
С сайта на сайт кочует практически одно и то же описание (долбаные копипастеры) этого чудесного скрипта и ссылка на скачивание версии V1.02, в то время как на github давно лежит версия Cloud Zoom V1.03.
Насколько я понял, новая версия Cloud Zoom V3.1 платная и начинается от 25 евро да лицензию на один сайт, а вот старая версия имеет MIT License, то есть мы можем спокойно использовать её в своих проектах, за что спасибо автору. Я правда нашел один недостаток в скрипте, а именно невозможность показывать разные заголовки при выводе галереи изображений. Версию скрипта, где данная проблема устранена, можно скачать с моего сайта, ссылка есть в конце статьи. Пример работы скрипта.
Прижимаем футер к низу страницы
Часто требуется прижать футер к нижней границе окна браузера независимо от наполнения страницы. Сегодня расскажу о наиболее простом, кроссбраузерном и валидном способе реализации этой задачи, которым пользуюсь сам.
Чтобы не загромождать пример ненужными сущностями, для лучшего понимания, представим минимальный HTML-код будущей страницы.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Прижимаем футер к низу страницы</title> </head> <body> <div class="page"> <div class="wrapper">Контент страницы</div> </div> <div class="footer">Нижняя часть</div> </body> </html>
Склейка домена с www и без www. Пара слов о 301 редиректе и файле .htaccess
Домен с www и домен без www в начале адреса для поисковых систем представляются разными ресурсами. Для правильной индексации и ранжирования вашего сайта, как единого ресурса, желательно использовать так называемый 301 редирект.
Самый простой вариант редиректа - при помощи файла .htaccess. Он всегда присутствует в корне сайта. Для реализации редиректа так же необходим включенный модуль web-сервера mod_rewrite.
200 конструкций эффективных заголовков
Я конечно не SEO-шник и вообще считаю это слово ругательным, но на одном форуме случайно наткнулся на довольно занятный списочек готовых конструкций для заголовков статей. Похоже именно ими и пользуются современные СМИ, судя по тому что мы читаем в сети, прессе, разной степени желтезны, и видим в зомбоящике.
Особо пестрят заголовками из первой десятки разные говносайты. Но, надо отдать им должное, внимание привлекают. В общем, оставлю это здесь, может кому пригодится:
- ___ причин воспользоваться ____
- Почему ____ пользуется популярностью у десятков тысяч покупателей?
- ___ ответов на вопрос _____
- НОВИНКА! _________
- СЕНСАЦИЯ! _________
- СЛУЧИЛОСЬ НЕВЕРОЯТНОЕ! ________
- БЕСПЛАТНО! ___________
- ВНИМАНИЕ! ___________
- ОСТОРОЖНО! __________
- ЭТО НЕВЕРОЯТНО! _________
- ТАКОГО ЕЩЕ НЕ БЫЛО! ________
- А Вы _______?
- Как я _______
- Найдены секреты ______
- Кто еще хочет ______?
- Узнай, как я _______
- Дайте мне ____, и я _______
- Как сделать _____ собственными руками?
- Как увеличить ______ в несколько раз?
- Раньше я тоже думал, что _________
Slider Kit - лёгкий и мультифункциональный jQuery плагин на все случаи жизни
Наткнулся тут на один очень качественный, легкий и в то же время функциональный jQuery плагин Slider Kit. Позволяет создавать практически любой тип слайд-шоу от простой фото-галереи до навороченных новостных крутилок с временной шкалой и всевозможными эффектами. Имеется встроенная поддержка как горизонтальных, так и вертикальных слайдеров с навигацией, карусели и вообще практически всё что душа пожелает.
Есть одно "но", необходимы хотя бы начальные знания и представления о том как работает jQuery, понимание построения правил CSS. В этом случае, вы получаете поистине уникальный инструмент, который позволяет делать эффектные слайдеры и представления ваших данных.
К сожалению, официальная страничка плагина сейчас не открывается http://www.kyrielles.net/sliderkit/sliderkit_en.html
Плагин можно скачать с гугла https://code.google.com/p/sliderkit/, тем более в архиве присутствуют все примеры и полное описание.
Тема оформления админки для MaxSite CMS
Решил поделиться своей темой оформления административной панели для MaxSite CMS. За основу была взята тема Николая Громова (nicotin), в которой понравились иконки и реализация адаптивного бокового меню. При размере окна в 1024px и меньше пункты меню становятся значками.
Остальное оформление переделано, чтобы глаз радовало. Шаблон очень легкий. Общий стиль выдержан в светлых тонах, кроме страницы авторизации. Тестирование проводилось в Safari и Chrome под управлением MaxSite CMS (версии 0.74). Это, так сказать, пилотная версия шаблона и он будет дорабатывать, по мере наличия свободного времени.
За что я не люблю Битрикс или CMS от маркетологов
Признаюсь честно, я не самый большой знаток Битрикса и опыт работы с данной системой состоит всего из двух проектов. В одном случае разработка велась от начала и до конца, второй сайт достался в наследство. Постараюсь максимально правдиво рассказать о чем умалчивают маркетологи.
Недостатки системы не просто замалчиваются, а выдаются за достоинства: говорят, что система простая и удобная, а это не так, что она быстрая и безопасная, и это снова не так, достаточно сравнить требования к хостингу Битрикса и, к примеру, ModX. Почитайте форумы, где обычные клиенты, купившиеся на обещания простоты и удобства, ищут тех, кто им её теперь настроит и будет дальше деньги сосать. Да можно жопу порвать, пока разберешься в их терминологии и интерфейсе. Или предполагается, что все клиенты профессиональные веб-разработчики?