
Евгений Пашков
С нами с 04 июля 2013; Место в рейтинге пользователей: #592RESTful API - быстрый старт.
Статья — продолжение цикла, рассматривающего создание REST API для MODX со всех сторон.
Часть первая — введение
Рассмотрим как работает встроенный в MODX модуль для RESTful API, настроим первое подключение, разберем базовые моменты.
Часть первая — введение
Рассмотрим как работает встроенный в MODX модуль для RESTful API, настроим первое подключение, разберем базовые моменты.
Вывод карточек товара магазина в статьях на сайте
Несколько недель назад от заказчика поступила такая хотелка — надо чтоб в статьи блога на сайте магазина можно было бы вставлять карточки товаров этого самого магазина. Обдумывал разные варианты, но в итоге, совместно с чатиком в телеграме пришел к такому решению:
- В статье в нужном месте менеджер делает конструкцию такого вида: %%34,45,54%%, где 34,45 и 54 — айди товаров в магазине, таких вхождений может быть хоть сколько в статье.
- На событие onWebPagePrerender вешается плагин, который с помощью регулярки выбирает все вхождения нашего паттерна, для каждого вхождения вызывает сниппет msProducts и последним шагом заменяет в контенте страницы паттерны соответствующими результатами сниппета.
Программно изменяем значение у пользователей, с условиями
Решил поделиться одним готовым решением. Лично мне, нужно нескольким тысячам юзеров в разных группах, раздать разные значения потраченных денег на покупки (эдакий перенос со старого сайта). Но если кто не понял, то давайте просто представим, что нам нужно изменить некоторые данные у пользователей, которые находятся в определенной группе. Казалось бы все просто. Нам нужно указать id определенной группы, вытащить из неё всех пользователей и изменить им нужные нам данные. Для многих программистов давно работающих с MODX, это дело 5-ти минут. У меня же это заняло около двух часов. В итоге решил, разу уж написал решение, нужно как обычно поделиться, мало ли кому-нибудь, когда-нибудь это понадобится. Ну или вон, Николай спарсит на модкс-клаб (шутка). =)
Отправка Email о регистрации при оформлении заказа в miniShop2
Буквально на днях я столкнулся с вопросом, о котором как то не задумывался.
При оформлении заказа в minishop2 создается пользователь, но сам пользователь о собственной регистрации ничего не знает.
Как отправить пользователю письмо, с первоначальными регистрационными данными (логин, пароль)?
Стандартный комплект методов нашего любимого интернет-магазина такого не предусматривает. А значит руки в плечи и пишем плагин.
При оформлении заказа в minishop2 создается пользователь, но сам пользователь о собственной регистрации ничего не знает.
Как отправить пользователю письмо, с первоначальными регистрационными данными (логин, пароль)?
Стандартный комплект методов нашего любимого интернет-магазина такого не предусматривает. А значит руки в плечи и пишем плагин.
Устраняем последствия автоматических регистраций
Столкнулся с проблемой автоматической регистрации на сайте. На данный момент порядка 15000 левых аккаунтов которые висят мертвым грузом. Василий вскоре обещал обновление с защитой от автоматических регистраций, а мы пока разберемся как удалить неактивных пользователей без заказа магазина. Под катом код для этого.
Редирект на свою страницу после оформления заказа
Для Minishop2 версий >= 2.4.* Думаю, информация будет полезна начинающим разработчикам: можно на простой задаче заодно и немного разобраться в логике работы магазина.
Импорт свойств в Minishop2 версий 2.4.* из CSV
Возникла сейчас необходимость импортировать товары для текущей версии MS2.
Попробовал штатный скрипт импорта из CSV, оказалось, что свойства товаров (созданные не плагином) не обрабатываются.
Возможно кому-то пригодиться данное простенькое решение.
Попробовал штатный скрипт импорта из CSV, оказалось, что свойства товаров (созданные не плагином) не обрабатываются.
Возможно кому-то пригодиться данное простенькое решение.
Меня взломали и не знаю как бороться с вулканом
MOD`x Revo
Здравствуйте! У меня проблема, хостинг на котором лежит мой сайт взолмали и внедрили вредоносный код, который я обнаружил спустя пол года. Код я нашёл и всё почистил, к сожалению я не могу его продемонстрировать, так как удалил и думал всё пройдёт бесследно, но не тут-то было :) За это время пока на сайте был код, который кстате говоря генерил страницы через мой сайт типа:
Здравствуйте! У меня проблема, хостинг на котором лежит мой сайт взолмали и внедрили вредоносный код, который я обнаружил спустя пол года. Код я нашёл и всё почистил, к сожалению я не могу его продемонстрировать, так как удалил и думал всё пройдёт бесследно, но не тут-то было :) За это время пока на сайте был код, который кстате говоря генерил страницы через мой сайт типа:
сайт/?page=Avtomati-vulkan--na-realnie-
Соответственно сайт набрал больше 30 тыс внешни ссылок с игровыми автоматами и прочим, я пытался писать и в яндекс и в гугл чтоб они это у себя почистили, но мне на отрез отказали, мол не могут они этим управлять, и я решил подождать, жду уже месяца 3-4 но внешние ссылки очень медленно уменьшаются, да и нет нет кто-то заходит по подобным ссылкам. Закалка MODX Revolution (перевод)
Своего писать я пока сомневаюсь, уровень не тот, а вот перевести полезную статью с официальной документации — это с удовольствием. Перевод местами может показаться несколько вольным, что касается формулировок, — иначе переводить скучно. Но в том, что касается технических деталей, старался быть дотошно точным. Так что, если найдёте технические неточности — ругайтесь в комментах. А на филологию прошу не жаловаться:) И тем более на идеологические расхождения с Вашим мировоззрением — тут все вопросы к авторам доков. Паранойи и почвы для громких споров среди «экспертов по безопасности» в статье предостаточно. Помни, о читатель, всё это касается в первую очередь важных и заметных проектов.
Добро пожаловать под кат.
Добро пожаловать под кат.
Кастомный класс доставки. Бесплатно дост. от суммы
Имеется кастомный класс доставки:
Пример, Товар стоимостью 3500р (розничная цена), 3300р (оптовая).
Добавляем 3 наименования.
ИТОГ: в корзине 9900р, доставка бесплатная (по обычной цене сумма получилась 10500)
ВОПРОС: Подскажите, пожалуйста, как сделать, чтобы доставка всегда считалась по оптовой цене?
<?php
class msxxxDeliveryHandler extends msDeliveryHandler{
public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
$cart = $this->ms2->cart->status();
$total = $_SESSION['minishop2']['mode_total'];
if ($total<10000) {
$add_price = $delivery->get('price');
if (preg_match('/%$/', $add_price)) {
$add_price = str_replace('%', '', $add_price);
$add_price = $cost / 100 * $add_price;
}
$cost += $add_price;
}
return $cost;
}
}
При достижении суммы корзины свыше 10000, страница обновляется и вся корзина пересчитывается по оптовым ценам. Доставка становится бесплатной (по условию, свыше 10000, доставка бесплатная ). Пример, Товар стоимостью 3500р (розничная цена), 3300р (оптовая).
Добавляем 3 наименования.
ИТОГ: в корзине 9900р, доставка бесплатная (по обычной цене сумма получилась 10500)
ВОПРОС: Подскажите, пожалуйста, как сделать, чтобы доставка всегда считалась по оптовой цене?