Категории: Web разработка

jQuery: плагин для создания адаптивного меню

Владимир | | JavaScript, Web разработка.

jquery adaptive menu

Приветствую всех!

Хочу поделиться небольшим плагинчиком для библиотеки jQuery. И, естественно, услышать ваше мнение о нём 😉

Плагин предназначен для создания несложных адаптивных меню и позволяет сэкономить место на устройствах с небольшими экранами. Экономия заключается в том, что если ширина страницы меньше заданной величины, то при формировании страницы вместо меню будет показана ссылка с каким-нибудь текстом вроде «Развернуть меню». После клика по этой ссылке меню примет свой первоначальный вид.

Скачать плагин можно на GitHub.
Читать дальше

PHP: как убрать комментарии из html разметки

Владимир | | HTML, PHP, Web разработка, WordPress, Yii.

remove html comments

Прежде всего, несколько пояснений. Допустим, у вас есть html страница с комментариями, которые вы не хотите показывать посетителям сайта. Как их убрать? Естественно, это можно сделать с помощью любого текстового редактора 🙂 Но это не самый лучший вариант 😉

HTML комментарии помогают читать разметку во время разработки, особенно если макет страницы разбит на несколько частей. Т.е. открывающий тег может находиться в одном файле, а закрывающий – в другом. В таких случаях комментарий около закрывающего тега может действительно сэкономить ваше время.

С другой стороны, наличие таких комментариев в разметке хоть и немного, но увеличивает размер страницы, да показывать их посетителям как-то неправильно.
Читать дальше

Как изменить домен для сети сайтов (на примере WordPress)

Владимир | | MySQL, PHP, Web разработка, WordPress.

wordpress multisite move

В этой статье речь пойдет об основных проблемах, которые возникают при переносе сети сайтов с одного домена на другой и, естественно, о том, как их решить.

Сразу хочу сделать небольшое отступление. В большинстве случаев для сайта, к которому открыт публичный доступ, изменение домена является «крайней» мерой. И почти всегда без неё можно обойтись. Тем не менее, бывают ситуации, когда всё-таки лучше изменить адрес сайта, например, если куплен «красивый» домен.

Обычно процесс переноса состоит из следующих этапов:

  1. Перенос кода.
  2. Перенос статики (картинки и т.п.).
  3. Перенос базы данных.

С первыми двумя этапами проблемы возникают редко. Могут, конечно, возникнуть сложности с запуском сайта из-за разницы в настройках серверов, но это отдельная тема. Статические файлы перенести проще всего, в 90% случаев достаточно просто скопировать папку uploads (или аналогичную).
Читать дальше

WordPress: выбор случайных постов

Владимир | | MySQL, PHP, Web разработка, WordPress.

wordpress sql rand

Идея написать этот пост у меня появилась после выхода статьи
Random Redirection In WordPress Перевод в Smashing magazine.

В ней рассказывается о том, как выполнить редирект на случайный пост. Но точно такой же подход можно использовать и для отображения случайных постов, например, в каком-нибудь виджете.

Сразу хочу пояснить. Я ничего не имею против решения, описанного в Smashing magazine, это встроенный в WP способ выборки случайных записей, просто при его использовании можно ощутимо снизить скорость формирования страниц.

Для начала рассмотрим, как работает стандартный вариант.
Читать дальше

PHP: Компиляция LESS с помощью Phing

Владимир | | Phing, PHP, Web разработка.

phing-less

В последнее время библиотеки, которые добавляют новые возможности CSS, становятся всё более популярными. Наиболее известные из них – LESS и SASS (SCSS). Какое-то время назад я пытался выбрать наиболее подходящую из них для собственных целей, но, в конечном итоге, понял, что разница минимальна и лучше потратить время на что-нибудь более полезное 🙂

Тем не менее, одно отличие между LESS и SASS всё же есть. В дистрибутиве LESS есть скрипт less.js, который преобразует .less файлы в .css прямо в браузере. Это очень удобно использовать при разработке, т.к. вам будет достаточно обновить страницу, чтобы увидеть изменения. Но для продакшена такой вариант не подходит по нескольким причинам.
Читать дальше

Yii фреймворк: создание XML-RPC сервера

Владимир | | PHP, Web разработка, Yii.

yii xml rpc

На мой взгляд, XML-RPC протокол является одним из наиболее удобных способов передачи данных между Интернет-ресурсами. Можно, конечно, поспорить, но на изучение XML-RPC требуется минимальное количество времени, есть множество готовых библиотек, да и используется он очень широко. Поэтому я никогда не понимал, почему разработчики отличного фреймворка Yii решили не включать библиотеку для работы с XML-RPC в дистрибутив. Хотя, возможно, это вопрос времени 🙂

Тем не менее, работать нужно уже сейчас, и в этой статье мы разберём, как решить проблему с помощью сторонних библиотек.

