Всего 125 668 комментариев

Lori
01 февраля 2021, 14:23
0
Вопрос решен, была проблема в кодировке файла.
Андрей
01 февраля 2021, 13:32
0
Вот это как раз интересно, подскажете как можно реализовать такой функционал?
Есть пост и ответ к нему, нужно чтобы при нажатии на «Открыть чат» в ответе создавался чат с именем «Пост — ответ» и только два пользователя в нём — автор поста и автор ответа. Получается так, что может быть несколько чатов с одними и теми же пользователями, но на разные темы
Кирилл
01 февраля 2021, 13:13
0
отображаем во фронтенде

Chunk: msProduct.content

[[!msOptions?options=`color,size,tags`]]


Заполняем Product properties

tags
название товаров с разными цветами

в шаблоне для данного товара создаём отдельный шаблон

<head>
 
 <!-- Jquery -->
 <script src="/assets/templates/lib/jquery.min.js"> </script>


<script>
$(document).ready(function(){
  $("#hide").click(function(){
    $("p").hide();
  });
  $("#show").click(function(){
    $("p").show();
  });
});
</script>


</head>

[[$msProduct.content]]

<div align="center">
    
    
<p hidden> 

<b>название товара цвет такойто</b>

<img src="/assets/templates/product/productimg.jpg" alt="">


<b>название товара цвет такойто</b>

<img src="/assets/templates/product/productimg.jpg" alt="">


<b>название товара цвет такойто</b>

<img src="/assets/templates/product/productimg.jpg" alt="">


<b>название товара цвет такойто</b>

<img src="/assets/templates/product/productimg.jpg" alt="">


<b>название товара цвет такойто</b>

<img src="/assets/templates/product/productimg.jpg" alt="">

</p>


<button id="show" class="btn btn-default btn-md">Показать товары в других цветах</button>
<button id="hide" class="btn btn-default btn-md">Скрыть товары</button>

</div>

после добавления товара, фото товара в корзине дэфолтное
это сложные материи для меня )))))
Кирилл
01 февраля 2021, 10:31
0
а с помощью встроенного msGallery можно листить отдельными tpl products?
ктонибудь на своих проектах так применял?
Павел Гвоздь
01 февраля 2021, 09:03
0
Подобное для второй версии я не описывал.
Воеводский Михаил
31 января 2021, 21:32
0
Совместная работа двух компонентов не проверялась.
Фарит
Фарит
31 января 2021, 20:16
0
Да, это адресовано не вам, а modstorey, т.к. уже много раз слышал здесь, что не принимаются в магазин аналогичные приложения. Никак не могу понять эту логику. Например, если в магазин завезли шуруповерты Макита, то больше никакие другие шуруповерты не должны продаваться?
Евгений Webinmd
31 января 2021, 18:41
+1
Спасибо, протестируем, главное чтобы внутри все работало и не ломало ничего, внешний вид у каждого будет свой. Если все нормально и код приемлемый, то в следующем релизе скорей всего будет
Андрей Шевяков
31 января 2021, 18:38
+1
Тест. Сделал по аналогии с изменением количества товара.
Код:
<form method="post" class="ms2_form">
    <input type="hidden" name="key" value="{$product.key}">
    <input type="hidden" name="count" value="{$product.count}">
    <input type="text" name="options[size]" value="{$product.options.size}">
    <button type="submit" name="ms2_action" value="cart/change">Изменить размер</button>
</form>
Вместо select для теста просто в input вывел размер. Вводим размер вручную, нажимаем на кнопку Изменить размер и все работает как надо. Размер товара обновляет. Единственное выводит сообщение как для изменения количества: «Количество товаров в корзине успешно изменено...»

