but1head

but1head

С нами с 01 апреля 2014; Место в рейтинге пользователей: #19

Динамическая кнопка Купить / В корзине

Появилась необходимость реализовать динамическую кнопку Купить / В корзине.

Может кому-то пригодится.

Спасибо Алексею Наумову, Василию Наумкину за помощь в реализации.

Чанк Купить 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]]`]]
Klike
17 февраля 2015, 13:36
modx.pro
40
5 581
+2

как пересохранить 2000 ресурсов ?

Доброго дня, суть вопроса в том как я могу программно пересохранить 2000 ресурсов, понадобилось добавить еще одно поле в которое должно подтягиваться значение ответа от сервера яндекса, но плагин записывает значение при сохранении ресурса, заранее спасибо
Сергей Скат
22 января 2015, 10:12
modx.pro
6
3 264
0

Сниппет Declension для склонения слов

Предлагаю вашему вниманию небольшой сниппет для вывода склонения. Работает как фильтр вывода, использовать нужно примерно так:
[[+balls]] [[+balls:declension=`балл,балла,баллов`]]

Как видите, он применяется к любым тегам с числами, а в options нужно указать три формы слова (1 яблоко, 2 яблока и 10 яблок) для русского, или 2 (1 ticket, 2 tickets) для английского.

Для экспериментов можно повызывать сниппет с произвольными числами:
15 [[*id:input=`15`:declension=`яблоко,яблока,яблок`]]
Полный код под катом.
Василий Наумкин
22 января 2015, 06:44
modx.pro
28
7 340
+15

Как организовать подобный выбор размера и цвета?

Как организовать подобный выбор размера и цвета?
www.vsemayki.ru/product/manshort/430736
Илья
16 января 2015, 11:53
modx.pro
11
3 344
+2

Как узнать, какие переменные передаются в плагин

Доброго времени суток. Понадобилось сделать свое определенное действие при активации пользователя на сайте, и вот уже достаточно долгое время пытаюсь понять, как работать с данными которые передаются в плагин. Например узнать id того же пользователя что был активирован. Спасибо.
Николай
06 ноября 2014, 12:35
modx.pro
2
1 398
0

[ms2gallery] Источник файлов для разных шаблонов

Небольшой плагин, позволяющий автоматически установить нужный источник файлов при создании ресурса с использованием дополнения ms2gallery.
Наумов Алексей
04 сентября 2014, 09:51
modx.pro
30
4 263
+5

SEO ПАК

Привет.

Искал везде про сео модов для MODX Revolution но подходящих не нашел!

Ест не много плагинов для сео некоторие уже старые, не рабочие или до конца не доделаны.

Самые нужные плагины (По моему мнению):

1) Seo strict urls (Обрабатывать неверные URL ЧПУ)
2) Модуль кольцевой внутренней перелинковки (Link Enso)
3) Оптимизация Title, мета-тегов и других элементов (Simple SEO)
4) Кросспостинг (SMOmanager )
5) SEO оптимизация категорий (CatFace)

Давайте устроим складчину на этих модов пуст программисты оценят объём работы.

ТЗ ест уже по примерам DLE.

Если упустил чего то добавте.
TITAN-UZ
23 августа 2014, 14:40
modx.pro
12
5 333
+4

[Решено] Геокодирование и запись в базу

Назрел вопрос, по поводу геокидирования яндекс карт.
Есть проект в котором в ресурсах есть яндекс карта (mapex).
Логика такая: в ресурсе указывается адрес, он находится и ставится метка, после чего через модифицированный pdoField вытаскивается pagetitle, introtext, uri и координаты из mapex. На странице с картой выводятся все ресурсы с наличием координат, добавляются в группы и кластеризуются.

Проблема
but1head
11 июля 2014, 19:52
modx.pro
5
3 654
0

MODX_API_MODE и процессоры

В рамках выполнения одной хитрой задачи, потребовалось написать скрипт, который будет запускаться по cron и что-то делать с MODX.

Проблемы, в общем то нет, вопрос изучен, но выплыл интересный глюк.
А именно: не работали процессоры для создания/обновления ресурсов.

То есть, процессор для логина — нормально, контекст mgr — нормально, а при попытке создать ресурс — просто пустая error.
Выложил вопрос на официальном форуме и никто мне не ответил. Пришлось разбираться самостоятельно, глубоко копая исходники.
Василий Наумкин
08 сентября 2012, 04:23
modx.pro
26
10 932
0

Как работать с MODX Api

Регулярно встречаю в сети разные велосипеды про то, как подключиться к MODX снаружи для работы с его Api. Даже на официальном сайте это описано сложновато.
Василий Наумкин
26 июня 2012, 13:55
modx.pro
27
20 722
0