Евгений Шеронов

Евгений Шеронов

С нами с 20 мая 2015; Место в рейтинге пользователей: #30
Евгений Шеронов
18 декабря 2018, 20:43
+1
Подобный вопрос можно по разному понимать.
При открытии категории 3 и так будут показаны товар 2 и 7, при использовании сниппета msProducts.

А вот если визуально нужно их сгруппировать, то нужно будет в вызове сниппета приджойнить родителей, сделать группировку и если лень возиться с написанием своего сниппета, то в чанке результата можно выставлять плейсхолдер (через Fenom) в виде id родителя и его получение, чтобы не дублировать для двух товаров название подкатегорий/категорий.

Если же заведомо точно в такой категории будет выводиться по одному товару из каждой подкатегории, то можно обойтись «малой кровью» в виде:
{set $grandparent = $parent|resourse:'parent'}
{$grandparent|resource:'pagetile'} - {$parent|resource:'pagetitle} - {$pagetitle}
Ну а вообще, можно через msProducts сделать returnIds=`1`, обработать своим сниппетом, вытащив категории и в каждой снова вызвать msProducts по соответствующим товарам.

В общем способов полно, самые сложные не стал предлагать) Может кто-то попроще знает.
Евгений Шеронов
18 декабря 2018, 20:23
0
Обычно проблема со счётчиками, например от гугл аналитикс.
Там нужно проставить пробелы после открытия фигурных скобок.
Тег ignore в данном случае не спасает.
Евгений Шеронов
15 декабря 2018, 14:18
0
Здравствуйте!
К примеру, здесь используется mFilter2?
— тут не мой SeoFilter используется.

Для ajax фильтрации самое простое — приобрести mSearch2.
Но, конечно, можно и самостоятельно написать фильтр и «скрестить» с SeoFilter.

Хотя, напишите мне в поддержку, хочу проверить одну наработку, так как у вас уже есть свёрстанный фильтр.
Евгений Шеронов
13 декабря 2018, 16:57
0
Здравствуйте, что-то я упустил из вида комментарии выше.

Формируются все страницы по собранным значениям.
Нужно всего лишь разобраться с подсчётами, активировать настройку — отдавать 404 на пустых настройках.
И в таблицу урл можно даже не заходить.

P.S. Планирую добавить возможность не создавать пустые страницы.
Но в любом случае, нужно будет корректно настраивать подсчёты (то есть делать так, чтобы совпадали условия страницы и правил, корректно прописаны ключи, при множественных ТВ полях не стояла галочка строгий поиск, расширять класс подсчётов при использовании нестандартных полей, таблиц, классов)

Артем, какие ещё проблемы есть?
Над компонентом регулярно работаю и готовлю большое обновление.
Можете и на почту ответить, как будет удобнее.
Евгений Шеронов
07 декабря 2018, 17:40
0
Да, если хотите чтобы всё из коробки работало, потратив немного времени на настройку.
Но вообще и фильтрацию свою можно написать и скрипты SeoFilter переопределить под свои фильтры и задачи.
Евгений Шеронов
27 ноября 2018, 15:51
+2
Добрый день!
Тут даже мне тяжело так сходу ответить, что не так)

Могу предположить, что при добавлении поля не совсем верно указали.
Здесь modx.pro/components/15476 в нижней части топика есть пункт про производителя.
В вашем случае синоним для этого поля должен быть vendors (такой, как прописан в aliases в mFilter2).

И просто указав ссылку сайт было бы гораздо понятнее.
Если не разберётесь — пишите мне в поддержку)
Евгений Шеронов
06 августа 2018, 09:50
0
Зачем на главной вызов pdoPage, если нет пагинации?
Достаточно просто msProducts.
Инклудить большие превьюшки тоже не нужно, раз в Ajax модалька, пусть там у товара image используется
Если изначально thumb небольшого размера — то можно перегенерировать.
Евгений Шеронов
17 июля 2018, 17:34
0
Как я понимаю, речь идёт про это?
Работа с множественными значениями одного фильтра автоматически (чтобы при выборе цветов:
красный, синий, зелёный и т.д. был красивый URL и тексты)
Это всё также пока в планах, так как никто сильно и не хочет эту фишку)
Уже несколько раз вопросы отправлял о том, что важнее в такой реализации.

Даже если это делать — то нет смысла формировать постоянные адреса в таблице пересекая бренды друг с другом. Поэтому ссылки на такие страницы не сформировать.

Потенциально таких страниц очень много и от поисковика наверное нужно будет закрывать.
В общем, всё это для красоты и удобства.

Но в ручную можно делать двойные, тройные страницы из одних значений фильтра.
s9767.h8.modhost.pro/category-cvet-zelenyij-i-korichnevyij/ — пример

