Купчинский Михаил

Купчинский Михаил

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

Super MODx SEO-strict +ускоряем фронтенд

Михаил задал вопрос про канонизацию урлов в MODx.
Писал ему ответ, но понял, что он слишком большой. Поэтому переписал в статью.

Поехали.
Алексей Карташов
25 марта 2015, 14:29
modx.pro
70
16 700
+11

Изображения miniShop2 через mSearch

Доброго праздничного дня.
Ковыряю mSearch в связке с miniShop2. Поиск обрабатывается, вывел результаты на страницу, однако возникла проблема с выводом изображений из miniShop2. Т.е. thumb на страницу выплюнуть получилось, а вот 400х400, например, ни в какую.

Честно, покурил поиск, но в 4 утра мог и пропустить что-то. Гуглил. Форсировал разные вариации вызовов. Уверен, что все очень просто. Но не выводится произвольное изображение, как ни крути.

Взываю к коллективному разуму и отправляюсь спать. Заранее спасибо за ответы.
aj
aj
08 марта 2015, 00:55
modx.pro
5
2 366
0

TvTable - таблица

Добрый день! Понадобилась мне тут табличка в виде Тв-параметра, в которой можно менять не только кол-во строк, но и столбцов. Поэтому migx не подходит (
В общем, было найдено решение, но как оказалось оно для EVO =(



В итоге взяла его за основу и переписала.
yani
02 марта 2015, 08:34
modx.pro
39
16 380
+14

Новая Google reCAPTCHA(v2) для FormIt


Наткнулся на дополнение ReCaptchaV2, позволяющее добавить новую капчу в FormIt.
Игорь Терентьев
25 февраля 2015, 05:13
modx.pro
36
29 517
+9

Как закрыть модальное окно после отправки AjaxForm

Как закрыть модальное окно после отправки AjaxForm?
Сделал окно poli-dent.net/implantation.html внизу страницы запись на прием.
Письма уходят, но окно висит пока его руками не закроешь. Можно сделать так чтобы оно само закрывалось после удачной отправки письма?
Семен Морозов
24 февраля 2015, 12:59
modx.pro
4
17 304
0

Вывод значений в tv список (одиночной выборки)

День добрый сообщество, есть вызов сниппета… выводит список Агентов вот наглядный пример… тут!
код вызова все работает ок!
[[!getImageList?
  &tvname=`agenti`
  &tpl=`agentiTpl`
  &docid=`[[+id]]`
  &limit=`6`
]]

Дмитрий Середюк
23 февраля 2015, 09:04
modx.pro
1
4 080
0

[mSearch2] Поиск в найденном. Реализация

Поиск в найденном — удобный механизм последовательного органичения поисковой информации. Многие помнят, что до лета 2014 у Яндекса была такая замечательная возможность. И сколько шума на форумах было, когда её убрали.
На mSearch2 можно достаточно легко реализовать такую возможность. Нужны всего лишь сам mSearch2 и бутылочка пива. Открываем и то и другое, и поехали.
1. Первым делом добавляем в форму чанка tpl.mSearch2.form чекбокс.
<input type="checkbox" value="1" name="sinf" id="sinf" /> Искать в найденном
Получается, например, вот так

Вот и все. Отмечаем галочку и ищем. :)
Сергей Шлоков
18 февраля 2015, 15:45
modx.pro
10
1 699
+9

Алфавитный рубрикатор для ресурсов Modx Revo.

Результат работы тут: lab.nikann.ru/catalog#abc
За основу был взят: modx.ws/urok-modx-ajax-zagruzka-resursov
G@G
G@G
18 февраля 2015, 09:40
modx.pro
26
4 386
+5

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

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

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

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

Чанк Купить 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 589
+2

[update] Общая база товаров для разных контекстов

Очень долго не получалось заставить работать товары minishop2 на других контекстах, с выводом через сниппет нет проблем, а вот с ссылками и корзиной беда.
Использовал sendForward, с ним куча гемороя, но случайно наткнулся на вот это:
$modx->resource = $modx->getObject('modResource', $id);
$modx->request->prepareResponse();
exit();
but1head
17 февраля 2015, 12:45
modx.pro
26
4 962
+3