Андрей Шевяков

Андрей Шевяков

С нами с 28 сентября 2016; Место в рейтинге пользователей: #108

[DoubleCheck] - Поиск и исправление дублей

И снова всем привет! Эта заметка будет еще короче предыдущей :). В общем все мы знаем и по своему боремся с проблемой после парсинга и/или импорта из говноисточников дублей товаров, компонент ищет дубли по названию товаров (pagetitle) и удаляет эти дубли. Но не просто удаляет, первому вхождению он дает все виртуальные категории удаленных товаров (проще говоря отмечает категории на вкладке товара «Категории»).



Pavel Zarubin
03 декабря 2019, 20:37
modx.pro
3
2 044
+17

[msPromoCode2] Кейс. Установка промо-кода программно при входе на сайт


Мало кто знает, что msPromoCode2 можно использовать и как компонент для скидок на товары, без обязательного ввода промо-кода юзером. Всего лишь нужно написать маленький плагин, взаимодействующий с программным API. В этом посте предлагаю данный кейс.

К сожалению, никак не успеваю пополнить раздел API, пусть этот пост станет началом!
Павел Гвоздь
03 декабря 2019, 08:21
modx.pro
5
930
+12

Плюс и минус в каунте корзины MS2

Досточно простой вопрос, который мучает начинающих разработчиков. Решил поделиться решением, как сделать кнопки плюс и минус в корзине MS2. Что бы все было «по-фуншую»

Начнем c разметки. Я показываю на страндартной теме MS2. Вносим правки в чанк tpl.msCart

...
<td class="count">
<form method="post" class="ms2_form" role="form">
  <input type="hidden" name="key" value="{$product.key}"/>
  <div class="form-group">
    <div class="input-group input-group-sm qty">
      <span class="input-group-prepend">
      <span class="input-group-text minus input_count_action">-</span>
      </span>
      <input type="number" name="count" value="{$product.count}" class="form-control"/>
      <span class="input-group-append">
      <span class="input-group-text plus input_count_action">+</span>
      <span class="input-group-text">{'ms2_frontend_count_unit' | lexicon}</span>
      </span>
    </div>
      <button class="btn btn-sm" type="submit" name="ms2_action" value="cart/change">
      ↻</button>
  </div>
</form>
</td>
...
Олег Щавелев
02 декабря 2019, 02:08
modx.pro
14
2 845
+8

Formit/AjaxForm

Добрый вечер, подскажите.
Есть стандартная форма на ajax с прикреплением файла
<label for="contact_attachment">Прикрепить файл </label>
<input type="file" name="contact_attachment" value="[[!+fi.contact_attachment]]" />
все работает хорошо, все приходит.
Вопрос в том что нужно сделать что бы прикрепить файл можно было только с определенным расширением? Например только картинки: *.jpg,*.png,
Vladislav
26 ноября 2019, 14:04
modx.pro
1
748
0

Как можно быстро удалить несколько десятков тысяч товаров?

Нужно перезалить товары магазина, а для этого нужно очистить предыдущие товары в категориях от существующих, но при попытке удалить категорию вместе с товарами ничего не происходит и через batcher по 20 товаров несколько десятков тысяч нет смысла удалять.
Можно ли быстро удалить все товары на сайте без переустановки modx?
Марк
26 ноября 2019, 12:06
modx.pro
2
893
0

Как добавить JS скрипт ниже скрипта MS2 default.js

Подскажите пожалуйста.

Мне нужно вставить свой скрипт ниже script type=«text/javascript» src="/assets/components/minishop2/js/web/default.js?v=d62e73368c">

Как это сделать.
Олег Щавелев
26 ноября 2019, 11:46
modx.pro
1
839
0

Как добавить поле в MS2 опции msoption

Итак после не удачного опыта во вкладке «Производитель товаров» решил попробовать разобраться во вкладке «Опции» и как говориться первый блин комом.

1. Добавим плагин для того что бы подключить наш файлик ExtJS (у меня их много поэтому я предлагаю такую схему.

<?php
switch ($modx->event->name) {
    case 'msOnManagerCustomCssJs':
        switch ($page) {
            case 'orders':
            $modx->controller->addLastJavascript(MODX_ASSETS_URL . 'components/minishop2/custom/addjsms2.js');
            break;
            case 'settings':
            $modx->controller->addLastJavascript(MODX_ASSETS_URL . 'components/minishop2/custom/addjsms2vendor.js');
            $modx->controller->addLastJavascript(MODX_ASSETS_URL . 'components/minishop2/custom/addms2option.js');
            break;
        }
        break;
}
Далее создадим данную дирректорию и наследуем нашу форму
Олег Щавелев
21 ноября 2019, 06:06
modx.pro
10
1 335
+12

Как добавить поле заказа в MS2

Здравствуйте.

Хотел поделиться способом, как добавить новое поля заказа MS2. После чтения статьи от Николая (спасибо ему за статью) понял, что это мой путь и нужно сделать все по аналогии, так как задачи очень схожие.

Внимание! Если вы захотите попробовать решение. Сначала проверьте на тестовом проекте, а после тестирования делайте на боевом проекте. Помня что Бекап это наше все

Задачу поставим следующую. Давайте создадим поле «Адрес» как общее поле что бы клиент мог вписать весь адрес полностью (Улица, дом, подъезд этаж и т.д).

Что нужно для этого!

Олег Щавелев
17 ноября 2019, 01:01
modx.pro
5
1 813
+1

AnotherPages. Виртуальные страницы для СЕОшников и не только.

Компонент позволяет создавать неограниченное количество «виртуальных копий» ресурса, не создавая дубль самого ресурса. Бесплатно.


Алексей Шумаев
07 ноября 2019, 16:38
modx.pro
11
2 194
+21

[xParser] 1.8.0 Вспомогательный Node JS демон или ускоряем парсинг в 27 раз!


Встала задача ускорить, насколько это возможно, работу парсера, т.к. у клиента отработка задания на парсинг 7к ресурсов длилась в течение ~2-3 суток!
Первым делом я подумал, что проблема таится в получении данных со стороннего ресурса. 7 тысяч запросов к стороннему ресурсу только за текстовой информацией, а ещё у каждой записи по 5 картинок, в общей сложности получается 42к запросов к стороннему ресурсу.
Если в среднем запрос длится по 1 секунде, то получается 42 тысячи секунд, что эквивалентно 11 часам и ещё 40 минутам! А ведь ресурс ещё нужно сохранить, на что в среднем уходит по 1-2 секунды. Это ещё +22 часа работы. Итого ~34 часа на отработку задания на парсинг 7к ресурсов, в лучшем случае. Мда… не дело!

Павел Гвоздь
29 октября 2019, 10:25
modx.pro
7
3 185
+27