R2m0x94 (Vasily)

R2m0x94 (Vasily)

С нами с 07 мая 2018; Место в рейтинге пользователей: #313

Вывод модификаций msOptionsPrice2 в окне заказа minishop2, при добавлении товара.

Всем привет, столкнулся с задачей сделать выбор модификаций компонента msOptionsPrice2, при добавлении товара в заказ минишопа, в админке.
Vlad Brise
08 декабря 2018, 09:28
modx.pro
9
3 286
+6

Применение промокода к заказу в админке

Внимание! Это готовое решение. Для переноса не хватает рейтинга.
Всем привет. Была задача сделать применение промокода к заказу из админки, собственно, чего я и сделал и готов поделиться с сообществом готовым решением.

Версии компонентов, на которых тестировалось решение:
На более ранних версиях не тестировал. Если пробуете, то делайте на свой страх и риск.
miniShop2 2.4.15-pl
msPromocode 1.3.11-beta
Кирилл Киселев
19 октября 2018, 18:09
modx.pro
1
1 148
+2

[MIGX] - Большой и страшный. Знакомство.

Привет сообществу!

Представляю цикл уроков (да, это будет цикл уроков, потому как мало кому нравиться читать большие тексты) про компонент MIGX.

Внимание! Уберите от экранов детей, беременных женщин и разработчиков средней руки. Вам тут делать нечего!

Баха Волков
02 октября 2018, 10:21
modx.pro
45
17 309
+45

[tvSuperSelect] Кейс. Удобное указание опций для фильтрации в mFilter2


Часто интернет магазину требуется большое кол-во разделов каталога (500) и такое же большое кол-во опций (200). Заказчик хочет, чтобы:
— опции можно было легко выбирать при редактировании категории товаров,
— на фронте, если у категории не выбрано ни одной опции, брать эти опции из родительской категории, у которой они указаны.
С tvSuperSelect теперь сделать это не так уж сложно, как может показаться.
Павел Гвоздь
20 сентября 2018, 11:07
modx.pro
27
2 918
+18

Как вызвать mFilter2 через runSnippet с помощью API MODX ?

Здравствуйте, подскажите пожалуйста, я вызываю mFilter2 через MODX API, ну и к тому же это всё работает через ajax. То есть вот как всё происходит:
Есть ajax запрос:
$.ajax({
				type: "POST",
				url: 'assets/template/php/action.php',
				dataType: 'html',
				data:{"objectID":IdElem}, //Тут передаю ID ресурса на сервер
				success:function(msg) {
					$(".SectionContent").empty();
					$(".SectionContent").append(msg);
				}
			});
А на сервере вот такой обработчик:
define('MODX_API_MODE', true);
require_once($_SERVER['DOCUMENT_ROOT'].'/index.php');
$modx=new modX();
$modx->initialize('web');
/* include MODX_API END */
$IDResureses = $_POST["objectID"];
$parametrArray = array(
		'suggestions' => '',
		'class' => 'msProduct',
		'element' => 'msProducts',
		'limit' => '8',
		'sort' => 'ms_vendor|Id:asc',
		'parents' => $IDResureses,
		'tplOuter' => 'mSearch2_blockElement2',
		'tpls' => 'tpl.msProducts.row2',
		'includeTVs' => 'fileDowl,Proiz',
		'includeThumbs' => 'medium',
		'filters' => 'ms|vendor:vendors',
		'tplFilter.outer.ms|vendor' => 'tpl.mFilter2.filter.outerMain',
		'tplFilter.row.ms|vendor' => 'tpl.mFilter2.filter.checkboxMain',
		'ajaxMode' => 'button',
		'CurrentID' => $IDResureses, //Это я добавил параметр в mFilter2 в него передаю ID ресурса который пришел из ajax
		);
$output = $modx->runSnippet('mFilter2My',$parametrArray); //И сделал копию mFilter2 только с именем mFilter2My
$modx->getParser()->processElementTags('', $output, false, false, '[[', ']]', array(), 10);
$modx->getParser()->processElementTags('', $output, true, true, '[[', ']]', array(), 10);
$modx->log(1, print_r($output, 1));
echo $output;
Ну добавил в mFilter2 только по сути одно условие вот оно:
if (!empty($CurrentID)) {$modx->setPlaceholder('AjaxId',$CurrentID);}
И потом вот после того как php выполнился, получаю вот такую вот разметку, это код чанка 'tplOuter' => 'mSearch2_blockElement2', но соответственно вместо плейсхолдеров и всего остального я получаю html соответствующий:
<div class="msearch2" id="mse2_mfilter">
    <div class="row" id="filterBlock">
        <div class="col-md-12 main-filter-Config">
            <ul class="nav nav-pills nav-justified" id="myTab" role="tablist">
              <li class="nav-item checkElemBefore">
                <a class="witdhElement nav-link active" title="Фильтр по производителю" id="fabr-tab" data-toggle="tab" href="#fabr" role="tab" aria-controls="fabr" aria-selected="true">Производитель <span class="count-check-checkElem1 disNon">(<span class="elemcheck currentCheck-checkElem1"></span> из <span class="elemcheck allCheckbox-checkElem1"></span>)</span></a>
              </li>
            </ul>
            <div class="main-line-default"></div>
            <form action="[[+AjaxId]]" method="post" id="mse2_filters">
                <div class="resultQuery tab-content" id="pills-tabContent">
                    [[+filters]]
                </div>
                [[+filters:isnot=``:then=`
				<button type="reset" class="restartBtn btn btn-default hidden">[[%mse2_reset]]</button>
				<button type="submit" class="btn btn-success pull-right hidden">[[%mse2_submit]]</button>
				<div class="clearfix"></div>
			    `]]
            </form>
        </div>
    </div>
    <div class="informationBlock"></div>
    <div class="row gridElementShop">
        <div class="col-md-12 Arraycollection">
            <div id="mse2_results" class="contentBlock row">
                [[+results]]
            </div>
            <div id="pdopage" class="mse2_pagination">
    			[[!+page.nav]]
    		</div>
        </div>
    </div>
