Алексей Суслов

Алексей Суслов

С нами с 21 июля 2016; Место в рейтинге пользователей: #313
Алексей Суслов
14 августа 2018, 22:56
0
Вы уверены? Может кэш?
Покажите ваш чанк blog_post
Алексей Суслов
14 августа 2018, 15:43
0
Добавьте в вызов pdopage это:
&useWeblinkUrl=`1`
Должно помочь.
Алексей Суслов
14 августа 2018, 14:26
0
Скорей всего у вас были изменены параметры сниппета по умолчанию, после обновления они затерлись.
Можете изменить снова и тогда будет опять без параметра по умолчанию работать.

Алексей Суслов
07 апреля 2018, 05:36
0
Javascript без разницы с чем работать, лишь бы код подходил к вашему коду формы.
Вот например переменные с того сайта, они разумеется должны соответствовать классам вашей формы:

var $frm=$element.find('.js-from-main__frm');
var $body=$element.find('.js-from-main__body');
var $errors=$element.find('.js-from-main__errors');
var isCompleted=true;
Алексей Суслов
07 апреля 2018, 05:01
+2
Так вроде там ничего особенного нет, это проста форма с одним полем, можно отправить тестовую заявку и увидеть, что все данные отправляются одной строкой в переменной body.
И лишь 2 простых функции javascript, которые проверяют ваше сообщение с помощью регулярных выражений: на ввод телефона или на ввод почты и еще проверка на отправку пустой формы.

function checkIfEmailInString(StrObj){var emailsArray=StrObj.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);if(emailsArray!==null&&emailsArray.length){return true;}
return false;}

function checkIfPhoneInString(string){return string.match(/([0-9]+)/)!==null;}

$frm.on('submit',function(e){e.preventDefault;if(!isCompleted){return false;}
isCompleted=false;$errors.hide().html('');if(!$body.val()){$errors.html('Укажите имя и контактные данные').show();isCompleted=true;return false;}

if(!checkIfEmailInString($body.val())&&!checkIfPhoneInString($body.val())){$errors.html('Укажите email или телефон').show();isCompleted=true;return false;}
return true;});}

Эта форма пропустит довольно много ошибочных или мусорных заявок, можно написать просто любое число, например 77, и она отправится, так как нет проверки на минимальную длину или на правильность ввода телефона. Все проверки сводятся к тому, чтобы хоть что-то было введено в форму и чтобы в этом что-то было что-то похожее на телефон или почту.
Алексей Суслов
07 апреля 2018, 04:41
0
Может еще у кого есть какие идеи?
Алексей Суслов
03 апреля 2018, 08:51
0
Так мы получим изображения товаров только с одним конкретным цветом, а нужно получить все изображения товаров, для которых есть уникальное значение цвета. То есть например у футболки есть 6 изображений (2 на каждый цвет), так вот в итоге нужно получить 3 изображения, по одному на каждый уникальный цвет.
С моим кодом я получаю все 6 изображений, с вамим кодом я буду получать 2 изображения какого-то одного цвета.
Алексей Суслов
03 апреля 2018, 03:50
0
Ни у кого нет идей?
Алексей Суслов
16 марта 2018, 14:12
+1
Вы искали в гугле по вашей ошибке? Выдаёт похожий пост modx.pro/help/11073/
Насколько я понял, парсер Minyfix в каком-то месте стопорится.
Алексей Суслов
10 марта 2018, 19:01
0
Могу добавить еще:
4) Наклейки — по идее легко реализуется через чекбоксы в минишопе: новинка, популярный и так далее. Если не хватает, то расширить через плагины. Это также ответ к 10 пункту.
6) modstore.pro/packages/ecommerce/cityfields
По микроразметкам вроде ничего не видел готового.
Алексей Суслов
10 марта 2018, 18:41
+1
Я абсолютно согласен, что при желании и умении в modx и minishop2 можно сделать очень многое, но согласитесь явно не из коробки же.
При большом желании можно и свой фильтр сделать к minishop2, но зачем, когда есть готовое дополнение.
Алексей Суслов
10 марта 2018, 18:29
0
Расскажите, пожалуйста, как человеку, который не первый раз делает магазины на minishop2, где вы нашли пункты 1,2,5 из коробки?
1) Как минимум title и h1 придется через тв поля делать, либо извращаться со стандартными longtitle и pagetitle, что далеко не всегда подходит.
2) Мало того, что фильтра из коробки нет (но есть хорошее платное дополнение mSearch2), так даже в нём нет ЧПУ, но сейчас полегче с этим, появилось хорошее дополнение SeoFilter, которое позволяет это реализовать. Явно не из коробки это всё.
5) Встраивание видео из коробки? Неужто видео в msgallery добавлять будете?

