Павел Гвоздь
С нами с 31 мая 2015; Место в рейтинге пользователей: #2С 21 по 28 февраля -25% на пакеты Гвоздя!
Рад открыть неделю распродажи своих дополнений! Скидка предоставляется на все пакеты, включая xParser, который со скидкой можно купить за 2250 рублей!
- xParser — Парсер HTML, RSS, XML.
- msPromoCode — Скидочные промо-коды для miniShop2.
- imgArea — Удобная визуальная расстановка областей (map, area) на изображениях.
- msKuponator — Пакет реализует сайт-купонатор на miniShop2.
- msDeliveryOnMap — Выбор адреса и подсчёт стоимости доставки одним кликом по карте.
- msOrderFiles — Пакет для прикрепления файлов к заказу ms2.
[xParser] 1.3.0 - Регулярные выражения + Кейс
Обработка регулярным выражением полученных данных доступна уже давно, благодаря такой сногсшибательной функциональности Fenom. А с версии 1.3.0 регулярки были внедрены:
а) в конфигурацию задания при указании записи селектора,
б) в поля источника.
Пользователю это даёт более гибкую выборку записей из источника. Под катом пример того, как я извращался при помощи регулярок в xParser.
[xParser] 1.2.0 - Парсер HTML контента + совмещение заданий
Парсер HTML контента востребованная штука, поэтому естественным шагом было его внедрение в xParser.
А с версии 1.2.0 компонент позволяет совмещать задания. Например, вам нужно распарсить RSS ленту и каждую запись выпилить с сайта полностью. Для этого:
А с версии 1.2.0 компонент позволяет совмещать задания. Например, вам нужно распарсить RSS ленту и каждую запись выпилить с сайта полностью. Для этого:
- Создаётся пара заданий (первое — RSS, второе — HTML),
- Настраивается,
- Запускается.
[msOrderFiles] 1.1.0 - Загрузка файлов к заказу из фронт-энда
Компонент обрёл возможность загружать файлы из фронт-энда, как при оформлении заказа, так и для уже оформленных заказов. Файлы могут грузить и анонимы, и зарегистрированные пользователи.
Как известно, после оформления заказа анонимом, на указанный email при заказе создаётся пользователь. Так вот этот пользователь прикрепляется и к файлам, которые были загружены при оформлении заказа.
Как известно, после оформления заказа анонимом, на указанный email при заказе создаётся пользователь. Так вот этот пользователь прикрепляется и к файлам, которые были загружены при оформлении заказа.
[msPromoCode] Кейс. Вывод информации по промо-коду в письме
Часто слышу вопрос о выводе промо-кода и информации по скидке в письме пользователю/менеджеру. На самом деле такая возможность есть уже давно, хоть и не совсем явным образом бросается в глаза. Делается это в 2 простых шага, которые описаны ниже.
[msPromoCode] 1.3.4 - jQuery события в JS на фронт-энде
Продолжаем развивать компонент в сторону пользовательской кастомизации. В этом выпуске в JS файл на фронт-энде добавлены jQuery события:
- mspc_set — запустится при успешном/неуспешном применении купона,
- mspc_remove — запустится при отмене купона.
[PHP] Сравнение одинаковых чисел не работает?
Вопрос к знатокам. Скорее всего я, что-то упускаю из виду…
Под катом вопросы…
$var1 = floatval(995); // double 995
$var2 = floatval(19.9 * 50); // double 995
$var3 = floatval(1990 - floatval(19.9 * 50)); // double 995
$format = '%0' . "b\n";
printf($format, $var1); // 1111100011
printf($format, $var2); // 1111100010
printf($format, $var3); // 1111100011
print PHP_EOL . '===' . PHP_EOL;
print intval($var1 === $var2) . PHP_EOL; // false
print intval($var1 === $var3) . PHP_EOL; // false
print intval($var2 === $var3) . PHP_EOL; // false
print PHP_EOL . 'intval === intval' . PHP_EOL;
print intval(intval($var1) === intval($var2)) . PHP_EOL; // false
print intval(intval($var1) === intval($var3)) . PHP_EOL; // true
print intval(intval($var2) === intval($var3)) . PHP_EOL; // false
print PHP_EOL . 'round === round' . PHP_EOL;
print intval(round($var1, 2) === round($var2, 2)) . PHP_EOL; // true
print intval(round($var1, 2) === round($var3, 2)) . PHP_EOL; // true
print intval(round($var2, 2) === round($var3, 2)) . PHP_EOL; // true
Под катом вопросы…
[msPromoCode] 1.3.3 - Кастомизация скидки товара плагином
В новой версии пакета через плагины можно кастомизировать скидку на товары, которые применены к промо-коду. Если на примерах, то через события mspcOnBeforeSetProductDiscount и mspcOnSetProductDiscount можно:
- Увеличивать/применять скидку на товар в зависимости от кол-ва единиц товара в корзине,
- Давать скидку только на конкретную опцию товара, например на рубашку размера XXL,
- Получить итоговую стоимость товара, за вычетом скидки, равной скидке за одну единицу, вне зависимости от кол-ва единиц данной позиции в корзине,
- И много чего ещё, на что хватит вашей фантазии!
Создаём ZIP архив средствами MODX
Случается так, что на сайте надо запаковать какую-то папку, а по некоторым причинам сделать это невозможно затруднительно. Предлагаю вариант, который практически не требует ничего, кроме MODX и доступа в бек-энд.
В xPDO есть класс xPDOZip, который умеет запаковывать/распаковывать архивы. К сожалению, в самом MODX его функциональность задействована ровно наполовину — распаковать ZIP архив мы можем, а вот запаковать папку в архив не имеем возможности. Предлагаю решение!
В xPDO есть класс xPDOZip, который умеет запаковывать/распаковывать архивы. К сожалению, в самом MODX его функциональность задействована ровно наполовину — распаковать ZIP архив мы можем, а вот запаковать папку в архив не имеем возможности. Предлагаю решение!
[msPromoCode] 1.3.0 - Фиксированная скидка на всю корзину
В прошлых версиях (до 1.3.0) если указать скидку без процентов (например, 4000) на весь промо-код, то эта сумма отнимется от каждого товара. Это происходило, потому что промо-код применяется к каждому товару непосредственно. Не смотря на это, часто требуется дать скидку не процентную, а фиксированную сумму.
Встречайте версию 1.3.0 с возможностью создать промо-код, который будет применяться к целой корзине. В этом случае у нас пропадает возможность отметить товары/разделы, на которые действует скидка. Это и логично, т.к. целочисленная скидка отнимается от корзины. Теперь, если указать у такого типа промо-кода скидку без процентов, то от корзины отнимется именно эта сумма, вне зависимости от кол-ва товаров в корзине.
Встречайте версию 1.3.0 с возможностью создать промо-код, который будет применяться к целой корзине. В этом случае у нас пропадает возможность отметить товары/разделы, на которые действует скидка. Это и логично, т.к. целочисленная скидка отнимается от корзины. Теперь, если указать у такого типа промо-кода скидку без процентов, то от корзины отнимется именно эта сумма, вне зависимости от кол-ва товаров в корзине.