</div>
Вся вот эта разметка возвращается с сервера и я с помощью Jquery вставляю полученный html в блок
$(".SectionContent").empty();
$(".SectionContent").append(msg);
Но вот проблема в том, что фильтры теперь не работают после этого. Подскажите пожалуйста как сделать так что бы когда мы вызываем mFilter2 через ajax, и получаем html с фильтрами, сами фильтры работали?
Просто вот кстати что я заметил, когда я выбираю какой либо фильтр, после того как получил html и вставил его на страницу с помощью ajax. Сам Ajax запрос от mFilter2 отправляется и соответственно ответ получаю см. скриншот «ajax запрос», но он не вставляется на страницу и вот пагинация тоже, у меня стоит параметр 'ajaxMode' => 'button', а в итоге получаются пагинация цифрами, а должна быть кнопкой. Ну и в итоге данная проблема только когда я используя ajax и API MODX-а для вызова mFilter2. Когда он просто вызывается в ресурсе таким вот образом [[!mFilter2… ]] всё в порядке.
Подскажите пожалуйста что тут можно сделать, заранее благодарю за внимание и ответ.
Сергей Хлопов
30 июня 2018, 09:35
modx.pro
1
1 423
0

Вывод категорий с присоединением товара (вывод категории с изображением первого товара в ней)

Здравствуйте!
Прошу подсказать, где я ошибся:
Нужно вывести на главной странице сайта список подкатегорий товаров из заданной главной категории. В списке категория должна содержать Пункт меню и Изображение первого выбранного товара из этой категории. У подкаегорий могут быть дочерние подкатегории, то есть, глубина вложенности может быть разная. По сути, нужно решить старую задачу, которую разбирал Василий Наумкин вот тут https://bezumkin.ru/sections/tips_and_tricks/2058/.
Пытаюсь собрать результат вот так
Павел Мезенцев
27 мая 2018, 18:46
modx.pro
1
1 853
0

Изменяем форму заказа minishop2

За год работы с минишопом я понял одну вещь — никто не знает как просто и быстро кастомизировать стандартную форму заказов. Для меня это довольно частая задача, по этому соберу тут несколько приемов которыми сам пользуюсь:


Pavel Zarubin
22 апреля 2018, 02:16
modx.pro
97
12 463
+41

Хук Formit для обновления сохраненной формы и перемещения прикрепленного файла

Всем привет! Это первая моя статья, поэтому сильно не ругайте!
Столкнулся с задачей, в которой нужно реализовать отправку формы с прикрепленными файлами. При этом форма должна сохраняться в админке.

Для решения задачи были выбраны компоненты: Formit, AjaxForm.
Сразу скажу, что использую Fenom и все шаблоны, чанки, сниппеты и хуки у меня файловые. Благо Formit умеет работать с файловыми хуками.
Максим
20 февраля 2018, 08:39
modx.pro
14
3 306
+9

Плагин замены цены в зависимости от суммы заказа

Доброго всем дня.
Задача в следующем.
Дано 4 цены, первая розничная, остальные оптовые, меняются в зависимости от суммы заказа.
Плагин повешен на событие OnSHKcalcTotalPrice.
Проблема в том, что при работе плагина цена меняется корректно, а вот сумма заказа в плейсхолдер [[+price_total]] не выводится.
Дмитрий Литвинов
15 февраля 2018, 07:01
modx.pro
1
1 113
+1

Вывод кастомных полей ресурса в админке

Всем привет!
Хочу добавить пару полей в modResource, скажем, еще один заголовок и еще одно поле с контентом. Ну вот хочется мне :) Допустим, расширение стандартной модели я сделаю по заметке Василия. Но как быть с админкой? Я где-то видел хитрый плагин тут на сайте, который добавляет кастомный js к ресурсу, но уже два часа копаюсь и не могу найти. Может напомнит кто?
Дмитрий
02 февраля 2018, 11:43
modx.pro
4
1 812
0