Может я реально чего-то не знаю, буду рад увидеть ответ поразвернутее, мне не нужно «расскажите, как мне сделать такой магазин подробно», но сейчас ваш ответ звучит неправдоподобно.
Алексей Суслов
10 марта 2018, 13:15
0
Ну самый простой вариант, который приходит в голову — проверять get:
{if $.get.min?}
Если пусто, то $.get.min = 0
Для $.get.max так же, но поставить например 999999, чтобы наверняка выводить все товары.

Еще пару вопросов и я тоже соглашусь с человеком выше, что лучше использовать mSearch2 :)
Так как у вас уже не просто фильтр по производителю получается.
Алексей Суслов
10 марта 2018, 12:30
0
У вас ошибка в синтаксисе, так должно работать:
'where' => '{"Data.price:>=":"'~$.get.min~'","AND:Data.price:<=":"'~$.get.max~'"}'
На будущее, используйте &showLog=1
Сразу бы увидели, что в вашем варианте условие where вообще перестает работать.
Алексей Суслов
07 марта 2018, 15:20
+1
Алиас к главному создавать, а там уже перехватывать запрос, плагином например, и отдавать нужную информацию в зависимости от поддомена.
Вот уже выкладывали пример: modx.pro/help/8959/#comment-61950
Алексей Суслов
03 марта 2018, 19:43
0
Странно, может быть ссылка как-то динамически создается javascriptом?
Либо может выше где-то выше под дереву весь блок обернут ссылкой?
Киньте ссылку, так можно точнее будет сказать.
Алексей Суслов
03 марта 2018, 15:51
0
Не обязательно нужно такое мощное дополнение, как mSearch2 для такой небольшой задачи.
Правда не совсем понимаю зачем через POST запрос, если только для ajax загрузки.
Но для get запроса вот рабочий пример, страница например — example.com/catalog/?vendor=sony:

{'!msProducts'|snippet:[
    'limit' => '10',
    'parents' => '3',
    'sortby' => 'publishedon',
    'sortdir' => 'DESC',
    'tpl' => 'products_row.tpl',
    'where' => '{"Vendor.name":"'~$.get.vendor~'"}'
]}
Если понадобится для post — аналогично, только заменить $.get на $.post
Алексей Суслов
03 марта 2018, 13:08
3
0
В общем пришлось пока временно сделать так:
в файле core/components/minishop2/model/minishop2/msproductdata.class.php
меняем строку:
$c->leftJoin('msOption', 'msOption', 'msProductOption.key=msOption.key');
на:
$c->rightJoin('msOption', 'msOption', 'msProductOption.key=msOption.key');
Это вроде помогло, по крайней мере с тегами, цветом и размерами — они перестали менять порядок сортировки при каждом сохранении товара. Но возможно такой фикс как-то повлияет на опции товара, так что на свой страх и риск.
Алексей Суслов
03 марта 2018, 08:26
0
Почему ссылку не убрать?
<a href="{$id | url}">{$pagetitle}</a>
Спокойно убирается, если нужно у определенных товаров, то условие прописать.