Соответственно все работает. Надо только предусмотреть вывод другого сообщения из лексиконов.
И сделать вывод в select размеров (опций) и js отправку данных, при выборе размера (опции). Да или хотя бы с кнопкой оставить. Дальше на фронте уже, все равно все под себя изменять будут.
Николай Савин
31 января 2021, 18:33
+1
Постараюсь оттестировать на этой неделе. @Иван Бочкарев добавь меня в PR чтобы не забыл
Но справедливости ради автор так и не ответил на просьбу описать пошагово как протестировать
Евгений Webinmd
31 января 2021, 17:24
0
да, не очень понятно как протестировать и в каком виде должно работать
Андрей Шевяков
31 января 2021, 15:31
0
Добрый день!
А PR #462 — Добавление возможности изменять опции товара в корзине, планируется включить в следующих версиях? Я, если правильно понял, там проблема с тестированием?
Артур Шевченко
31 января 2021, 14:21
0
Как вариант))) Мне просто с js легче работать.
Евгений Лазарев
31 января 2021, 13:27
+1
Вдруг кому понадобится: я решил этот момент следующим образом:
1) создал кастомный сlass customFilter extends mse2FiltersHandler, возможность создания которого предусмотрена компонентом
2) переназначил функцию constract
public function __construct(mSearch2 &$mse2, array $config = array()) {
		parent::__construct($mse2, $config);
        $this->catalogBanners();
	}
3) В своей функции catalogBanners() выполнил что мне нужно:
public function catalogBanners(){
        $banners = json_decode($this->modx->resource->getTVValue('migx_catbans'),true);

        $fabrics = $_REQUEST['fabric'] ? explode(',',$_REQUEST['fabric']) : [];
        $metals = $_REQUEST['metal'] ? explode(',',$_REQUEST['metal']) : [];

        $key = md5(implode('|', array_merge($fabrics, $metals)));

        if (isset($_SESSION['catbans']) and $_SESSION['catbans']['key'] === $key){
            return true;
        }
        shuffle($banners);

        $is_main = (empty($fabrics) and empty($metals)) ? true : false;

        $catbans = [];
        foreach ($banners as $idx=>$banner){
            $is_good = true;
            $migx_fabric = is_array($banner['fabric']) ? $banner['fabric'] : explode(',',$banner['fabric']);
            if (empty(array_intersect($fabrics, $migx_fabric)) and !empty($banner['fabric']) and !$is_main){
                $is_good = false;
            }
            $migx_metal = is_array($banner['metal']) ? $banner['metal'] : explode(',',$banner['metal']);
            if (empty(array_intersect($metals, $migx_metal)) and !empty($banner['metal']) and !$is_main){
                $is_good = false;
            }
            if ($is_good){
                //Расчет позиции нахождения баннера (3,17,35,49,67)
                $position = 3 + count($catbans) * 14 + intdiv(count($catbans), 2) * 4;
                $catbans[$position] = $banner;
            }
        }

        $_SESSION['catbans'] = $catbans;
        $_SESSION['catbans']['key'] = $key;

        return true;
    }
4) в tpl mFilter2 уже обращаясь к сессии взял что мне нужно:
{var $catbans = $.session.catbans}
{if $catbans[$idx]}
<a href="{$catbans[$idx]['href']}" class="banner">
    <img src="/images/{$catbans[$idx]['img']}" alt="" />
</a>
{/if}
Итого:
— вызывается 1 раз, как и нужно и с появлением контента
— нет причин бояться обновления компонента
Евгений Лазарев
31 января 2021, 13:20
0
Решение хорошее, но не совсем подходит, потому что оно работает после того как отобразился контент товаров.
Артур Шевченко
31 января 2021, 12:06
0
Скиньте конечно. Попробуйте обновить админку.
Николай Савин
31 января 2021, 11:39
0
Язык зависит от системы MODX вообще. Нигде в miniShop нет своей языковой логики. Соответственно обновление компонента не может само по себе привести к смене языка системы.
Евгений
31 января 2021, 10:20
0
Да вроде ничего не делали, месяц назад сайт отдан, буквально недавно позвонил провайдер и сказал что операции там доходят до террабайта. Может быть какие-то файлы лога скинуть, те что есть?
Артур Шевченко
31 января 2021, 08:37
0
Это вы типа модификации хотите сделать? Или что за другое изображение? А вообще самом простое это сделать TV типа migx с двумя колонками название цвета и путь к картинке, на фронте с помощью js менять картинку в зависимости от выбранного цвета.
Александр Туниеков
31 января 2021, 08:05
0
Извняюсь, принял ваш крик души на свой счет. 3 дня на нервах сижу. Компонент не стал полностью бесплатным. Оплату перенес на сервис. Так что reMessages купят. И, возможно, будут пользоваться и RealMessenger. Просто продавать компоненты без modstore не удобно и мне проще сделать сам компонент сделать бесплатным.