Павел Гвоздь

Павел Гвоздь

С нами с 31 мая 2015; Место в рейтинге пользователей: #3

[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

Под катом вопросы…
Павел Гвоздь
20 декабря 2016, 11:11
modx.pro
3 575
+1

[msPromoCode] 1.3.3 - Кастомизация скидки товара плагином


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

  • Увеличивать/применять скидку на товар в зависимости от кол-ва единиц товара в корзине,
  • Давать скидку только на конкретную опцию товара, например на рубашку размера XXL,
  • Получить итоговую стоимость товара, за вычетом скидки, равной скидке за одну единицу, вне зависимости от кол-ва единиц данной позиции в корзине,
  • И много чего ещё, на что хватит вашей фантазии!
Павел Гвоздь
15 декабря 2016, 21:56
modx.pro
6
2 020
+14

Создаём ZIP архив средствами MODX

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

В xPDO есть класс xPDOZip, который умеет запаковывать/распаковывать архивы. К сожалению, в самом MODX его функциональность задействована ровно наполовину — распаковать ZIP архив мы можем, а вот запаковать папку в архив не имеем возможности. Предлагаю решение!
Павел Гвоздь
13 декабря 2016, 01:00
modx.pro
17
5 809
+13

[msPromoCode] 1.3.0 - Фиксированная скидка на всю корзину

В прошлых версиях (до 1.3.0) если указать скидку без процентов (например, 4000) на весь промо-код, то эта сумма отнимется от каждого товара. Это происходило, потому что промо-код применяется к каждому товару непосредственно. Не смотря на это, часто требуется дать скидку не процентную, а фиксированную сумму.


Встречайте версию 1.3.0 с возможностью создать промо-код, который будет применяться к целой корзине. В этом случае у нас пропадает возможность отметить товары/разделы, на которые действует скидка. Это и логично, т.к. целочисленная скидка отнимается от корзины. Теперь, если указать у такого типа промо-кода скидку без процентов, то от корзины отнимется именно эта сумма, вне зависимости от кол-ва товаров в корзине.
Павел Гвоздь
04 декабря 2016, 10:50
modx.pro
2 089
+10

[xParser] Парсер RSS лент

Парсер контента RSS лент, с возможностью скачивания медиа-контента на сайт.

При добавлении полей ленты, которые надо парсить, вместо названия поля (title или enclosure[url]) можно указать @INLINE чанк, который будет обработан Fenom. Благодаря этому, в этих полях можно выстраивать совершенно любую логику, вплоть до создания новых разделов «на ходу».
Павел Гвоздь
30 ноября 2016, 23:15
modx.pro
8
11 780
+26

[CurrencyCalc] Калькулятор валют


Парсер и конвертер курсов валют.

  • Выбор источника парсинга: ЦБ РФ, НацБанк Казахстана или YahooApis.
  • Источники ЦБ РФ и НацБанк Казахстана написаны таким образом, что рубль/тенге не является обязательной валютой, скрипт конвертирует любую, существующую в списке, валюту.
  • YahooApis обновляет данные в реальном времени. Также там есть курс биткоин.
  • Возможность вывести список валют в виде калькулятора.
  • Возможность обновлять, как вручную пачкой/единично, так и cron скриптом, хоть раз в минуту.
Демо сайт
Павел Гвоздь
30 ноября 2016, 23:11
modx.pro
5
4 061
+13

С 20 октября по 3 ноября -30% на пакеты Гвоздя



Время от времени в сообществе проскакивают радостные вести о скидках в магазине дополнений modstore.pro. Решил и я порадовать сообщество. У меня тут есть 5 пакетов, которые с 20 октября по 3 ноября будут с 30% скидкой. Торопитесь приобрести!

  • msPromoCode — Скидочные промо-коды для miniShop2.
  • imgArea — Удобная визуальная расстановка областей (map, area) на изображениях.
  • msKuponator — Пакет реализует сайт-купонатор на miniShop2.
  • msDeliveryOnMap — Выбор адреса и подсчёт стоимости доставки одним кликом по карте.
  • msOrderFiles — Пакет для прикрепления файлов к заказу ms2.
За красивое изображение спасибо modstore.pro!
Павел Гвоздь
20 октября 2016, 07:51
modx.pro
1 464
+16

[ExtJS] Расширяем компонент Collections



Часто ли вам приходится расширять какие-то стандартные штуки в MODX или в компонентах для него? Мне вот часто! Поэтому, давно хотелось поделиться чем-нибудь интересным на этот счёт, что я собственно и сделал в статье Дополнительные поля профиля юзера, где описал, как можно расширить профиль юзера, чтобы всё выглядело натурально. На этот раз расскажу, как можно расширять компонент Collections, не прибегая к крайним мерам, вроде правки исходников приложения.
Павел Гвоздь
27 сентября 2016, 21:34
modx.pro
31
5 479
+19

[msOrderFiles] Файлы к заказам miniShop2


Небольшой компонент, предназначенный для прикрепления файлов к заказу miniShop2. Нет ни сниппетов, ни чанков, ни отдельной страницы компонента. Есть только вкладка, встроенная в окошко редактирования заказа miniShop2, и свой Источник файлов.

За идею компонента спасибо Михаилу Воеводскому!
Павел Гвоздь
08 сентября 2016, 21:16
modx.pro
1
6 809
+6

[Compiler] Компиляция SCSS файлов в бекенде


Пакет компилирует SCSS в CSS код при сохранении файла в бек-энде MODX.
Пока умеет работать только с SCSS файлами, но т.к. написан на основе Munee, то в будущем будет расширен до всех возможностей оной (кроме изображений).
Павел Гвоздь
19 августа 2016, 07:15
modx.pro
7
8 301
+14