Всего 123 794 комментария

Алексей Смирнов
08 февраля 2023, 17:39
0
Обновил пакет темы до беты. Исправления в основном не большие, но нужные.
Из самого интересного:
— Можно задать маску номера телефона. настройка handyshop_form_phone_mask, вкладка Каталог.
— Небольшая панелька для удобного перехода к редактированию ресурса из сайта в админку + индикация текущего шаблона. Полезна для людей которые наполняют и корректируют контент сайта. (СЕО, заполнение и тп.)
— В корзина. Можно выключать вес, массу (если она вам не нужна). Частенько Масса не нужна — можно отключить в Штуковине cart/cart-list.tpl.
— На странице товара теперь можно добавить через TV (migx) дополнительные характеристики.
Не забудьте что можно теперьвключать-выключать Кеш CSS файла, который собирает css. настройка magicthemes_cache_css в общих настройках.
Ну и различные общие исправления и улучшения и подготовка к выходу из бетта-альфа тестирования в стабильную версию.
Марина
08 февраля 2023, 16:32
0
Если оставляю tpl пустым в браузере выводится следующий текст (копирую то, что отображается для одного ресурса):
Array ( [id] => 15 [type] => document [contentType] => text/html [pagetitle] => Acura [longtitle] => [description] => [alias] => acura [alias_visible] => 1 [link_attributes] => [published] => 1 [pub_date] => 0 [unpub_date] => 0 [parent] => 20 [isfolder] => 1 [introtext] => [content] => [richtext] => 1 [template] => 3 [menuindex] => 1 [searchable] => 1 [cacheable] => 1 [createdby] => 1 [createdon] => 1672357199 [editedby] => 1 [editedon] => 1675709742 [deleted] => 0 [deletedon] => 0 [deletedby] => 0 [publishedon] => 1672357140 [publishedby] => 1 [menutitle] => Acura [donthit] => 0 [privateweb] => 0 [privatemgr] => 0 [content_dispo] => 0 [hidemenu] => 0 [class_key] => msCategory [context_key] => web [content_type] => 1 [uri] => catalog/acura/ [uri_override] => 0 [hide_children_in_tree] => 0 [show_in_tree] => 1 [properties] => [imagecat] => Array ( [sourceImg] => Array ( [src] => acura-80x80.png [source] => 3 [width] => 80 [height] => 80 ) [crop] => Array ( [height] => 80 [width] => 80 [x] => 0 [y] => 0 ) [targetWidth] => [targetHeight] => [altTag] => ) [idx] => 1 [last] => [level] => 1 [children] => 0 [wrapper] => [classnames] => first [classNames] => first [classes] => class="first" [link] => http://artzvgdp.bget.ru/catalog/acura/ [title] => Acura [wf.docid] => 15 [wf.type] => document [wf.contentType] => text/html [wf.pagetitle] => Acura [wf.longtitle] => [wf.description] => [wf.alias] => acura [wf.alias_visible] => 1 [wf.attributes] => [attributes] => [wf.published] => 1 [wf.pub_date] => 0 [wf.unpub_date] => 0 [wf.parent] => 20 [wf.isfolder] => 1 [wf.introtext] => [wf.content] => [wf.richtext] => 1 [wf.template] => 3 [wf.menuindex] => 1 [wf.searchable] => 1 [wf.cacheable] => 1 [wf.createdby] => 1 [wf.createdon] => 1672357199 [wf.editedby] => 1 [wf.editedon] => 1675709742 [wf.deleted] => 0 [wf.deletedon] => 0 [wf.deletedby] => 0 [wf.publishedon] => 1672357140 [wf.publishedby] => 1 [wf.linktext] => Acura [wf.menutitle] => Acura [wf.donthit] => 0 [wf.privateweb] => 0 [wf.privatemgr] => 0 [wf.content_dispo] => 0 [wf.hidemenu] => 0 [wf.class_key] => msCategory [wf.context_key] => web [wf.content_type] => 1 [wf.uri] => catalog/acura/ [wf.uri_override] => 0 [wf.hide_children_in_tree] => 0 [wf.show_in_tree] => 1 [wf.properties] => [wf.imagecat] => Array ( [sourceImg] => Array ( [src] => acura-80x80.png [source] => 3 [width] => 80 [height] => 80 ) [crop] => Array ( [height] => 80 [width] => 80 [x] => 0 [y] => 0 ) [targetWidth] => [targetHeight] => [altTag] => ) [wf.idx] => 1 [wf.last] => [wf.level] => 1 [wf.subitemcount] => 0 [wf.wrapper] => [wf.classnames] => first [wf.classNames] => first [wf.classes] => class="first" [wf.link] => http://artzvgdp.bget.ru/catalog/acura/ [wf.title] => Acura )
Можно ли извлечь отсюда какую-либо информацию? Если да, то какую? Благодарю за подсказки.
Наумов Алексей
08 февраля 2023, 16:19
+2
Потому что в значениях опций есть запятая, а она используется как разделитель адресной строке в mFilter2. См. параметр values_delimeter в доках docs.modx.pro/komponentyi/msearch2/snippetyi/mfilter2
Алексей
08 февраля 2023, 15:35
0
Артур, все получилось! Огромное спасибо за помощь!
Артур Шевченко
08 февраля 2023, 15:20
0
<?php
define('MODX_API_MODE', true);
require_once dirname(__FILE__, 2) . '/index.php';
Путь к index.php указывайте относительно расположения вашего файла, т.е. если он лежит в корне, то цифру 2 можно убрать.
Алексей
08 февраля 2023, 15:11
0
Да, это файл. Прошу прощения, не понял, как подключить?
Артур Шевченко
08 февраля 2023, 14:58
0
Стоп, тупанул, у вас там где вы запускаете скрипт обновления превью переменная $modx не определена. Если это файл, надо modx подключить.
Алексей
08 февраля 2023, 14:45
0
Минишоп точно установлен. В том и дело что я не могу обновить превью. Сейчас посмотрю через {$files | print}. Спасибо!
Артур Шевченко
08 февраля 2023, 13:47
0
У вас только один фильтр активен, когда калибр в таком состоянии?
Артур Шевченко
08 февраля 2023, 13:45
0
Ругается на эту строку:
Минишоп точно установлен?

Как к swiper прикрутить phpThumbOn.
Во-первых, зачем? Если превью можно настроить в источнике файлов и заранее сгенерировать, и не делать этого в чанке.
Во-вторых не вижу вообще попытки использовать компонент phpThumbOn.
В-третьих, у вас пути к картинкам неверные.Напишите в чанке {$files | print} и посмотрите, что вообще есть внутри этого массива, вам будет проще понять как это выводить.
kudesia
08 февраля 2023, 13:03
0

log_deprecated в системных настройках можно отключить и все.
Денис Усачев
08 февраля 2023, 13:00
0
Походу вам нужно настроить suggestions сниппета mFilter2
Параметры
Константин Ильин
08 февраля 2023, 12:32
0
Мои извинения.
Как писал Артур выше
Если не заработает оставь параметр tpl пустым — посмотри какие плейсхолдеры доступны
Там поискать ваше поле и какое значение там. Возможно там json или что-то типа того
Марина
08 февраля 2023, 12:22
0
Ещё раз повторю, картинки к ресурсам у меня подгружены.
Вот скриншот:
disk.yandex.ru/i/egoA_EV5vQG6UQ
Шаблон нужный выбран, иначе бы у ресурса не отображалось доп. поле tv
Константин Ильин
08 февраля 2023, 11:42
0
То что они лежат где-то это одно. Вам же нужно выбрать у каждого ресурса иpображение,
Например открываете ресурс «Лампочки», там вкладка Доп поля и там ваше поле должно отображаться, если вы указали для TV шаблон в котором отображать это поле. В итоге В вашем поле выбираете нужное вам изображение и сохраняете ресурс.
Должно быть заполнено: disk.yandex.ru/i/1E2QED82nhDY8w

Все довольно просто, никаких источников файлов для быстрого старта не надо создавать.

TV
— Ввод Изображение
— Выбрать для какого(их) шаблонов отображать

— Зайти в ресурс(ы) и выбрать/загрузить картинку к нему
Марина
08 февраля 2023, 11:29
0
Картинки у меня лежат в папке /assets/images/catalogies. В настройках tv imagecat пробую подключать источник файлов по умолчанию — filesystem — картинки не подгружаются. Пробую подключать созданный источник файлов, в котором прописан путь к файлам assets/images/catalogies/ — результат тот же.
Параметр ввода — изображение либо image+, вывод — по умолчанию (другие варианты вывода результат не меняют).
Или картинки нужно загружать в какую-то другую папку?
К ресурсам картинки присоединены. Редактор обрезки изображений работает.
Переустановка связанных дополнений ничего не даёт…
Константин Ильин
08 февраля 2023, 11:06
0
Имеется ввиду Вы картинку точно загрузили к ресурсу? Потому что, [[+imagecat]] или [[+tv.imagecat]] должны что-то выдавать, если нет опечаток и изображение загружено.
И у тв лучше сделать так:
Параметр ввода изображение или что-то удобное вам
А параметр вывода вообще не трогать, оставить по умолчанию
Марина
08 февраля 2023, 10:53
0
Поясните, пожалуйста, где именно должно быть значение?
Артур Шевченко
08 февраля 2023, 10:51
0
Спасибо, за обратную связь сейчас тестируем релиз 4.2 там этот баг будет исправлен.
Антон А.
08 февраля 2023, 09:56
+1
Я до релиза версии 4.1 сам подправил у себя этот кусок кода, сейчас протестил ваш, кажется он также перегружает корзину пустой без вывода чанка об успешном заказе.
Было до 4.0:
callbacks.submit.response.success = function (response) {
                if (response.data['redirect']) {
                    document.location.href = response.data['redirect'];
                } else if (response.data['msorder']) {
                    document.location.href = document.location.origin + document.location.pathname
                        + (document.location.search ? document.location.search + '&' : '?')
                        + 'msorder=' + response.data['msorder'];
                } else {
                    location.reload();
                }
            };
стало в 4.0:
this.callbacks.submit.response.success = response => {
            switch (true) {
                case response.data.redirect:
                    document.location.href = response.data.redirect;
                    break;
                case response.data.msorder:
                    document.location.href = document.location.origin + document.location.pathname
                    + (document.location.search ? document.location.search + '&' : '?')
                    + 'msorder=' + response.data.msorder;
                    break;
                default:
                    location.reload();
            }
        };

стало в 4.1:
this.callbacks.submit.response.success = response => {
            if (response.data.redirect) {
                document.location.href = response.data.redirect;
            }
            if (response.data.msorder) {
                document.location.href = document.location.origin + document.location.pathname
                    + (document.location.search ? document.location.search + '&' : '?')
                    + 'msorder=' + response.data.msorder;
            }
            location.reload();
        };
Мой вариант:
this.callbacks.submit.response.success = response => {
            if (response.data.redirect) {
                document.location.href = response.data.redirect;
            }
            else if (response.data.msorder) {
                document.location.href = document.location.origin + document.location.pathname
                    + (document.location.search ? document.location.search + '&' : '?')
                    + 'msorder=' + response.data.msorder;
            } else {
                location.reload();
            }
        };