Joomla 2.5 как сделать мобильную версию сайта


Joomla 2.5 как сделать мобильную версию сайта
Joomla 2.5 как сделать мобильную версию сайта
Joomla 2.5 как сделать мобильную версию сайта

Первым делом открываем всем знакомую ссылочку, там сюрприз! Полностью обновленный демо сайт - Demo.JBZoo.com

Так совпали звезды, что у нас выпал очередной номер мажорной версии 2.2.0, поэтому название всей линейки будет иметь кодовое название «High Voltage». Название пришлось как нельзя кстати, т.к. весь долгий и нелегкий путь разработки сопровождался высоким напряжением как в команде разработчиков, так и в нашем сообществе.

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

Любой формат вывода информации о товаре. Например, таблицей с подсказкамиAjax-автодополнение для текстовых полей фильтраЭлемент JBCascade - Набор зависимых селектов.JBCompare - Элемент для сравнение товаровДинамический модуль корзиныГибкое управление шаблоном всего каталога с помощью мышкиИнформация о заказе в личном кабинете пользователяРасчет цены доставки на летуСлайдер в фильтре для точного диапазона по ценеВсплывающее окно с подробной информацией о товаре JBColor - виджет для выбора цвета товараПример вкладок для страницы товараМеняем кол-во товара красиво и без лишних перезагрузок!Эффектный переключатель для конвертора валютКод скидки для корзиныВариации цены - зависимость фото, цены, остатка от параметров товараЦелый калькулятор с помощью лишь одного элемента цены JBPrice CalcОчень подробная информация о заказе для администратора сайтаБыстрый фильтр по ссылкам с вычислением количества материалов и зависимостямиРазные способы доставки и дополнительные поляИндивидуальная скидка на товар с помощью JBPriceГлобальные модификаторы ценыБыстрый просмотр детальной информации о товаре без перехода к нему Любой формат вывода информации о товаре. Например, таблицей с подсказками Ajax-автодополнение для текстовых полей фильтра Элемент JBCascade - Набор зависимых селектов. JBCompare - Элемент для сравнение товаров Динамический модуль корзины Гибкое управление шаблоном всего каталога с помощью мышки Информация о заказе в личном кабинете пользователя Расчет цены доставки на лету Слайдер в фильтре для точного диапазона по цене Всплывающее окно с подробной информацией о товаре JBColor - виджет для выбора цвета товара Пример вкладок для страницы товара Меняем кол-во товара красиво и без лишних перезагрузок! Эффектный переключатель для конвертора валют Код скидки для корзины Вариации цены - зависимость фото, цены, остатка от параметров товара Целый калькулятор с помощью лишь одного элемента цены JBPrice Calc Очень подробная информация о заказе для администратора сайта Быстрый фильтр по ссылкам с вычислением количества материалов и зависимостями Разные способы доставки и дополнительные поля Индивидуальная скидка на товар с помощью JBPrice Глобальные модификаторы цены Быстрый просмотр детальной информации о товаре без перехода к нему

Сейчас наша команда рада представить вам совершенно новую корзину JBZoo 220v. Попробуем пробежаться, по её новым возможностям. Да, именно «пробежаться», т.к. действительно получилось огромное количество фич и каждая из них несет свою уникальную изюминку. Описать все и сразу в рамках одного поста практически невозможно.

Итак, что же мы приготовили для ваших законных методов отъема денег у населения сайтов?

Новый конструктор для электронной коммерции!

Не ослышались, это именно конструктор!

Имея каплю фантазии в одной руке и мышку в другой, вы можете продавать:

произвольный товар с любым количеством параметров (цвет, размер).

заказы из онлайн калькулятора с вычислениями цены на лету.

«подъем» или «публикацию» платных объявлений.

файлы и отправлять их почте.

и т. д.

Корзина JBZoo 220v позволяет:

самому конструировать элемент цены из других элементов.

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

проверять заказ через дополнительные валидаторы.

делать групповые скидки и массово поднимать/понижать цены на сайте.

