Евгений Шеронов
С нами с 20 мая 2015; Место в рейтинге пользователей: #30Как сгенерировать алиас с помощью Translit?
Доставка цифрового товара на E-mail покупателю
Добрый день! Есть цифровой товар — мастер-классы. Нужно реализовать возможность после оплаты выслать клиентам на e-mail ссылку на просмотр или скачивание. Именно выслать на e-mail, который указывается при заказе, а не давать доступ к какой-либо странице на сайте для авторизованного пользователя. После оформления заказа и при смене статуса заказа на «Оплачено», покупателю сразу же уходило письмо с благодарностью и ссылкой (ссылками) на приобретенные товары. Сами ссылки предполагаю, что можно сделать в виде TV полей к товарам minishop2.
И ещё не могу убрать из корзины почтовый адрес для доставки. В настройках указываю, какие поля мне нужны, а всё равно выходят все, что есть по умолчанию.
Помогите пожалуйста с задачей.
Может это можно в отдельный модуль вывести типа, например, модуль продажи инфопродуктов.
Готов заплатить за реализацию или отблагодарить за помощь.
И ещё не могу убрать из корзины почтовый адрес для доставки. В настройках указываю, какие поля мне нужны, а всё равно выходят все, что есть по умолчанию.
Помогите пожалуйста с задачей.
Может это можно в отдельный модуль вывести типа, например, модуль продажи инфопродуктов.
Готов заплатить за реализацию или отблагодарить за помощь.
Старт грамотной разработки под MODX
Всем привет!
Хоть с MODX знаком с незапамятных времен и сделано на нем много сайтов, до сего момента серьезной разработкой под него не заморачивался (так, велосипедил и говнокодил, если была сильная нужда). Сейчас хочется разобраться в вопросе серьезно.
Какие использовать инструменты для разработки? Как связать IDE и MODX, чтобы среда разработки понимала, что это за ересь я там пишу и что за такие объекты использую? Как отлавливать баги? Как просматривать результат своего труда?
Расскажите пожалуйста, какие конфигурации вы используете в работе.
Всем заранее спасибо!
Хоть с MODX знаком с незапамятных времен и сделано на нем много сайтов, до сего момента серьезной разработкой под него не заморачивался (так, велосипедил и говнокодил, если была сильная нужда). Сейчас хочется разобраться в вопросе серьезно.
Какие использовать инструменты для разработки? Как связать IDE и MODX, чтобы среда разработки понимала, что это за ересь я там пишу и что за такие объекты использую? Как отлавливать баги? Как просматривать результат своего труда?
Расскажите пожалуйста, какие конфигурации вы используете в работе.
Всем заранее спасибо!
ms2Gallery и Selectel Cloud Storage
Предлагаю вам пошаговую инструкцию в картинках, как настроить ms2Gallery для работы с удалёнными файлами на Selectel Cloud Storage.
Если вы не знаете, что это и зачем нужно — советую прочесть заметку на хабре. В двух словах: картинки быстрее грузятся клиенту и не занимают лишнего места на сервере хостинга. Сразу скажу, инструкция простейшая, как 3 копейки — это вам не монструозный Amazon S3.
Если вы не знаете, что это и зачем нужно — советую прочесть заметку на хабре. В двух словах: картинки быстрее грузятся клиенту и не занимают лишнего места на сервере хостинга. Сразу скажу, инструкция простейшая, как 3 копейки — это вам не монструозный Amazon S3.
Super MODx SEO-strict +ускоряем фронтенд
Михаил задал вопрос про канонизацию урлов в MODx.
Писал ему ответ, но понял, что он слишком большой. Поэтому переписал в статью.
Поехали.
Писал ему ответ, но понял, что он слишком большой. Поэтому переписал в статью.
Поехали.
Убрать часть Url
Приветствую! На сайте использую minishop2. Чтобы не засорять дерево ресурсов, создал категорию товаров Shop, в ней подкатегории товаров. Страница Shop не нужна, и не нужно, чтобы она была в url. Как от нее избавиться? Юзал компонент CustomUrls, работает, но при выводе, к примеру, меню, в url соответственно shop присутствует.
Спасибо
Спасибо
Вопрос по mFilter2. Фильтрация кастомных таблиц
Не получается подключить фильтрацию ресурсов из своих обьектов. Везде в документации используются либо modResource, либо msProducts, вкупе с miniShop. Мне нужно всего навсего подключить фильтрацию по своему полю своих xpdo обьектов.
Динамическая кнопка Купить / В корзине
Появилась необходимость реализовать динамическую кнопку Купить / В корзине.
Может кому-то пригодится.
Спасибо Алексею Наумову, Василию Наумкину за помощь в реализации.
Чанк Купить tplOut:
Чанк В корзине tplIn:
Скрипт (требуется подключенный jQuery)
Сниппет myButton:
Кнопка вызывается таким образом:
Может кому-то пригодится.
Спасибо Алексею Наумову, Василию Наумкину за помощь в реализации.
Чанк Купить tplOut:
<button type="submit" class="btn btn-cart btn-primary" name="ms2_action" value="cart/add">
Купить
</button>
<button type="submit" class="btn btn-checkout btn-success hidden" name="ms2_action" value="cart/add">
В корзине
</button>
Чанк В корзине tplIn:
<button type="submit" class="btn btn-checkout btn-success" name="ms2_action" value="cart/add">
В корзине
</button>
Скрипт (требуется подключенный jQuery)
if (typeof(miniShop2) != 'undefined') {
// кнопки В корзину/Оформить
miniShop2.Callbacks.Cart.add.response.success = function(response) {
miniShop2.Order.getcost();
miniShop2.sendData.$form.find('.btn-cart').addClass('hidden');
miniShop2.sendData.$form.find('.btn-checkout').removeClass('hidden');
};
miniShop2.Callbacks.Cart.remove.response.success = function() {
miniShop2.sendData.$form.find('.btn-cart').removeClass('hidden');
miniShop2.sendData.$form.find('.btn-checkout').addClass('hidden');
};
}
Сниппет myButton:
<?php
// Параметры
$idd = $modx->getOption('idd', $scriptProperties, $modx->resource->id);
$tplIn = $modx->getOption('tplIn', $scriptProperties, 'tplIn'); //Можно писать так: ('tplIn', $scriptProperties, '@INLINE Товар в корзине, кол-во – [[+count]], цена = [[+price]].');
$tplOut = $modx->getOption('tplOut', $scriptProperties, 'tplOut'); // '@INLINE Товара нет в корзине.'
// Классы для работы
$pdo = $modx->getService('pdoTools');
$miniShop2 = $modx->getService('minishop2');
$miniShop2->initialize($modx->context->key, $scriptProperties);
$cart = $miniShop2->cart->get();
// Поехали
$found = false;
foreach($cart as $product) {
if ($product['id'] == $idd) {
$found = $product;
break;
}
}
return $found
? $pdo->getChunk($tplIn, $found)
: $pdo->getChunk($tplOut);
Кнопка вызывается таким образом:
[[!myButton? &idd=`[[+id]]`]]
Вывод наименьшей цены из списка товаров в категори
Здравствуйте.
Уже вхожу в тотальный затуп, но так и не получается реализовать в minishop2 вышеозвученную задачу.
Уже вхожу в тотальный затуп, но так и не получается реализовать в minishop2 вышеозвученную задачу.
Сниппет Declension для склонения слов
Предлагаю вашему вниманию небольшой сниппет для вывода склонения. Работает как фильтр вывода, использовать нужно примерно так:
Как видите, он применяется к любым тегам с числами, а в options нужно указать три формы слова (1 яблоко, 2 яблока и 10 яблок) для русского, или 2 (1 ticket, 2 tickets) для английского.
Для экспериментов можно повызывать сниппет с произвольными числами:
[[+balls]] [[+balls:declension=`балл,балла,баллов`]]
Как видите, он применяется к любым тегам с числами, а в options нужно указать три формы слова (1 яблоко, 2 яблока и 10 яблок) для русского, или 2 (1 ticket, 2 tickets) для английского.
Для экспериментов можно повызывать сниппет с произвольными числами:
15 [[*id:input=`15`:declension=`яблоко,яблока,яблок`]]
Полный код под катом.