Сохранить
Сохраняем
  • B
    baklofen

    @andchir скорость работы просто космическая, как сайта, так и админки. Фильтрация - лучше не придумать. Наличие мультикатегорий очень радует! И самое главное как я понимаю всё это масштабируемое в любых пределах? Можно будет где то посмотреть структуру базы? В каком формате хранятся данные?

    написал в Новости Читать далее
  • B
    baklofen

    Почему-то не пускает с ошибкой 500, может что с .htaccess?

    написал в Новости Читать далее
  • B
    baklofen

    @евгений19860 дайте ссылку посмотреть? Можете в лс

    написал в Поддержка Читать далее
  • B
    baklofen

    Участник @евгений19860 написал в Если нет картинки товара в корзине...:

    [[+img:notempty=<img src="assets/images/[[+img]]">]]

    А если попробовать так:

    [[!+img:notempty=`<img src="assets/images/[[+img]]">`]]
    

    написал в Поддержка Читать далее
  • B
    baklofen

    По сути потом будет две базы, отдельная для Shopkeeper 4, и отдельная для modx?

    написал в Новости Читать далее
  • B
    baklofen

    Добрый день, есть ли возможность выводить фильтры динамически? Т.е. что бы фильтры строились на основании выводимых товаров MIGX, а не из заранее сохраненных категорий? Т.е. например если выводить на произвольной странице товары из разных категорий, и по этим товарам строить фильтры. Или в какую сторону хотя бы посмотреть или копать можно?

    написал в Поддержка Читать далее
  • B
    baklofen

    Приветствую, что бы не плодить кучу тем, хотел бы описать слегка другой способ для товаров MIGX (подойдет и для ресурсов я думаю), но что бы и производителей (или что ещё понадобится) можно было использовать и для фильтрации.

    1. Создаём родителя "Производители" (например с ID(23))
    2. Создаем несколько дочерних документов (соответственно это сами производители)
    3. В MIGX в нашей конфигурации shop добавляем поле brand (инструкция как это сделать тыц)
    4. Для brand (которое мы создали выше) ставим Input TV type - listbox (Тип TV - выпадающий список с одиночным выбором)
    5. На вкладке Input Options в поле Input Options Value пишем следуещее
    @SELECT pagetitle FROM modx_site_content WHERE parent=23
    

    т.е. селектим все заголовки ресурсов, у которых родитель с ID = 23 (ID того родителя, который мы создали на шаге №1)
    6) Проверяем всё это дело на каком-нибудь товаре, прибиваем ему производителя, и заодно проверим всё это в TM2
    7) Создаём/редактируем шаблон "Каталог производителей", там где нужно выводить товары этого производителя, вызываем getProducts через getPage

    [[!getPage?
        &cache=`1`
        &parents=`13,16,7,8`
        &elementClass=`modSnippet`
        &element=`getProducts`
        &className=`ShopContent`
        &packageName=`shop`
        &limit=`10`
        &tpl=`product_box`
        &where=`{"brand:LIKE":"[[*pagetitle]]"}`
        &pageFirstTpl=` <li class="control"><a [[+classes]] href="[[+href]]">Первая</a></li> `
        &pageLastTpl=` <li class="control"><a [[+classes]] href="[[+href]]">Последняя</a></li> `
    ]]
    <br class="clear" />
    <ul class="pages">
        [[!+page.nav]]
    </ul>
    
    1. Осталось теперь только что бы заработали ссылки, создаём микро-сниппет getUri
    <?php
    $document = $modx->getObject('modResource',array(
        'pagetitle' => $brandname,
        'parent'=> $parentid
    ));
    $field = $document->get('uri');
    return $field;
    

    Т.е. просто получаем URI нашего производителя, что бы потом вставить в ссылку (параметр parentid нужен ,если вдруг вы где то ещё будет такой же pagetitle использовать)
    9) В карточке товара, ставим ссылку на страницу со всеми товарами производителя

    <p class="some-p-class">Производитель: <a href="[[getUri? &brandname=`[[*brand]]` &parentid=`23`]]">[[*brand]]</a></p>
    

    В итоге у нас можно фильтровать по этим производителям в каталоге и вывести все товары одного производителя в отдельном ресурсе.

    Или можно не создавать сниппет и воспользоваться каким нибудь pdoResources или getResources (но по мне проще и быстрее будет сниппет):

    p class="some-p-class">Производитель: <a href="[[~[[pdoResources? &parents=`23` &where=`{"pagetitle:LIKE":"[[*brand]]"}` &tpl=`@INLINE [[+id]]`]]]]</a></p>
    

    написал в Недокументированные решения отдельных задач Читать далее
  • B
    baklofen

    Приветствую. Может кому пригодится. Быстрый просмотр товара не заходя в него, как это сейчас реализовано во многих магазинах типа Wildberries и т.п.

    1. Подключаем к сайту Fancybox 3
    <!-- css -->
    <link rel="stylesheet" type="text/css" href="jquery.fancybox.min.css">
    
    <!-- JS -->
    <script src="//code.jquery.com/jquery-3.2.1.min.js"></script>
    <script src="jquery.fancybox.min.js"></script>
    
    
    1. Устанавливаем плагин из репозитория MODX SwitchTemplate (документация - тыц)
    2. Создаём шаблон "Товары-Fancy"
    3. Заполняем в соответствии с нашими требованиями, что вы будете выводить в быстром просмотре.
      Например:
    <div class="container">
    	<div class="row">
            <div class="col-xs-12 col-sm-6 col-md-6">
                <div lass="some-img">
                	<img src="[[pthumb?input=`assets/catimg/[[*image]]`&options=`w=560&h=560&bg=ffffff&far=1`]]" alt="[[*longtitle]]" >
                </div>
            </div>
            <div class="col-xs-12 col-sm-6 col-md-6">
            	[[*pagetitle]]
            	<div class="row shk-item">
    				<form action="[[~[[*resource_id]]? &scheme=`abs`]][[*alias]]/" method="post">
                        <input type="hidden" name="shk-id" value="[[*id]]" />
                        <input type="hidden" name="shk-name" value="[[*pagetitle]]" />
                        <input type="hidden" name="shk-count" value="1" />
                                
                        <div class="product-price">
                            Цена: <span class="shk-price">[[!*price:shk_curr_rate:num_format]]</span>
                            [[!+shk_currency]]
                        </div>
                                
                        <div class="padding-lr-30">
                            <h5>Дополнительные услуги</h5>
                            [[*param1]]
                        </div>
                                
                        <div class="product-price">
                            <button class="btn btn-lg btn-primary" type="submit" class="shk-but">В корзину</button>
                        </div>
                    </form>
            	</div>
            </div>
        </div>
    </div>
    
    1. Идём в админке Приложения - SwitchTemplate
    2. Кликаем на New Setting
    3. Заполняем (просто пример, каждый заполняет как хочет):

    Setting Name (Имя): quick
    Setting Key (Ключ который мы будем потом приписывать к адресу): quick-link
    Chunk/Template Name (шаблон который будем подставлять): Товары-Fancy (который мы создали в пункте 3
    Template Type: Template
    Cache the Output: Да

    1. Идём в чанк карточки товара product_box и добавляем там ссылку:
    <a data-fancybox data-type="ajax" data-src="[[~[[+resource_id]]?&scheme=`abs`]][[+alias]]/?mode=quick-link" href="javascript:;" data-toggle="tooltip" title="Быстрый просмотр" class="pro-btn quick-view"><span class="lnr lnr-magnifier"></span></a>
    

    в data-src мы указываем ссылку на страницу и ключ ?mode=quick-link что бы плагин открыл нам именно этот товар с нашим шаблоном, который мы указали в настройках

    В принципе такой вариант можно использовать для вывода чего угодно и где угодно.

    написал в Недокументированные решения отдельных задач Читать далее
  • B
    baklofen

    Приветствую! Натолкните на путь, как можно реализовать рейтинг/оценку + комментирование товаров. Все товары реализованы через MIGX.

    написал в Поддержка Читать далее
  • B
    baklofen

    Занимался этим вопросом немного.
    Тут как я понял, не всё так просто, не просто отправить чек, а он должен уходить на ОФД (оператор фискальных данных (за который кстати тоже надо платить ежемесячно) который лицензирован у ФНС), только потом он должен уйти в ФНС и к покупателю.
    При всём при этом должна стоять прослойка в виде фискального накопителя, которая стоит тоже огого. В общем искал решение, но бюджетного ничего не нашёл. Многие банки ещё не готовы сами предоставить такую услугу, что бы их эквайринг сам отправлял данные на ОФД. из готовых толковых вариантов это сервис АТОЛа за 42 тр в год. и сервис орандж дата http://www.orangedata.ru/ и всё это увязано с яндекс.кассой.
    Так же есть модуль банк, который предоставляет всё под ключ, только цены на оборудование сумасшедшие и на расчетный счет тоже, и есть он только в крупных городах.

    Лично для себя решил, подключать яндекс кассу, а ждать когда банки начнут предлагать решения, так как знаю, что тинькофф сейчас готовит решение, думаю другие тоже подтянуться.

    Если кто то решит делать сам, то рекомендую позвонить в компанию БУХСОФТ в СПб, они сейчас разрабатывают решение для самостоятельно подключение онлайн касс, вам останется только увязать это со своим магазином.

    написал в Поддержка Читать далее