Для этого просто в словарь добавлен запрос так:
зеленый,коричневый
Евгений Шеронов
16 июля 2018, 18:18
0
Добрый день!

Прям содержимое страниц вот так просто не вывести, потому что переменные в текстовых шаблонах на лету добавляются для каждой ссылки.

Но самое простое, приспособить sfMenu под это дело, но придётся доработать класс, при этом если страниц много — то скорость загрузки серьёзно увеличится.

Вообще можете написать в тех поддержку мне и уже там пришлите код чанка в turborss.tpl.
Что-нибудь попробуем придумать)
Евгений Шеронов
03 июля 2018, 06:46
+1
1. Расширить методы фильтрации: docs.modx.pro/components/msearch2/extension/components/msearch2/the-extension/filtering-methods

2. В вызове mFilter2 цену прописать как нибудь-так (типо свою таблицу msmy используем):
msmy|price:number

3. Не забыть создать метод getMsmyValues, который будет почти повторять getMsValues и также собирать цену, но ещё подсоединять значения из ТВшки и перемножать цену на эту тв.
Вернуть такой метод должен массив новых обработанных цен вместе с ресурсами.
$filters = array(
	'price'=>array(	
		'1000'=>array(12,19,125,754,543),
		// и т.д.
	)
);
P.S. и естественно от записи новой цены в плагине на msOnGetProductPrice нужно отказаться.
Евгений Шеронов
21 июня 2018, 01:48
0
А что будет если появления товаров ждут 10/100/1000 человек?

На событие OnMODXInit не совсем правильно, как мне кажется, лишние запросы будут.
Конечно, отключить плагин не проблема.

А вот крон проверка точно нужна.
На днях поставлю, давно нужно автоматизировать этот процесс себе)

Админский интерфейс или где-нибудь упоминание есть, какой товар ждут больше?)
Евгений Шеронов
19 июня 2018, 21:51
0
Многие ждали этот компонент в чате)

Как происходит отслеживание поступления товара?
Нужно задать поле, которое будет отслеживаться по onDocFormSave?
Евгений Шеронов
17 июня 2018, 16:55
+1
Да, конечно можно)
Без этого и нельзя было бы сделать привязку правила к нескольким страницам.
Только синтаксис не совсем стандартный, а вот такой:
{$id|resource:'pagetitle'}
В тексте тоже было:
в текстах правила через Fenom можно использовать все поля ресурса через конструкцию {$id|resource:'pagetitle'}
Евгений Шеронов
04 июня 2018, 00:32
0
Спасибо!

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

А вот со страницы товара — большой вопрос.
Тут в принципе можно сделать, но скорее всего нужно будет построить pdoCrumbs до родителя, передав в параметр &to=`[[*parent]]`, используя шаблон последней ссылки таким же, как и у других ссылок.

А потом сделать несколько вызовов sfLink, передавая параметры, чтобы получить необходимую ссылку.

Но вообще да, можно конечно сделать сниппет sfCrumbs (обёртку над pdoCrumbs) для страницы товара, который будет пытаться построить максимальную вложенность SEO-страниц к странице родителю (или переданной категории).

В этом сниппете уже получать все возможные поля ресурса, которые заведены в компонент SeoFilter и в зависимости от приоритета правил — строить вложенные хлебные крошки. Запросов прибавится, но так как это страница одного товара — будет почти не заметно.

Подумаю над этой реализацией — если ещё кому нибудь нужно что-то подобное, пишите обязательно)
Евгений Шеронов
31 мая 2018, 18:36
0
Приятно смотреть на развивающиеся компоненты)

Повлиять на голос Вы не сможете
Теоретически через плагин лучше сделать возможность влиять (как в miniShop2 можно не дать добавить в корзину) вернув false и сообщение «Вам отключена функция голосования ...».

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

P.S. меня можно не слушать — я пока ещё не пользовался компонентом, но когда-нибудь планирую :)
Евгений Шеронов
28 мая 2018, 16:03
0
Значит не только у меня такие проблемы)
Моё тоже с ошибками удаляется, правда защита там была вшита ещё до этой статьи)
Один из клиентов заметил.

Помогает принудительное удаление пакета.
Я, правда, не считаю это серьёзной проблемой и пока ещё не начал искать решение.
Евгений Шеронов
23 мая 2018, 10:30
+2
Автор, я тут немного подправил код, чтобы из Tagger для отображения вытаскивать Label, а для значения Tag — так более правильно.
gist.github.com/sheronov/a64692ced49a4f120ae87fd9795a0299

Сохранил название методов и класса, если хотите — можете у себя в заметке поправить.

Кстати, метод filterTgroup — немного лишний, так как если его нет, будет filterDefault отрабатывать.
Евгений Шеронов
09 мая 2018, 12:39
0
Закажите сайт без внедрения SEO-фильтра.
Как сайт и разделы с подразделами будут готовы — напишите мне.