использовать произвольные статусы заказа.

вычислять цену доставки с помощью внешних сервисов.

гибко управлять валютами на сайте.

просматривать подробную информацию о заказе.

создавать произвольное количество полей в форме заказа.

гибко управлять почтовыми шаблонами (элементы и позиции).

и... устал перечислять... :)

Обновленное JBZoo API порадует программистов такими вещами, как:

создание любых расширений не сложнее, чем разработка элемента для Zoo.

гибкая шаблонизация с UIkit, сборщиками статики, переопределением файлов.

абстрактная фабрика виджетов JS для быстрого клепания jQuery-плагинов.

компиляция Less в CSS на лету с одноразовым кешированием.

минификация JS через Google.

работа с деньгами и валютами, как с простыми объектами.

и т.д.

И первый, кто попадает под наш пристальный взор — это старый добрый JBPriceAdvance. Наши программисты его не пощадили и переписали с нуля.

JBPrice — второе рождение!

Эти буквальные 3-4 квадратных сантиметрика на сайте, где мы привыкли видеть цену, так важны и сложны по своей сути, что на разработку ушло более чем 4 месяца. Не верите?

Отныне элемент цены — это такой небольшой комбайн, который сам состоит из элементов. По сути JBPrice ничего не умеет, все возможности товара — это дополнительные «элементы элемента цены этого JBPrice». Вот жесть то, да? Не успев начать, а я уже говорю запутано...

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

Для этого мы создаем в материале JBPrice (Plain или Calc), добавляем в него именно те параметры (читай как элементы), которые хотим видеть в футболке. Включаем вариации и выводим все это добро на сайте. Любые настройки выглядят как все те же привычные позиции с элементами. Сидим и лениво водим мышкой по админке ;) 

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

Предыдущий элемент цены съедал примерно 10-40 ms времени для рендринга. Сейчас наш великий и ужасный маг Александр (он же tapakan и автор JBPrice) добился разгона новой цены до 5-15 ms. А если включить кеширование, то смело делим все показатели на 5-10. Т.е. примерно 0,5-2 ms на рендеринг 1-го элемента! Мысленно сравниваем числа с предыдущим средним показателем в 20 ms. Такие дела... В элементе заключен дух ветра :)

...о Валютах

Все «денежные» расширения (т.е. те, что работают с вычислениями и обработкой денежных сумм), как назло, работают в самых разнообразных валютах. И теперь это как никогда сказывается на работе JBZoo.

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

Вот краткий перечень фич новой валютно-денежной системы JBZoo:

Разные сервисы валют — это отдельные элементы (расширения).

Разработка своего элемента курса валют сводится к написанию 1 функции PHP в классе элемента.

Любые настройки формата вывода доступны из панели управления.

Суммы можно округлять в большую или меньшую стороны десятками или сотнями. Будет актуально для белорусских рублей (вместо «32 689,54 руб» приятнее видеть красивую сумму «32 700 руб»).

Можно указать резервное значение для курса валюты, на случай, если онлайн сервис упал (например, Центробанк РФ (cbr.ru) падает либо банит примерно 3-4 раза в сутки. И это ппц...).

Новый модуль «Переключатель валют». Т.е. один для всех цен на странице.

Модуль для вывода текущих курсов валют в виде списка.

Все денежные суммы на странице умеют менять свое значение с красивой анимацией (измените кол-во товара в корзине, например).

...о Глобальных скидках и прочих манипуляциях цены

JBZoo получил группу расширений для массовой работы с ценами на сайте. По сути каждый элемент — это правило для изменения цены у товара или группы товаров.

Теперь не составит большого труда сделать скидку (или «втихаря» поднять цену) для определенной категории товаров. От зоркого глаза админа ничего не скроется — все поползновения цены будут видны в созданном заказе.

...о Службах доставки

Нормальный расчет цены доставки — ох... как же нам этого не хватало...

Корзина не просто позволяет выбрать способ доставки, она буквально обращается к стороннему сервису и узнает цену. После создания заказа вся эта информация сохраняется и доступна администратору в панели управления.