Примечание. Если вас интересует создание XML-RPC клиента, почитайте статью XML-RPC и Yii фреймворк.

Немного теории.

Мы можем использовать два основных подхода при создании XML-RPC сервера.

1) Отдельный скрипт. В этом случае создаём файл с именем вроде xmlrpc.php и помещаем его в корень сайта. В нём будет находиться код обработки XML-RPC запросов. Такой подход используется, например, в WordPress. Достоинство в том, что вам не нужно вносить никаких изменений в код вашего проекта, т.е. XML-RPC интерфейс получается независимым. С другой стороны, независимость приводит к тому, что вам будет гораздо сложнее работать со встроенными библиотеками фреймворка.

2) Использование действий контроллера. Этот вариант гораздо интереснее. Во-первых, вы автоматически получаете доступ ко всем возможностям Yii. Во-вторых, в этом случае XML-RPC методы можно разделить по модулям. Т.е. подключение / отключение модуля будет автоматически подключать / отключать соответствующие XML-RPC методы.
Читать дальше

WordPress: публикация постов с помощью XML-RPC с поддержкой таксономий

Владимир | | PHP, Web разработка, WordPress.

wordpress xml-rpc publish

WordPress на сегодняшний день является одой из самых популярных CMS и последнее время активно развивается. Но, к сожалению, это развитие не всегда получается гармоничным.

Одной из возможностей, которая почему-то по возможностям постоянно отстаёт от остальной части движка, является XML-RPC. На сегодняшний день этот протокол является основным средством удалённой публикации постов. И, при этом, он фактически бесполезен если вы используете произвольные типы записей (custom post types) и таксономии (custom taxonomies). Ни один XML-RPC метод публикации постов в WP 3.2.1 их не поддерживает.

Конечно, можно надеятся, что в будущих версиях ситуация изменится в лучшую сторону, но ничто не мешает добавить нужные методы прямо сейчас.

Рассмотрим небольшой пример.
Читать дальше

jQuery: обработка параметров URL

Владимир | | Ajax, HTML, JavaScript, Web разработка.

jquery parsequery

Приветствую всех!

Сегодня хочу показать небольшой пример использования библиотеки jQuery для работы с параметрами ссылок.

Предположим на нашей странице есть ссылка, клик по которой отправляет запрос на выполнение некоторой операции. Пускай это будет удаление какого-нибудь объекта.

HTML разметка такой ссылки может выглядеть следующим образом.

<a class="delete" href="https://www.simplecoding.org/script.php?action=delete_object&object_id=1">Удалить</a>

Как видите, ссылка содержит два параметра (action и object_id), значения которых PHP скрипт сможет получить из массива $_GET.

Теперь, мы хотим выполнить удаление объекта с помощью AJAX запроса. Изменять ради него ссылку нет никакой необходимости. Просто назначаем обработчик для события click.
Читать дальше

HTML5: загрузка файлов с помощью Drag & Drop

Владимир | | Ajax, HTML, JavaScript, PHP, Web разработка.

html5 drag&drop upload

Приветствую всех!

В этой статье хочу рассказать о нескольких своих экспериментах с HTML5. Начну издалека. Всем нам периодически приходится работать с различными web интерфейсами и часто возникает ощущение, что эта работа могла бы быть организована более эффективно.

Возможно, в каких-то случаях виноваты разработчики сервиса, но часто проблема заключается в ограничениях, которые накладывают браузеры. Рассмотрим загрузку файлов на сервер. В большинстве случаев вам предложат стандартное поле с кнопкой выбора файла с вашего компьютера и/или поле, в котором можно указать URL файла, размещенного где-нибудь в Сети.

Загрузку файлов с локального компьютера трогать пока не будем, я планирую опубликовать отдельный пост на эту тему, разберем загрузку с удалённого сервера.

Проблемы начинаются с первого же шага. Даже если вы четко понимаете, где искать URL и хорошо умеете пользоваться инструментами вроде firebug, то всё равно потребуется несколько кликов мышкой чтобы получить нужный адрес. Было бы гораздо удобнее просто перетянуть нужную картинку из одного окна браузера в другое.
Читать дальше

Как показать на Google Maps объекты, находящиеся в заданной области

Владимир | | HTML, JavaScript, Web разработка.

google maps

Показать пример решения такой задачи меня попросили в комментариях к одной из предыдущих статей о Google Maps. С выполнением этой просьбы я довольно сильно затянул, но, надеюсь, эта статья кому-нибудь пригодится 🙂

Начнём с постановки задачи

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

Будем считать, что заданная область представляет собой окружность, т.е. мы знаем координаты её центра и радиус. А координаты объектов находятся в KML файле (это XML формат, разработанный для описания объектов на Google maps).
Читать дальше