Денис Усачев
С нами с 26 июля 2016; Место в рейтинге пользователей: #823Ссылка на 2-ое изображение при выводе категории
Здравствуйте. Так как msProducts не позволяет присоединить к выборке 2-ое изображение товара, написал самый настоящий костыль для получения url 2-го изображения по id, потому что не знаю как это сделать через API MODX. Может ли кто-нибудь написать грамотную альтернативу моему решению?
$imagesString = $modx->runSnippet('msGallery', array('product'=>$id,'limit'=>2,'tplOuter'=>'@INLINE [[+rows]]','tplRow'=>'@INLINE [[+url]],'));
$rows = explode(',',$imagesString);
if(count($rows)>2)
{
return trim($rows[1]);
}
else if(count($rows)>1)
{
return $rows[0];
}
else
{
return '/assets/components/minishop2/img/web/ms2_big.png';
}
Бесплатная доставка курьером от определенной суммы
Здравствуйте. Пожалуйста, подскажите как реализовать данный функционал:
например, до 5000 тысяч доставка 300 рублей, от 5000 тысяч – бесплатно?
joxi.ru/zAN5Mxls156329
например, до 5000 тысяч доставка 300 рублей, от 5000 тысяч – бесплатно?
joxi.ru/zAN5Mxls156329
Как удалить ресурс, минуя корзину?
Требуется в modx revo с minishop2 ввести кнопку «Удалить сразу».
При нажатии на неё ресурс должен удаляться сразу же и безвозвратно, миную корзину.
Как реализовать, кто подскажет?
При нажатии на неё ресурс должен удаляться сразу же и безвозвратно, миную корзину.
Как реализовать, кто подскажет?
Ссылка на logout пользователя
Всем привет!
Есть интернет-магаз, авторизация осуществляется компонентом Office. А как создать ссылку на logout? Вообще, существуют какие либо простые способы создания таковой ссылки, или надо ставить Login для этих целей?
Есть интернет-магаз, авторизация осуществляется компонентом Office. А как создать ссылку на logout? Вообще, существуют какие либо простые способы создания таковой ссылки, или надо ставить Login для этих целей?
Super MODx SEO-strict +ускоряем фронтенд
Михаил задал вопрос про канонизацию урлов в MODx.
Писал ему ответ, но понял, что он слишком большой. Поэтому переписал в статью.
Поехали.
Писал ему ответ, но понял, что он слишком большой. Поэтому переписал в статью.
Поехали.
Новая Google reCAPTCHA(v2) для FormIt
Наткнулся на дополнение ReCaptchaV2, позволяющее добавить новую капчу в FormIt.
Динамическая кнопка Купить / В корзине
Появилась необходимость реализовать динамическую кнопку Купить / В корзине.
Может кому-то пригодится.
Спасибо Алексею Наумову, Василию Наумкину за помощь в реализации.
Чанк Купить 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]]`]]
Динамическое обновление основной корзины
У MS2 есть хорошая вещь как возможность расширения класса msCartHandler. Все обновленные данные берутся $miniShop2->cart->status() и отсюда следует что нужно в этот массив данных дописать нужные нам данные, а именно список товаров которые попадут в [[+goods]]
И так начнем «колдовать»!
И так начнем «колдовать»!
Набор параметров для pdoPage в mFilter2
Приветствую!
Подскажите, как в вызове mFilter2 указать набор параметров для pdoPage, чтобы отказаться от @INLINE шаблонов?
Подскажите, как в вызове mFilter2 указать набор параметров для pdoPage, чтобы отказаться от @INLINE шаблонов?