На данный момент JBZoo работает с такими сервисами как:

Новая почта.

Почта РФ (старое API).

Курьер, с фиксированной суммой.

EMS.

В ближайших планах стоит ПЭК и обновление для Почты РФ.

...о Системах оплаты

Существующий список платежных сервисов пополнен новыми системами. Теперь полный список выглядит следующим образом:

Робокасса — серьезный сервис для юр. и физ. лиц с более чем 20 способами оплаты.

Интеркасса — почти 30 способов, относительно недавно полностью обновили как интерфейс так и весь функционал.

PayPal — популярный сервис для международных покупок по карте или PayPal.

Яндекс.Деньги — оплата через сервис русского поискового гиганта (не путайте с Кассой).

QIWI — популярный мобильный сервис и система терминалов.

LiqPay — сервис банка Privat24.

В ближайших планах Яндекс.Касса и 2Checkout, интеграция с компонентами биллинга Joomla (возможно).

...о Событиях в корзине

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

С теорией все понятно, а что на практике?

В панели управления есть несколько специальных страниц со списком событий. Если в это событие положить какой-нибудь элемент — он выполнится вместе с ним. Например, нужно отправить SMS пользователю сразу после оплаты. Достаточно добавить элемент SMS в позицию «Оплата заказа» и указать там текст сообщения.

Таким образом, вы сами решаете, что будет происходить на всем периоде жизни заказа от его создания до перехода в статус «Завершен». Кстати о статусах... А я вам говорил что это тоже «событие»?

...о Произвольных статусах

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

Каждый статус создает событие в системе, на который можно добавить выполнение элемента. Таким образом, можно отправить SMS при изменении статуса на «оплачено», или письмо с информацией о покупке сразу после создания заказа (т.е. до оплаты).

Т.к. теперь количество статусов не ограничено, то и количество событий не ограничено.

Для удобства администрирования статусы делятся на три группы — Общий, Платежной системы и Доставка. Как и прежде, JBZoo умеет отслеживать фактический момент оплаты через API сервисов оплаты и менять статус заказа автоматических.

...о Шаблонах

Как написать много CSS и через два месяца не утонуть в стилях? ... хлопотно.

В процессе разработки мы были вынуждены писать огромное количество CSS / JS, много думали о шаблонах и вот что из этого вышло.

Наконец появился нативный шаблон UIkit.

Поддержка адаптивного дизайна в корзине, заказах и каталоге.

Мы больше не пишем стили в CSS, а используем только Less, который в фоне сам себя компилирует. Классические стили остались только для сторонних библиотеках.

Весь JavaScript разделен на отдельные маленькие (а значит понятные) и независимые файлы.

На странице подключаются только те стили и скрипты, которые используются. Ничего лишнего. Вес страницы меньше — она грузится быстрее. ??? Profit!

Уверен, что кто-то нервно заерзал в кресле, когда увидели фразу «мелкие файлы» и «Less». Поэтому, прежде чем писать гневные комментарии, подумайте о следующем.

...о Less

Компиляция проходит только один раз и только на стороне сервера.

На выходе получаем один сжатый CSS файл (см настройки).

JBZoo сам отслеживает изменения в файлах и сам запустит компиляцию стилей, если найдет изменения.

Сборка стилей сайта — это хорошо отлаженный процесс. Мы успешно работали с ним последние 5 месяцев. А это значит, что весь Less надежно протестирован.

Синтаксис Less практически 1:1 как у CSS, а значит можно писать привычные стили и не думать что это Less. Новичкам не придется переучиваться новой технологии.

Если кто-то до сих пор считает, что Less — это всего лишь переменные, то боюсь вас огорчить. Мы их почти не используем. Зато он серьезно ускорил разработку и позволил навести строгий, почти военный порядок в стилях.

Ну... у нас еще будет время обсудить прелести препроцессора CSS в нашем блоге.

...о JavaScript

