какой-то конфликт с методом getTVValue и дополнением Gallery
на cайте использую плагины для подмены цены у товаров в зависимости от значения ТВ-поля (в котором размер скидки записан).
работало все нормально пока не поставил плагин Gallery и работать перестало.
и проблема оказалась в том, что когда я беру это ТВ-поле со скидкой в плагине, например
ссылка для примера того, что происходит
работало все нормально пока не поставил плагин Gallery и работать перестало.
и проблема оказалась в том, что когда я беру это ТВ-поле со скидкой в плагине, например
if ($modx->event->name == 'msOnBeforeAddToCart') {
$promo = $product->getTVValue('promo');
$price = $product->get('price');
/*Дальше код*/
то возникает ошибка. т.е. плагин не срабатывает, при попытке добавить товар в корзину, всплывает ошибкаmessage: "/home/путь_на_хосте/public_html/test1/core/components/gallery/elements/tv/output/"
success: false
и я не могу понять и нагуглить, почему так происходит, может кто сталкивался?ссылка для примера того, что происходит
Не работает пакет оплаты! Не работает дополнение (и ломает страницу заказа)
Всем привет.
Сегодня расскажу как исправить ошибку после установки пакета оплаты minishop.
Каждое 5-ое обращение в ТП примерно такого содержания:
Под катом рассказываю как починить данное недоразумение.
Сегодня расскажу как исправить ошибку после установки пакета оплаты minishop.
Каждое 5-ое обращение в ТП примерно такого содержания:
Добрый день. После установки дополнения, его настройки включения сначала на странице заказа не работала кнопка оплаты. После перезагрузки страницы страница становилась недоступна. Сейчас вообще страница заказа не работает (отдает 500 ответ). Даже если отключить вариант оплаты через ю кассу все равно работоспособность не восстанавливается. Пришлось деинсталировать пакетТак в чем же дело? Что за фигня с пакетом оплаты?
Под катом рассказываю как починить данное недоразумение.
Localizator и videoGallery
Добрый день всем.
При попытке создать перевод на вкладке «Локализация» у ресурсов с TV типа videoGallery, выходит ошибка:
Кто нибудь смог подружить эти два компонента?
При попытке создать перевод на вкладке «Локализация» у ресурсов с TV типа videoGallery, выходит ошибка:
Fatal error: Uncaught Error: Call to a member function fromJSON() on null in /http/core/cache/mgr/smarty/e56913b5ca093d98857b8830fdac610c0ae6babe_0.file.tv.videoGallery.input.tpl.php:24
Кто нибудь смог подружить эти два компонента?
Проблема с галереей
Добрый вечер!
Столкнулся с неожиданной проблемой. ModX 2.8.5, PHP 7.4
В карточке товара Minishop2 не появляется превьюшка, хотя во вкладке галерея фото загружено.
Если залить две или больше фотографии — не работает их сортировка (перетаскиваю. Админка пару секунд «думает» и все остается на своих местах.
После каждой такой попытки в логе появляется одна и та же ошибка:
[2024-03-02 18:30:08] (ERROR @ /home/c/.../public_html/core/xpdo/om/xpdoobject.class.php: 240) Error 42000 executing statement:
Array
(
[0] => 42000
[1] => 1064
[2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC LIMIT 1' at line 1
)
В таблице modx_ms2_products в столбцах thumb и image у каждого товара прописано NULL.
Кто-нибудь сталкивался?
Столкнулся с неожиданной проблемой. ModX 2.8.5, PHP 7.4
В карточке товара Minishop2 не появляется превьюшка, хотя во вкладке галерея фото загружено.
Если залить две или больше фотографии — не работает их сортировка (перетаскиваю. Админка пару секунд «думает» и все остается на своих местах.
После каждой такой попытки в логе появляется одна и та же ошибка:
[2024-03-02 18:30:08] (ERROR @ /home/c/.../public_html/core/xpdo/om/xpdoobject.class.php: 240) Error 42000 executing statement:
Array
(
[0] => 42000
[1] => 1064
[2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC LIMIT 1' at line 1
)
В таблице modx_ms2_products в столбцах thumb и image у каждого товара прописано NULL.
Кто-нибудь сталкивался?
Добавление товаров из списка товаров в корзину с указанием количества и удалением.
Нужна возможность добавлять товары в корзину из списка товаров, как с кнопки «добавить», так и через инпут количества и удалять также через инпут.
При клике по кнопке, в инпуте кол-ва нужно поставить 1, блоку товара дабавить класс active, при уменьшении товаров до 0 удалить класс active.
То-есть основным механизмом добавления должен быть инпут количества, кнопка будет спрятана при присвоении блоку класса active через стили, нужна она только чтобы в инпут вписать первый товар.
Задача срочная, за реальную помощь буду материально благодарен!
Скрин disk.yandex.ru/i/AnqJxU_nXiCjZw
При клике по кнопке, в инпуте кол-ва нужно поставить 1, блоку товара дабавить класс active, при уменьшении товаров до 0 удалить класс active.
То-есть основным механизмом добавления должен быть инпут количества, кнопка будет спрятана при присвоении блоку класса active через стили, нужна она только чтобы в инпут вписать первый товар.
Задача срочная, за реальную помощь буду материально благодарен!
Скрин disk.yandex.ru/i/AnqJxU_nXiCjZw
Доработка Evolution 1.0.15 +Shopkeeper 1.2
7
Всем доброго дня,
Имеется интернет-магазин на древней версии modx Evo 1.0.15 + shopkeeper 1.2. Из-за наличия большого количества различных костылей, cms давно не обновляется, но в принципе функционала хватает, за некоторыми исключениями. Учет остатка товаров ведется на сайте. В данный момент есть необходимость несколько раз в день производить списание товаров по списку артикулов. Сейчас делаем это вручную — ищем товар по артикулу на сайте, добавляем в корзину и так по списку, затем оформляем заказ, товары списываются. Необходимо каким-то образом это автоматизировать. На данный момент вижу два пути решения:
Имеется интернет-магазин на древней версии modx Evo 1.0.15 + shopkeeper 1.2. Из-за наличия большого количества различных костылей, cms давно не обновляется, но в принципе функционала хватает, за некоторыми исключениями. Учет остатка товаров ведется на сайте. В данный момент есть необходимость несколько раз в день производить списание товаров по списку артикулов. Сейчас делаем это вручную — ищем товар по артикулу на сайте, добавляем в корзину и так по списку, затем оформляем заказ, товары списываются. Необходимо каким-то образом это автоматизировать. На данный момент вижу два пути решения:
mSync и скорость парсинга
Доброе время суток, камрады!
Столкнулся с такой проблемой: при любой конфигурации PHP или mSync нагрузка на сервер не вся, хотя я очень, очень старался. Из-за чего парсинг происходит медленно.
Хостинг beget, 2 CPU, 2 RAM, 30 GB SSD, 1 GB swap, Rocky Linux 9, MariaDB 10.5, PHP 7.4, NGINX.
Что мне такого прописать, чтобы выжать все соки из VPS? Сейчас ни оперативка, ни процессор толком не нагружаются.
Полей в настройках модуля включено буквально штук 5, остальные для выгрузки отключены.
Посоветуйте что-нибудь, вдруг сами сталкивались или настраивали.
Столкнулся с такой проблемой: при любой конфигурации PHP или mSync нагрузка на сервер не вся, хотя я очень, очень старался. Из-за чего парсинг происходит медленно.
Хостинг beget, 2 CPU, 2 RAM, 30 GB SSD, 1 GB swap, Rocky Linux 9, MariaDB 10.5, PHP 7.4, NGINX.
Что мне такого прописать, чтобы выжать все соки из VPS? Сейчас ни оперативка, ни процессор толком не нагружаются.
Полей в настройках модуля включено буквально штук 5, остальные для выгрузки отключены.
Посоветуйте что-нибудь, вдруг сами сталкивались или настраивали.
как правильно реализовать меню категорий товара из ссылками на фильтры по значению TV поля?
может не совсем понятно сформулирован вопрос, но на скрине суть должна стать ясной
вроде типичная задача для магазинов
где «виды», «место» и т.д. это тв-поля
для каждой категории вывести надо значения этих полей (если они содержатся в товарах категории)
а ссылка должна вести на категорию с выбранным фильтром
ну т.е. выбирают люстры со стилем Ампир и ссылка такого типа будет /lyustryi/?tv|ms_type-svet=Ампир
можете подсказать, с какой стороны подойти к этой задачи?
ведь кейс не редкий, а я в апи модх не силен, что бы это все «обкрутить» через снипеты
вроде типичная задача для магазинов
где «виды», «место» и т.д. это тв-поля
для каждой категории вывести надо значения этих полей (если они содержатся в товарах категории)
а ссылка должна вести на категорию с выбранным фильтром
ну т.е. выбирают люстры со стилем Ампир и ссылка такого типа будет /lyustryi/?tv|ms_type-svet=Ампир
можете подсказать, с какой стороны подойти к этой задачи?
ведь кейс не редкий, а я в апи модх не силен, что бы это все «обкрутить» через снипеты
Как ускорить работу mSearch2?
На сайте почти 100 тыс товаров. Поиск mSearch2 по некоторым запросам может доходить до полминуты. Вызов стандартный:
Как можно ускорить выборку?
Например чтобы искал только по полю pagetitle?
{var $res = $_modx -> runSnippet('!msearch2', [
'parents' => 2,
'returnIds' => 1,
'limit' => 'none'
])}
{$_modx -> runSnippet('!pdoPage', [
'element' => 'msProducts'
'parents' => 2,
'resources' => $res,
'where' => '{"Data.remains:>=": 1}',
'tpl' => '@FILE chunks/tovarPreview4row.tpl',
'includeThumbs' => '140x140',
'limit' => 24,
'showLog' => 1
])}
Как можно ускорить выборку?
Например чтобы искал только по полю pagetitle?
Почему путь к изображению не полный в msProducts?
Всех приветствую!
Пытаюсь вывести карточки товара с дополнительным полем изображения (system_imagePage) использую msProducts. Но путь к изображению формируется неполный.
Чанк
Пытаюсь вывести карточки товара с дополнительным полем изображения (system_imagePage) использую msProducts. Но путь к изображению формируется неполный.
{$_modx->runSnippet('msProducts', [
'showHidden' => 0,
'showUnpublished' => 1,
'parents' => 24,
'depth' => 0,
'scheme'=> 'abs',
'sortby' => '{«menuindex»:«ASC»}',
'tvPrefix'=>'',
'includeTVs' => 'catalog_heatingAreaLabel, system_imagePage',
'useWeblinkUrl' => '1',
'tpl' => '@FILE default/chunks/tpl/catalog/item/card.tpl'
])}
Чанк
<div class="col-12 col-md-6 col-xl-4">
<div class="catalog-item">
<div class="catalog-item__stickers">
{if $new} <div class="catalog-item__sticker">Новинка</div> {/if}
{if $popular} <div class="catalog-item__sticker">Хит</div> {/if}
{if $favorite} <div class="catalog-item__sticker">Рекомендуем</div> {/if}
</div>
<div class="catalog-item__top">
<div class="catalog-item__image">
<img src="{$system_imagePage}" alt="{$pagetitle}">
</div>
<div class="catalog-item__title"><a class="link-primary" href="{$id | url}">{$pagetitle}</a></div>
<div class="catalog-item__label">{$catalog_heatingAreaLabel}</div>
<div class="catalog-item__characteristics">
{$_modx->runSnippet('msProductOptions', [
'product' => $id,
'tpl' => '@FILE default/chunks/tpl/catalog/item/options.tpl',
'onlyOptions' => 'thermalPower, dimensions, fuelСonsumption, MaximumLogLength, waterVolume, weightWithoutWater'
])}
</div>
<div class="catalog-item__price-wrapper">
<span class="catalog-item__price">{$price} ₽</span>
{if $old_price != 0}
<span class="catalog-item__old-price">{$old_price} ₽</span>
{/if}
</div>
</div>
<div class="catalog-item__bottom">
<form class="form-horizontal ms2_form" method="post">
<input type="hidden" name="id" value="{$id}"/>
<input type="hidden" name="count" id="product_price" class="form-control col-md-6" value="1"/>
<button type="submit" class="btn btn--block btn--brand js-catalog-btn-buy" name="ms2_action"
value="cart/add">
Купить
</button>
</form>
<a href="{$id | url}" class="mt-3 btn btn--block
">Подробнее</a>
</div>
</div>
</div>