Владимир

Владимир

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

Количество товаров в зависимости от разрешения экрана

У меня формируется список товаров с помощью mfilter2. Вывод таблицы в десктопной и мобильной версии отличается, т.к. в мобильной строка с заголовком не помещается на экране, было принятно решение сделать её столбцом.
В десктопной версии выводится по умолчанию 10 товаров. В мобильной в зависимости от разрешения экрана должно быть 768px — 5, ниже ширина — меньше товаров, 320px — 2.
Попытался сделать так (хотя бы 5 сначала выводить на всех мобильных разрешениях):
{if 'mobile' | mobiledetect}
        {set $limit = 5}
    {/if}

    {if 'standard' | mobiledetect}
        {set $limit = 10}
    {/if}

        [[!mFilter2?
            &limit=`{$limit}`
            &tpl=`type-item`
		...
        ]]
Но не работает. В мобильной версии выводит всё равно 10. Следующие 5 (3, 2) столбца товаров ниже.
Как сделать, чтобы работало, как должно быть?

— это десктопная версия
— мобильная
Владимир
21 января 2019, 17:27
modx.pro
1 005
0

Обработка суммы заказа с учётом стоимости доставки

Не пойму, откуда в /assets/components/minishop2/js/web/default.js берётся response.data['cost']. Из формы корзины или страницы продукта?

getcost: function () {
var callbacks = miniShop2.Order.callbacks;
callbacks.getcost.response.success = function (response) {
$(miniShop2.Order.orderCost, miniShop2.Order.order).text(miniShop2.Utils.formatPrice(response.data['cost']));
};
var data = {};
data[miniShop2.actionName] = 'order/getcost';
miniShop2.send(data, miniShop2.Order.callbacks.getcost, miniShop2.Callbacks.Order.getcost);
}
Владимир
11 января 2019, 15:12
modx.pro
662
0

Fenom в modx

Здравствуйте! Что-то не понимаю работу фенома.
Написал такую конструкцию:
{if 'mobile' | mobiledetect}
        {var $limit = 5}
    {/if}

    {if 'standart' | mobiledetect}
        {var $limit = 10}
    {/if}

    {$limit}
выводится просто текстом.

Потом в телеграме мне посоветовали изменить настройки fenom в pdotools. Я изменил. Сейчас у меня такие:
screenshots.firefox.com/PxbQHlX5cyQapRvH/vogel-noot
В нескольких своих чанках и шаблонах, где вызываются инлайновые стили и скрипты, поставил пробелы до и после фигурных скобок. А также обернул их в теги {ignore} {/ignore}

В результате пустая страница выводится. И всё.
Кеш чистил.
Не понимаю, как сделать, чтобы нормально выводилось число, а не код.
Владимир
18 декабря 2018, 20:15
modx.pro
806
0

Рандомное обновление списка опций в карточке товара minishop2

Как запретить вывод опций товара в карточке в случайном порядке? Нашёл в интернете решение: «в файле core/components/minishop2/model/minishop2/msproductdata.class.php
меняем строку:
$c->leftJoin('msOption', 'msOption', 'msProductOption.key=msOption.key'); на:
$c->rightJoin('msOption', 'msOption', 'msProductOption.key=msOption.key');»
но у меня и так rightJoin уже стоит в файле, а всё равно рандомом выводит
Владимир
23 августа 2018, 11:32
modx.pro
582
0

minishop2 похожие товары

Как вывести в карточке товара похожие товары по характеристике (опции), например, square? Видел статью про дополнение modRelation, но его почему-то нет в modstore, если искать через админку сайта.
Владимир
15 июня 2018, 08:29
modx.pro
2 407
0

Убрать всплывающие подсказки

Я ввожу запрос в поисковую строку, например «11 v» у меня показываются найденные результаты, продолжаю вводить — «11 vddd», результаты пропадают, т.к. нет результатов. Как убрать всплывающие подсказки, если нет результатов (пустые строчки на скриншоте)?
Владимир
16 мая 2018, 07:55
modx.pro
989
0

mFilter2 убрать вывод веса из результатов

Добрый день! Есть стандартный чанк вывода строки результатов поиска chunk.msearch2.row.tpl:
<div class="mse2-row">
	[[+idx]]. <a href="[[+uri]]" class="search-link">[[+pagetitle]]</a>[[+weight]]
	[[+intro]]
</div>
Я скопировал его в свой чанк mymSearchRow, убрав [[+weight]]. Как мне сделать, чтобы вызвать этот свой чанк вместо стандартного?
Почитав документацию, я не очень понял, как это сделать.
Владимир
10 мая 2018, 08:25
modx.pro
1 067
0

Фильтр по товарам в minishop2

Добрый вечер! Подскажите, пожалуйста, как в minishop2 организовать фильтр товаров по заполненным опциям товаров? Есть в настройках магазина набор опций для разных категорий товаров. И хочется, чтобы можно было управлять, какие опции выводить в фильтре, какие нет. Значения в фильтре брались бы из значений опций у конкретных товаров.
Владимир
18 апреля 2018, 17:19
modx.pro
867
0

The requested URL /setup/ was not found on this server.

Скопировал с рабочего сервера проект на свой локальный. Пути все поменял, базу залил, кэш почистил. Залил папку setup, чтобы modx настроить. Открываю site/setup в браузере, пишет, что «The requested URL /setup/ was not found on this server.» Почему так? .htaccess тоже вроде настроил c rewrite.

Решено. Оказывается, я звбыл прописать сайты в /etc/apache2/sites-available/ и /etc/apache2/sites-enabled/
Владимир
04 апреля 2018, 11:53
modx.pro
1 868
0

fi.successMessage

как сделать, чтобы в FormIt AjaxForm fi.successMessage появлялось в том же блоке, что и форма? А то в маленьком всплывающем окошке не заметно совсем. Например, после отправки данных форма становилась display:none, а блок с successMessage — block

сейчас шаблон у FormIt такой:

<div class="highslide-header">
    <ul>
        <li class="highslide-close">
            <a href="#" onclick="return hs.close(this)">Закрыть</a>
        </li>
    </ul>
</div>

<div class="highslide-body">
    <form action="" method="post" class="ajax_form callback_form" enctype="multipart/form-data">
           ...
            <div class="form-group">
                <div class="controls">
                    <button type="submit" class="btn btn-primary cb_submit">Перезвоните мне</button>
                </div>
            </div>
    </form>

    <div class="cb_success_mess">
        [[+fi.successMessage]]
        [[!+fi.successMessage:isempty=`[[$feedback-form]]`]]
    </div>

    <div class="highslide-footer">
        <span class="highslide-resize" title="Размер">
        </span>
    </div>
</div>

[[+fi.success:is=`1`:then=`
    <script>
        $('.callback_form').style('display', 'none');
        $('.cb_success_mess').style('display', 'block');
    </script>
`]]

[[+fi.validation_error:is=`1`:then=`
    <div class="alert alert-danger">[[+fi.validation_error_message]]</div>
`]]
Владимир
20 февраля 2018, 07:57
modx.pro
2 413
0