Еще со времен версии JBZoo 2.1.5 клиентских скриптов на сайте получилась так много, что легко разобраться в нем можно было только с бутылкой крепкого горячительного напитка. На самом деле это не доставляло проблем никому (даже разработчикам), пока не потребовалось ввести ООП классы и наследование виджетов и прочей страшной мутатени. А главное — привести весь код в строгий порядок.

В процессе мы были вынуждены написать свою фабрику виджетов, которая диктует всему JS коду свои жесткие правила игры, а она взамен дала нам очень простой процесс разработки и совершенно новые перспективы работы интерфейса (например, ajax фильтр).

Это чем-то похоже на jQuery.widget(), но лохмаче!

Как и в случае со стилями сайта, весь наш JS собирается в единый файл и минимизируется (и не абы как, а через Google).

Да и вообще, знаете что... JBZoo — это element’арно!

Корзина научилась наращивать свои потенциалы с помощью специальных расширений — элементов. Если вы научились писать обычные элементы Zoo, то и с корзиной у вас не возникнет проблем. Те же правила рендеринга, xml файлы и тоже самое API. Только элемент появится не в типе материала, а в корзине.

Элементы разделены на несколько групп по их функциям:

Currency — конверторы валют, каждый элемент работает со своим сервисом курса валюты.

Email — элементы для почтовых шаблонов.

Modifier Item Price — модификаторы цены определенного или группы товаров (Скидки, акции).

Modifier Order Price — модификаторы цены для всего заказа (Промо код, НДС).

Notification — элементы для сообщения о чем-либо куда-либо. Например, SMS при оплате заказа.

Shipping Field и Order — поля для формы заказа.

Payment — системы оплаты.

Price — элементы цены (остаток, параметр товара, артикул товара).

Shipping — элементы для вычисления цены доставки с помощью посторонних сервисов.

Validator — произвольные валидаторы корзины (например, для ограничения заказа по минимальной сумме).

Ну и так... по мелочи...

По ходу дела появилось много приятной мелочевки. Коротенечко, список ниже:

Цена и корзина

Краткая статистика продаж в панели управления.

Новый виджет для переключения валют (кнопки с флажками).

Новый виджет для кол-во товаров.

Элемент JBAdvert для продажи VIP-объявлений.

Два разных режима работы с вариациями цены — обычный и наложение.

Создание онлайн калькуляторов с последующим заказом.

Покупка файлов (приходит ссылка или атач в письме после оплаты).

Зависимость фотографии товара от параметров товара (например, от цвета).

Произвольные валидаторы корзины.

Процесс оплаты можно сделать в два шага (если этого требует API).

Фильтр

Новый слайдер цены с полями ввода (работает скролл, внизу и вверх).

Улучшенный JS-сброс в форме фильтра.

Фильтрация по пустым опциям материалов.

Шаблоны

Стилизованные сообщения в интерфейсе с помощью Sweet Alert (няшка!).

Новые CSS кнопки для шаблона по умолчанию.

Эффекты в интерфейсе для AJAX-запросов.

Переверстаны страницы корзины, истории заказов.

Нотификация

Макросы для элементов нотификаций (например, для вставки номера заказа посреди текста).

SMS уведомления.

Новые почтовые шаблоны (специальные элементы и новая верстка).

Автоматические атачи файлов и картинок в письма.

Последнее в списке, но не последнее по значимости!

Общий разгон всего JBZoo.

Исправлены старые ошибки из версии 2.1.5

Причесали весь CSS и JS.

Серьезный рефакторинг всех модулей JBZoo.

... и Басё, и то да сё, и всё-всё-всё! и это еще не всё! (привет, Псой)

Часть из них мы не планировали, просто так получилось, что по мере разработки добавить ту или иную плюшку — дело пары часов. Почему бы и нет! ;)

Есть вопрос? Давай-давай! У меня есть аккаунт без плюса, я могу скачать JBZoo 220v ?

Да, конечно. Как и было обещано, начиная с RC версия будет доступна всем тарифным планам.

В чем принципиальное отличие между Beta и RC?

