Юрий

Юрий

С нами с 12 мая 2017; Место в рейтинге пользователей: #1031
Юрий
18 сентября 2018, 20:24
1
+1
Поддерживаю, у меня сотни пустых страниц сгенерировало, причем даже для страниц, у которых нет товара пока… на 6 правил для 15 категорий появилось больше 400 урл, большая часть из которых с пустым содержимым. Прийдется отказываться от компонента(((
Alex
08 сентября 2018, 20:22
1
0
Здравствуйте. Обнаружил такую проблему, возможно я что-то не так делаю.
Есть каталог Сад Огород. В нем категории «Пилы цепные», «Газонокосилки», «Мотоблоки» и тд. У каждого товара есть производитель (msVendor). И вот тут возникает проблема. Создаем поле фильтра для вендоров, создаем правило и назначаем это правило для страницы «Пилы цепные», сохраняем. И вот тут начинается беда.
То есть, создаются УРЛы для раздела «Пилы цепные» с производителями, которых там нет и в помине. Например, пилы представлены двумя производителями — Honda, Hyundai, но также создаются и «левые» типа Пуберт, Макита и тд. То есть, осмелюсь предположить что компонент фигачит всех подряд вендоров, которые назначены товарам не ограничиваясь указанной страницей для правила. С любыми другими опциями та же беда, берутся значения со всех товаров. а не только с товаров указанной в правиле категории.
Вот это вот дело очень мешает жить, во-первых, создаются страницы с пустыми результатами фильтрации, но это можно побороть соответствующей системной настройкой и будет 404. Во-вторых, и главных, вот эта куча мусора которого быть по идеи не должно очень мешает работать, так как из, например, созданных 150-ти строк в таблице УРЛ, реально нужны 15, остальное просто мешает. Я боюсь представить что будет если на реальном проекте я загружу 2000 товаров с кучей опций для фильтрации, я просто ничего не смогу найти в «таблице УРЛ».
Еще заметил такой момент в сниппете sfMenu. Так как много мусорных УРЛ создается, как я описал выше, в «облаке ссылок» они также вылазят при выводе sfMenu и получается ссылки ведут на 404. Ок. Есть параметр mincount, задаю значение 1, и блин, вместе с УРЛами где результатов 0, также не выводятся УРЛы по которым результат 1. То есть, если я правильно понимаю, то дословно параметр mincount означает минимальное количество, то есть вывести ссылки с минимальным количеством результатов один и более. Но не работает. Выводится больше одного.
Подитожу вопрос. Как сделать чтобы при создании правила, ссылки в таблице УРЛ создавались относительно товаров указанной страницы, а не брались значения всех товаров подряд из всех категорий на сайте?
Евгений Шеронов
26 сентября 2017, 11:59
1
+1
Добрый день!
По порядку отвечу:
1. Встречался с подобным запросом ещё до релиза) Это не совсем, конечно, относится к компоненту. Но проблема кроется в том, что pdoPage ловит все GET-параметры. Там несколько вариантов есть решения: наследовать класс, переопределить метод makePageLink и прописать в системных настройках, либо же пытаться обработать строку с готовым url через сниппет модификатор, который будет проверять на наличие GET/REQUEST параметров, на их причастность к SeoFilter на текущей странице и удалять лишнее))
Пока в самом компоненте такого предусмотрено не будет. Но если это прям проблема для многих, то скорее всего придумаю что-то в виде инструкции.

2. У вас даже на скриншоте видно эту проблему. Плейсхолдеры нужно оборачивать в классы, для контент поля класс по умолчанию ".sf_content", для h1 — ".sf_h1" и т.д.

3. При указывании alias, нужно изменить параметр для названия чанка. У вас для цен это будет:
&tplFilter.outer.price=`tpl.mFilter2.filter.slider.shop`
	&tplFilter.row.price=`tpl.mFilter2.filter.number.shop`
4. А добавление в title регулируется системной настройкой в разделе SeoFilter «Добавлять SEO-заголовок через разделитель».
Павел Гвоздь
17 июля 2016, 11:43
3
+1
Так есть же [[!+pageCount]]…
Вот на стандартном синтаксисе:
[[!pdoPage?
    &parents=`0`
    &limit=`5`
    &tpl=`@INLINE <div>[[+id]] - [[+pagetitle]]</div>`
]]
[[!+pageCount:ne=`1`:then=`[[!+page.nav]]`:else=`Без пагинации сегодня`]]

А это на Fenom:
{'!pdoPage' | snippet : [
    'element' => 'pdoResources',
    'parents' => 0,
    'limit' => 5,
    'tpl' => '@INLINE <div>{$id} - {$pagetitle}</div>',
]}
{if ('pageCount' | placeholder) != '1'}
    {'page.nav' | placeholder}
{else}
    Без пагинации сегодня
{/if}