Первая бета играла роль предварительной демонстрацией новых фич. Вторая бета была экспериментальной версией, где многие фичи работали, но нуждались в тестировании, отладке и свежего взгляда со стороны. Обе версии отлично сыграли свои роли.

Текущая версия (RC) — это уже отлаженный продукт, на котором можно и нужно создавать новые сайты. Конечно есть ряд вещей, которые еще не включены в эту версию, чтобы считаться Stable (несколько новых фич, английская локализация, опечатки и система обновления).

Тем не менее, мы считаем что она уже готова, т.к. уже сейчас исправлены все серьезные баги.

Чем конкретно будет Stable отличаться от RC?

Если прям вот чтобы конкретно, то:

Появится возможность простого обновления (сейчас только вручную, позже мы напишем в блоге как именно).

Новый модуль сортировки в категории.

Новый, вспомогательный модуль для фильтра.

Профессиональный перевод на английский и украинский языки. Русский язык уже есть сейчас.

Воплощение идей для юзабилити панели управления JBZoo.

Исправление мелких и не критических багов, например, опечатки.

Разбор индивидуальных багов пользователей форума.

Будет более точный список будет позже доступен нашим подписчикам «+».

Когда на 2.2.0 можно начинать новые проекты?

Делать новые сайты можно уже сейчас! Stable лишь включит в себя незначительные правки и несколько новых небольших фич. Как и прежде, все подписчики со знаком «плюс» получают ранние обновления через наш JBZoo Marketplace. Каждое такое обновление приближает к Stable. Они выходят 3-4 раза в неделю.

Можно ли будет обновить RC до Stable?

Да, конечно. Позже мы выпустим специальный патч для обновления с подробной инструкцией.

Когда будет обновление с версии 2.x.x до 2.2.0?

Как видите, изменений между версиями слишком много, поэтому наша команда будет работать над специальным конвертором. Он появится почти сразу после Stable. А до дня «X» в рамках технической поддержки на форуме мы можем вас проконсультировать с ручным обновлением сайта.

Фич много... как разобраться??? Есть документация для 2.2.0?

Отож! Бодрая часть документации уже доступна на нашем сайте. Как и прежде, постепенно мы её наращиваем. Летом будем писать новые видео материалы.

Фич действительно очень много. Теперь и цена подписки взлетит? эх...

Совершенно нет! Пока нас устраивает наша текущая ценовая политика. Поэтому никаких изменений в условиях или цене подписки не предвидется.

Так много изменений... почему версия не 3.0, а всего лишь 2.2.0?

Давным давно мы анонсировали, что начиная с 3.0 JBZoo будет отдельным независимыми компонентом Joomla. Планы не изменились. «JBZoo 220v [high voltage]» — звучит, же! ;) А компонент будет двухфазным 380v.

Стоило ли делать все и сразу? Почему нельзя было их выпускать по частям?

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

Просто подумайте, получилось бы:

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

Так гибко управлять шаблоном цены (например, поменять местам кнопки и параметры) если бы не разделили JBPrice на маленькие элементы ?

Навести полный порядок в шаблонах без возможностей less ?

Добавить нормальную мобильную версию без возможностей шаблона UIKit ?

Редактирование курсов валют без отдельной страницы в панели управления ?

...и таких примеров масса!

Так что, да! Считаю что, затраченное на разработку время и уникальные фичи корзины стоили того.

Планы на ближайшее будущее

Сейчас мы активно работаем над Stable и читаем отзывы с вашим мнением. Так сказать мотаем на ус в счет будущих концертов.

Вместо заключения

Какое заключение??? ...только вошел во вкус! Так что задавайте вопросы в комментариях, прямо тут.

Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта Joomla 2.5 как сделать мобильную версию сайта

Тоже читают:



Получить доллар в подарок

Поздравление с днем рождения сестре проза до слез

Поздравления с днем рождения для женщин в прозе на украинском

Фото вечернего макияжа и как его делать

Как сделать яркий свет на ваз 2107