[SeoFilter] долгожданное обновление: меню, sitemap
[ купить дополнение ] [ демо ] [ документация ]
Выкладываю долгожданное обновление SeoFilter со сниппетами для формирования меню и карты сайта.
Кто ещё не знаком с SeoFilter, рассказываю его возможности.
Компонент позволяет создавать виртуальные страницы с красивым постоянным адресом по любым полям ресурса, товара, включая дополнительные поля(TV) и поля, значения которых хранятся в других таблицах. Также можно использовать одновременно несколько полей для формирования страниц.
Для виртуальных страниц предусмотрено динамическое формирование заголовков, контента с автоматической подстановкой значений полей с возможностью их склонения по падежам и с подсчётом количества ресурсов, удовлетворяющих условиям станицы.
Всё это может работать даже через AJAX совместно с mSearch2 или без него.
Подробнее про все возможности в первом анонсе и документации.
А в этом обновлении два новых сниппета и небольшие изменения в коде:
! Важно ! Отличается от pdoMenu тем, что за сформированную ссылку на страницу здесь отвечает параметр [[+url]], а за её название параметр [[+name]].
Вообще можете задавать пустые чанки и проверять что можно использовать :) Параметров, которыми можно управлять формированием меню много, что я наверно и не все проверил) Можно вообще не указывать параметры и получить все ссылки. Но вот основные:
1. Пример с группировкой на отдельной странице с исключением «пустых» страниц.
Самый первый скриншот.
2. Пример с вложенностью ссылок от двух ресурсов
3. Меню только первого уровня с сортировкой по количеству
В pdoSitemap для параметра tplWrapper на демке я использовал чанк. Его содержимое:
! Важно ! При совместном использовании на одной странице нужно задавать пустой параметр forceXML, чтобы не было конфликтов заголовков header.
Теперь не нужно вызывать дополнительные сниппеты для названия ссылки, так как в одном из предыдущих обновлений для всех ссылок правила (виртуальных страниц) можно задавать шаблон для формирования названия.
Если же какой-то цвет исключается правилом 22 (цвет + категория) или ссылка отключена, то будет поиск по правилу 17 (категория). Оно здесь специально стоит последним.
Меню и карта сайта кэшируются по-умолчанию на час. Подсчёт ресурсов дорогая операция на запросы, так как для каждой ссылки прогоняется. Но по времени у меня даже первый запуск не особо долгий, но всё сильно зависит от количества ссылок.
Описал, что вспомнил. Документация будет позже, а пока задавайте вопросы, если есть :)
Выкладываю долгожданное обновление SeoFilter со сниппетами для формирования меню и карты сайта.
Кто ещё не знаком с SeoFilter, рассказываю его возможности.
Компонент позволяет создавать виртуальные страницы с красивым постоянным адресом по любым полям ресурса, товара, включая дополнительные поля(TV) и поля, значения которых хранятся в других таблицах. Также можно использовать одновременно несколько полей для формирования страниц.
Для виртуальных страниц предусмотрено динамическое формирование заголовков, контента с автоматической подстановкой значений полей с возможностью их склонения по падежам и с подсчётом количества ресурсов, удовлетворяющих условиям станицы.
Всё это может работать даже через AJAX совместно с mSearch2 или без него.
Подробнее про все возможности в первом анонсе и документации.
А в этом обновлении два новых сниппета и небольшие изменения в коде:
sfMenu — формирование меню
Первый и самый функциональный это sfMenu. Для формирования меню создал новый класс. Очень многое взято из pdoMenu, в том числе почти вся поддержка классов. Очередное спасибо Василию. Мой код, пока не такой изящный, но стараюсь делать всё красиво. Всю документацию напишу позже.! Важно ! Отличается от pdoMenu тем, что за сформированную ссылку на страницу здесь отвечает параметр [[+url]], а за её название параметр [[+name]].
Вообще можете задавать пустые чанки и проверять что можно использовать :) Параметров, которыми можно управлять формированием меню много, что я наверно и не все проверил) Можно вообще не указывать параметры и получить все ссылки. Но вот основные:
- rules — список правил, чьи ссылки нужно использовать в меню; (можно с минусом)
- parents — список страниц, к которым привязаны правила; (можно с минусом)
- urls — отдельно id виртуальных страниц из таблицы url; (можно с минусом)
- countChildren — подсчёт ресурсов(товаров) которые будут на странице;
- mincount — минимальное количество ресурсов для включения ссылки в меню;
- sortcount: — сортировка по количеству ресурсов, приоритетнее той что в sortby;
- relative — экспериментальная перестройка меню исходя из выбранной seo-страницы;
- nesting — виртуальное вкладывание ссылок в ссылки, попробуйте :) ;
- double — дублирование ссылок при вкладывании, так как могут относится к нескольким правилам, так сказать мультикатегории;
- nesting — виртуальное вкладывание ссылок в ссылки, попробуйте :) ;
- groupbyrule — группировка по правилам (отдельный чанк-обёртка tplGroup);
1. Пример с группировкой на отдельной странице с исключением «пустых» страниц.
Самый первый скриншот.
[[!sfMenu?
&countChildren=`1`
&groupbyrule=`1`
&sortby=`createdon`
&sortdir=`ASC`
&mincount=`1`
&parents=`9`
&tplGroup=`@INLINE <div class="col-sm-6"><h4>[[+name]] <small>[[+total]] ссылок</small></h4>[[+wrapper]]</div>`
&tplOuter=`@INLINE <ul[[+classes]]>[[+wrapper]]</ul>`
&tpl=`@INLINE <li[[+classes]]><a href="[[+url]]">[[+name]]</a> <nobr><span>([[+total]] [[+total:units=`товар|товара|товаров`]])</span><small> - [[+count]] [[+count:units=`просмотр|просмотра|просмотров`]]</small></nobr>[[+wrapper]]</li>`
]]
2. Пример с вложенностью ссылок от двух ресурсов
[[!sfMenu?
&countChildren=`1`
&nesting=`1`
&double=`0`
&mincount=`2`
&parents=`9`
]]
3. Меню только первого уровня с сортировкой по количеству
[[!sfMenu?
&countChildren=`1`
&sortcount=`1`
&sortby=`createdon`
&sortdir=`DESC`
&mincount=`1`
&parents=`9`
&level=`1`
]]
sfSitemap — карта сайта
Сниппет создан на основе класса меню, поэтому поддерживает почти все те параметры, за исключением вложенности и группировки. Также здесь взято почти всё из pdoSitemap и использовать их можно совместно. Здесь напишу только этот пример, в остальном разобраться не сложно.В pdoSitemap для параметра tplWrapper на демке я использовал чанк. Его содержимое:
<?xml version="1.0" encoding="{'modx_charset' | option}"?>
<urlset xmlns="{$schema}">
{$output}
{$_modx->runSnippet('sfSitemap',['tplWrapper'=>'sitemap.output', 'countChildren'=>1, 'mincount'=>1, 'forceXML'=>''])}
</urlset>
Где в сниппете sfSitemap в параметр tplWrapper написал чанк sitemap.output с содержимым {$output}. ! Важно ! При совместном использовании на одной странице нужно задавать пустой параметр forceXML, чтобы не было конфликтов заголовков header.
sfLink — обновление логики работы
Его смысл остался таким же, выводить ссылку при вводе id правила(или нескольких). Но код и формат использования стали лучше. Простой пример для того, чтобы вывести ссылку на сложную страницу. (у меня включён Fenom в шаблонах)Ссылка на категорию:
{foreach $_modx->resource.color as $cvet}
{'!sfLink'|snippet:[
'rules'=>'22,17',
'category'=>$_modx->resource.parent,
'cvet'=>$cvet
]}
{/foreach}
Где-то выведет одну ссылку, где-то несколько: Теперь не нужно вызывать дополнительные сниппеты для названия ссылки, так как в одном из предыдущих обновлений для всех ссылок правила (виртуальных страниц) можно задавать шаблон для формирования названия.
Если же какой-то цвет исключается правилом 22 (цвет + категория) или ссылка отключена, то будет поиск по правилу 17 (категория). Оно здесь специально стоит последним.
Меню и карта сайта кэшируются по-умолчанию на час. Подсчёт ресурсов дорогая операция на запросы, так как для каждой ссылки прогоняется. Но по времени у меня даже первый запуск не особо долгий, но всё сильно зависит от количества ссылок.
Описал, что вспомнил. Документация будет позже, а пока задавайте вопросы, если есть :)
Поблагодарить автора
Отправить деньги
Комментарии: 61
У меня такой вопрос: а ресурсы кроме виртуальных ссылок так же остаются доступны по оригинальному пути или нет? Т.е. как обстоят дела с дублями страниц?
Вопрос не совсем понял, но компонент никак не затрагивает роботу обычных ресурсов. Все виртуальные станицы привязаны к физической странице и их адрес всегда будет зависеть от этой страницы. Метод формирования адреса можно задавать в параметре scheme (abs, full и т.д).
Дублями вы называете то, когда одна страница доступна по нескольким адресам?
Если так, то в системных настройках SeoFilter можно включить переадресацию на страницу с нужным окончанием (слэш, .html и т.д).
Дублями вы называете то, когда одна страница доступна по нескольким адресам?
Если так, то в системных настройках SeoFilter можно включить переадресацию на страницу с нужным окончанием (слэш, .html и т.д).
Добрый день, Евгений, спасибо за обновление. Есть одна проблема со сниппетом sfmenu. Если страницы на сайте не имеют окончания, то есть вида site.ru/category, то ссылки в меню выводятся неправильно, site.ru/categorystranica1, при этом при работе через фильтрацию mfilter2, все работает правильно site.ru/category/stranica1. Это можно как-то исправить или подождать следующего обновления?
Можете сами поправить, но в следующем обновлении учту, как наберутся ещё несколько замечаний.
В чанке ссылки (параметр tpl) вместо плейсхолдера [[+url]] можете прописать так:
Или же в синтаксисе Fenom: (что приятнее выглядит)
В чанке ссылки (параметр tpl) вместо плейсхолдера [[+url]] можете прописать так:
[[~[[+page_id]]]]/[[+new_url:default=`[[+old_url]]`]]
При этом чанк ссылки в таком варианте лучше не в inline формате использовать. Или же в синтаксисе Fenom: (что приятнее выглядит)
{$page_id|url}/{$new_url ?: $old_url}
P.S. Эта инструкция для тех, у кого в качестве суффикса контейнера пустое значение.
Евгений, а доступ тестовый в админ можно получить? Как Василий в минишоп с фильтрами открыл, чтобы посмотреть как под капотом все устроено, чтобы понять можно будет как то совместить ваше решение со своим сайтом?
спасибо.
спасибо.
Можно) Даже на целый день — modhost.pro
Заодно поставьте mSearch2, miniShop2 и пройдите Быстрый старт SeoFilter
Проблем с совместимостью пока ещё не бывало.
Раз задались таким вопросам — то на 99% дополнение Вам подойдёт)
Заодно поставьте mSearch2, miniShop2 и пройдите Быстрый старт SeoFilter
Проблем с совместимостью пока ещё не бывало.
Раз задались таким вопросам — то на 99% дополнение Вам подойдёт)
А в самом ресурсе можно получить обратные ссылки на эти созданные страницы?
Да, даже на те, что состоят из двух или более полей.
Для этого предусмотрен сниппет sfLink.
Для этого предусмотрен сниппет sfLink.
Подскажите, как в сниппете получить параметры страницы, например поле, где хранится Заголовок страницы
seofilter_title
seofilter_title
Здравствуйте!
А в каком именно сниппете?
Если в SEO шаблонах правила, то вот так:
А сама настройка seofilter_title отвечает за то, чтобы подставлять оригинальный заголовок страницы, когда, например, будет выбрано много значений одного поля.
А в каком именно сниппете?
Если в SEO шаблонах правила, то вот так:
{$id | resource:'pagetitle'}
Здесь $id — это id страницы, куда относится правило.А сама настройка seofilter_title отвечает за то, чтобы подставлять оригинальный заголовок страницы, когда, например, будет выбрано много значений одного поля.
Я имею ввиду в собственном сниппете подключенном в шаблоне. Нужно в нем получить +sf.title и другие
В своих сниппетах вот так:
Либо же можете передавать как параметры:
$modx->getPlaceholder('sf.title'); //sf.description и т.д.
Либо же можете передавать как параметры:
[[!mySnippet? &title=`[[!+sf.title]]` &introtext=`[[!+sf.introtext]]`]]
Спасибо
А такой ещё вопрос, есть ли возможность генерации seo полей для всех категорий по единому шаблону и возврату к нему?
Например, для всех категорий каталога одежды сформирован один стиль генерации description (default), но при указании индивидуального описания и в фильтре при возврате к товару без фильтра, description остаётся как при индивидуальном, но уже не default т.к. он генерировался в другом месте и брался не из поля.
Вот есть ли возможность вернуть значение к default?
Например, для всех категорий каталога одежды сформирован один стиль генерации description (default), но при указании индивидуального описания и в фильтре при возврате к товару без фильтра, description остаётся как при индивидуальном, но уже не default т.к. он генерировался в другом месте и брался не из поля.
Вот есть ли возможность вернуть значение к default?
Покажите пример, как у Вас изначально формируется description.
Как вариант, можете сделать ТВ поле, куда можете записать свой вызов сниппета для формирования description и в системных настройках для поля description задать это ТВ поле, для подстановки по умолчанию.
Как вариант, можете сделать ТВ поле, куда можете записать свой вызов сниппета для формирования description и в системных настройках для поля description задать это ТВ поле, для подстановки по умолчанию.
Да, как вариант, но для вновь созданных категорий надо не забывать добавлять этот сниппет в ТВ. А через системные настройки/ClientConfig нельзя ли тоже самое сделать?
Я думаю было бы не плохо в системных настройках сделать возможность указания сниппета по обработке seo данных при возврате значений на default или что-то подобное.
Я думаю было бы не плохо в системных настройках сделать возможность указания сниппета по обработке seo данных при возврате значений на default или что-то подобное.
Как значение по-умолчанию поставьте в ТВ и всё :)
Думал когда-то над тем, чтобы сделать там возможность писать @INLINE чанки, где можно будет и сниппеты на Fenom запускать, но что-то взвесил все за и против, решил остаться на одном варианте.
Но так как много категорий может быть разных — это не самый удобный вариант.
Я просто всё равно не понимаю, что у Вас там по умолчанию делает сниппет?)
Берёт значение из description и изменяет его?
Или в самом description какие нибудь параметры-плейсхолдеры, выставляемые другими сниппетами? Если так, то все возвращаемые текстовые шаблоны (даже для страниц по умолчанию) через AJAX могут обрабатываться сниппетом из настройки prepareSnippet.
Вот пример сниппета обработчика:
Думал когда-то над тем, чтобы сделать там возможность писать @INLINE чанки, где можно будет и сниппеты на Fenom запускать, но что-то взвесил все за и против, решил остаться на одном варианте.
Но так как много категорий может быть разных — это не самый удобный вариант.
Я просто всё равно не понимаю, что у Вас там по умолчанию делает сниппет?)
Берёт значение из description и изменяет его?
Или в самом description какие нибудь параметры-плейсхолдеры, выставляемые другими сниппетами? Если так, то все возвращаемые текстовые шаблоны (даже для страниц по умолчанию) через AJAX могут обрабатываться сниппетом из настройки prepareSnippet.
Вот пример сниппета обработчика:
<?php
$row = unserialize($row);
if($rule_id) {
// здесь же можете добавлять, изменять и обрабатывать значения
} else {
// здесь делаете любые запросы, на подчсёты свои и т.д
// и выставляете так: $row['myparam'] = 'Мой параметр';
}
return serialize($row);
description формируется в зависимости от категории/родителя/названия страницы и пр.
И мне нужно вернуть именно такой дефолт.
И ещё одно, например, у страницы фильтра есть контент а у дефолтной нет, но чтобы текст при переходе на дефолт пропадал приходится в каждой категории вставлять пустые символы.
И мне нужно вернуть именно такой дефолт.
И ещё одно, например, у страницы фильтра есть контент а у дефолтной нет, но чтобы текст при переходе на дефолт пропадал приходится в каждой категории вставлять пустые символы.
Первое — пока только свой вызов сниппета в возвращаемом ТВ поле для страниц по умолчанию.
А если кому-то наоборот, не надо, чтобы контент пропадал?)
Какое решение Вы можете предложить, чтобы всех устроило?
А если кому-то наоборот, не надо, чтобы контент пропадал?)
Какое решение Вы можете предложить, чтобы всех устроило?
В поля для подстановки по умолчанию добавить возможность указания ещё и сниппета, тогда всё будет в одном месте и не надо создавать тв чтобы для него указывать сниппет по умолчанию.
Мне необходимо на страницу производителя вывести все подразделы, в которых он встречается. Например, есть категория детские коляски. В ней разделы — прогулочные коляска, модульные коляски и тд. В каждой есть производитель Riko. На странице производителя нужно чтобы было прогулочные коляски Riko, модульные коляски Riko и тд. И изображение, которое вытягивается из TV раздела. Получится такое сделать с вашим дополнением?
Добрый вечер!
С компонентом точно можно создать страницы производителей, производителей с категориями, привязав это к родительской категории.
Ну и меню можно сформировать на разделы, с функцией относительности или же изначально создать правила, ограничив их по производителям.
В целом ответ, да, можно)
Если не разберётесь как — напишите в поддержку, сделаю пример именно для вашего сайта.
С компонентом точно можно создать страницы производителей, производителей с категориями, привязав это к родительской категории.
Ну и меню можно сформировать на разделы, с функцией относительности или же изначально создать правила, ограничив их по производителям.
В целом ответ, да, можно)
Если не разберётесь как — напишите в поддержку, сделаю пример именно для вашего сайта.
Спасибо за ответ, куплю — напишу в ТП, если будут затруднения
Как быть с canonical?
У меня был сниппет который разбирал текущий url и если там присутствовал вопросительный знак возвращал канонический адрес страницы. Т.е это site.com/a?raz=dva превращал в это
У меня был сниппет который разбирал текущий url и если там присутствовал вопросительный знак возвращал канонический адрес страницы. Т.е это site.com/a?raz=dva превращал в это
<link rel="canonical" href="site.com/a">
Установил сеофильтр, и думал он будет возвращать в сниппет для преобразования site.com/a/dva, а он все равно возвращает site.com/a?raz=dva
А как Вы формируете этот тег?
В принципе можете прописать туда плейсхолдер:
В принципе можете прописать туда плейсхолдер:
[[!+sf.url:default=`[[~[[*id]]]]`]]
То что нужно, спасибо!
Евгений, здравствуйте. Классное у вас дополнение получилось. Сложное правда, но свое дело делает:). Спасибо.
Теперь о проблеме. Я пробовал сделать через сниппет sfMenu меню. И хотелось сделать его так, чтобы пустые категории не выводились. И тут я столкнулся с проблемой. У меня есть составные разделы. К ним привязано несколько полей. Для таких разделов сниппет неправильно считает кол-во вложенных товаров, если фильтровать по msProductOption. Он учитывает только одно значение, а остальные игнорирует.
Я решил эту проблему изменением функции countChildren. Вот мое решение gist.github.com/Kookabura/e9ef4c0f94faa8deaf1fe6e02c41d1d7. Правки в коде в строках 18-21, 30-33, 70-82.
Посмотрите, пожалуйста, у себя. Если решение вам понравится, то включите в следующее обновление.
Теперь о проблеме. Я пробовал сделать через сниппет sfMenu меню. И хотелось сделать его так, чтобы пустые категории не выводились. И тут я столкнулся с проблемой. У меня есть составные разделы. К ним привязано несколько полей. Для таких разделов сниппет неправильно считает кол-во вложенных товаров, если фильтровать по msProductOption. Он учитывает только одно значение, а остальные игнорирует.
Я решил эту проблему изменением функции countChildren. Вот мое решение gist.github.com/Kookabura/e9ef4c0f94faa8deaf1fe6e02c41d1d7. Правки в коде в строках 18-21, 30-33, 70-82.
Посмотрите, пожалуйста, у себя. Если решение вам понравится, то включите в следующее обновление.
Вам спасибо!)
Протестирую у себя и добавлю)
Протестирую у себя и добавлю)
Чуть исправил код по ссылке. Нашел ошибку.
Простите, а вы в каком файле это меняли?
core\components\seofilter\model\seofilter\sfmenu.class.php
Но советую дождаться официального обновления, где проблема с подсчётом двух и более опций будет исправлена.
Добрый день, вот такой у меня вопрос, на тестовом сайте, пробовал сделать следующий функционал с вашим модулем.
Каталог->подкатегории (>10)
вывел я их селектом, кое как разобрался, конечно :-)
Но, теперь выявилась проблема, при обновлении страницы пропадает заголовок, он просто пустой. Далее, ссылка формируется такая же, как и реальная ссылка с подкатегорией товаров. И там, оказывается, вообще не отображается заголовок h1. Решил я вопрос таким образом
до этого стоял такой вариант.
Каталог->подкатегории (>10)
вывел я их селектом, кое как разобрался, конечно :-)
Но, теперь выявилась проблема, при обновлении страницы пропадает заголовок, он просто пустой. Далее, ссылка формируется такая же, как и реальная ссылка с подкатегорией товаров. И там, оказывается, вообще не отображается заголовок h1. Решил я вопрос таким образом
[[!+sf.title:notempty=`[[!+sf.title]] / `]][[!pdoTitle? ®isterJs=`1` &limit=`1`]]
Но, это же стоит и в title, каким образом можно исправить?до этого стоял такой вариант.
[[!+sf.h1:default=`{$pagetitle}`]]
Добрый день!
Такой вариант точно не будет работать в заголовке:
Правильно так:
По таким вопросам лучше в поддержку на Modstore пишите modstore.pro/office/support#office/support/add
Такой вариант точно не будет работать в заголовке:
[[!+sf.h1:default=`{$pagetitle}`]]
Правильно так:
[[!+sf.title:default=`[[*pagetitle]]`]] // или так:
{$_modx->getPlaceholder('sf.title')?:$_modx->resource.pagetitle}
По таким вопросам лучше в поддержку на Modstore пишите modstore.pro/office/support#office/support/add
У кого-то работает меню? У меня нет, вообще никак…
Напишите в поддержку на modstore.pro/office/support#office/support/add с подробностями что делаете, а лучше сразу с доступом.
Ещё не было случая, где не удавалось помочь)
Ещё не было случая, где не удавалось помочь)
Было бы не плохо, реализовать такой функционал.
1) Одно SEO правило на все.
2) Возможность, указать — разделы где выводить то или иное правило (массово — проставление галок + поиск).
3) Было бы не плохо, сделать возможность, выводить несколько — sfMenu, указав одно правило, которое обрабатывается согласно текущего ID ресурса. C применением параметра rules.
4) Картинки
1) Одно SEO правило на все.
2) Возможность, указать — разделы где выводить то или иное правило (массово — проставление галок + поиск).
3) Было бы не плохо, сделать возможность, выводить несколько — sfMenu, указав одно правило, которое обрабатывается согласно текущего ID ресурса. C применением параметра rules.
4) Картинки
Здравствуйте. Пробовал на тестовом сайте настроить seoFilter. Вроде со всем разобрался, но ЧПУ и замена Н1 по полю ms|price принципиально не хочет работать.
Вызов фильтра:
Создал «Правило SEO» для цены и в «Заголовок Н1» добавил примерно так — «лоауцло».
В общем при фильтрации по цене выдает вот такую ссылку: site.com/catalog/?price=526,829 и не производит замену заголовка. Можно вообще сделать ссылку site.com/catalog/price=526,829 без? и замену заголовка или такого нет в функционале? Для остальных полей все прекрасно работает и чпу и замена заголовка.
Вызов фильтра:
{$_modx->runSnippet('!mFilter2@filter', [
'parents' => $_modx->resource.id,
'paginator' => 'pdoPage@pagination',
'element' => 'msProducts',
'setMeta' => '1',
'class' => 'msProduct',
'limit' => '12',
'pageLimit' => '7',
'ajaxMode' => 'button',
'tpl' => '@FILE chunks/productItem.tpl',
'filters' => '
ms|price:number,
msoption|gender,
msoption|povod,
msoption|hobbymen,
msoption|hobbywomen,
msoption|yearold,
',
'aliases' => '
ms|price==price,
msoption|gender==komy,
msoption|povod==podarok,
msoption|hobbymen==dlya,
msoption|hobbywomen==whobby,
msoption|yearold==vozrast
',
'tplFilter.outer.price' => 'tpl.mFilter2.filter.slider',
'tplFilter.row.price' => 'tpl.mFilter2.filter.number',
])}
Создал «Поле Фильтра», поставил там галку «Поле типа „Слайдер“ (number фильтры)»Создал «Правило SEO» для цены и в «Заголовок Н1» добавил примерно так — «лоауцло».
В общем при фильтрации по цене выдает вот такую ссылку: site.com/catalog/?price=526,829 и не производит замену заголовка. Можно вообще сделать ссылку site.com/catalog/price=526,829 без? и замену заголовка или такого нет в функционале? Для остальных полей все прекрасно работает и чпу и замена заголовка.
Доброе утро!)
Так, видимо с последним обновлением mSearch2 (где добавлена фишка с динамическим слайдером) перестало работать (на демке тоже).
Раньше работало так:
Для полей с галочкой «Слайдер», нужно в ручную записывать необходимый диапазон в словарь.
(так как различных значений цен может быть очень и очень много).
Например, записав в словарь запрос «0,1000», можно отнести его к недорогим товарам.
Тогда когда в слайдере будут выбраны значения в диапазоне от 0 до 1000: («100,300», «526,829» и т.д.) url не будет меняться, но фильтрация по уточнению стоимости будет работать.
Этот функционал в ближайшем обновлении поправлю.
А если имеете ввиду что-то другое, то напишите, как это должно работать)
Так, видимо с последним обновлением mSearch2 (где добавлена фишка с динамическим слайдером) перестало работать (на демке тоже).
Раньше работало так:
Для полей с галочкой «Слайдер», нужно в ручную записывать необходимый диапазон в словарь.
(так как различных значений цен может быть очень и очень много).
Например, записав в словарь запрос «0,1000», можно отнести его к недорогим товарам.
Тогда когда в слайдере будут выбраны значения в диапазоне от 0 до 1000: («100,300», «526,829» и т.д.) url не будет меняться, но фильтрация по уточнению стоимости будет работать.
Этот функционал в ближайшем обновлении поправлю.
А если имеете ввиду что-то другое, то напишите, как это должно работать)
Спасибо за ответ, но что-то не взлетело. Предполагаю, что я что-то не так делаю, так как ни ссылка, ни заголовок меняться не хотят. Поле цена вообще не реагирует на правила. Возможно надо что-то до настроить, может в системных настройках что-то или еще где. Просто в доках конкретно по настройке слайдера толком ничего не написано.
Но это уже не важно)) На самом деле поле цена было не принципиальным, я думал оно мне будет ломать заголовки в других правилах если его выбрать, но нет, если выбрать, например, чекбоксы Повод: День рождения и Интересы: IT-шник + отфильтровать по цене, то все норм
УРЛ: dev.site.com/catalog/podarok-den-rozhdeniya/dlya-it-shnik?price=485,829
И красивый динамический заголовок: Подарок на день рождения для IT-Шника
Но все-таки было бы круто, если бы вы добавили в доки пример для слайдера.
Вообще, я считаю, чем лучше доки с примерами, тем больше интереса к дополнению, так как людям понятней и меньше с бубном придется танцевать думая «Или я что-то не так делаю или так нельзя в принципе».
Желаю вашему дополнению стремительного развития, а вам побольше продаж;)
Но это уже не важно)) На самом деле поле цена было не принципиальным, я думал оно мне будет ломать заголовки в других правилах если его выбрать, но нет, если выбрать, например, чекбоксы Повод: День рождения и Интересы: IT-шник + отфильтровать по цене, то все норм
УРЛ: dev.site.com/catalog/podarok-den-rozhdeniya/dlya-it-shnik?price=485,829
И красивый динамический заголовок: Подарок на день рождения для IT-Шника
Но все-таки было бы круто, если бы вы добавили в доки пример для слайдера.
Вообще, я считаю, чем лучше доки с примерами, тем больше интереса к дополнению, так как людям понятней и меньше с бубном придется танцевать думая «Или я что-то не так делаю или так нельзя в принципе».
Желаю вашему дополнению стремительного развития, а вам побольше продаж;)
Спасибо) А я же в начале так и написал, что перестало работать из-за обновления mSearch2 (mFilter2).
А краткая инструкция, что описал, пригодится тем, кто не обновлялся и чтобы мне самому потом документацию дополнить, скоро доберусь до этого.
Когда поправлю, то можно будет создать такие страницы:
dev.site.com/catalog/podarok-den-rozhdeniya/dlya-it-shnik/nedorogie
И красивые заголовки: «Недорогие подарки на день рождения для IT-Шника» :)
А краткая инструкция, что описал, пригодится тем, кто не обновлялся и чтобы мне самому потом документацию дополнить, скоро доберусь до этого.
Когда поправлю, то можно будет создать такие страницы:
dev.site.com/catalog/podarok-den-rozhdeniya/dlya-it-shnik/nedorogie
И красивые заголовки: «Недорогие подарки на день рождения для IT-Шника» :)
ПРИВЕТ всем. Вопрос такой. Думаю сам не потяну привязку СУПЕР-ПУПЕР фильтра к своему сайту =) с доменами 3го уровня. Может кто-нибудь поможем мне с этим. Платно, естественно. Для связи скайп — nagahit (такой же профиль в ВК) или почта — nagahit@mail.ru
Есть одна небольшая проблема. Использую sfMenu без mFilter2 и miniShop2. Но он почему то не подсчитывает внутренние страницы, с чем это может быть связано? во всех значениях выдает либо 0 либо 2
Здравствуйте!
Напишите в тех поддержку, разберёмся)
Напишите в тех поддержку, разберёмся)
Добрый день.
Подскажите, как можно настроить компонент для работу с несколькими выборами одного фильтра?
Например, часто упоминаемый пример сайтов строительной тематики и фильтр по полю «Материал стен». Пользователь выбирает кирпич и газобетон и хочется сформировать заголовок Дома из кирпича и газобетона…
Подскажите, как можно настроить компонент для работу с несколькими выборами одного фильтра?
Например, часто упоминаемый пример сайтов строительной тематики и фильтр по полю «Материал стен». Пользователь выбирает кирпич и газобетон и хочется сформировать заголовок Дома из кирпича и газобетона…
Пока в ручную добавить только запись в словарь, например так: (порядок слов желателен также, как перечисляется в mFilter2)
Вот пример s9767.h8.modhost.pro/category/cvet-zelenyij-i-korichnevyij/
Вот пример s9767.h8.modhost.pro/category/cvet-zelenyij-i-korichnevyij/
Хорошо. В дальнейшем можете добавить автоматизацию данной функции?
Есть такая задача в планах, вот здесь расписал modx.pro/components/14899/
Но конкретных сроков нет. Как хотелось бы, чтобы выглядела подобная автоматизация?
Но конкретных сроков нет. Как хотелось бы, чтобы выглядела подобная автоматизация?
Не Знаю толи баг это толи у меня что то неправильно сработало:
prntscr.com/oympu7
В общем почемуто считает что ничего не вернулось, доработала, тогда заработало.
Может кому пригодится
prntscr.com/oympu7
В общем почемуто считает что ничего не вернулось, доработала, тогда заработало.
Может кому пригодится
Конкретно это никак не должно влиять, так как приходит туда или false или точно не пустой массив)
P.s. ну и за свой код мне стыдно, ему уже больше двух лет.
Всё мечтаю переписать и выпустить SeoFilter2)
P.s. ну и за свой код мне стыдно, ему уже больше двух лет.
Всё мечтаю переписать и выпустить SeoFilter2)
Да я вот тоже удивился, включаю перегенерацию ссылок и ничего не происходит, методом тыка проверял, в функцию gettingUrls захожу вижу что возвращаются значения, но в if() какая та лажа происходит.
Может какой то гон именно в php версии, такое бывает.
Может какой то гон именно в php версии, такое бывает.
Можно ли с помощью sfMenu сделать меню, полную замену тому что сделанного на pdoMenu. То есть чтобы в нем были в нем и сами физические страницы и те страницы, которые формируются компонентом с сохранением вложенности?
Пока нет такой возможности, но можно «допилить»)
Цена вопроса?)))
Напишите мне в телеграм или на почту — обсудим)
P.S. лучше, конечно же, в телеграм
P.S. лучше, конечно же, в телеграм
У нас из-за сео фильтра этого почему-то стали появляться страницы с ошибками. То есть 404 не выбивается, а просто идет код какой-то keromag.ru/Keramicheskaya-plitka/12121
как пофиксить?
Буду рад если кто откликнется и поможет. Не бесплатно конечно же)
как пофиксить?
Буду рад если кто откликнется и поможет. Не бесплатно конечно же)
А для кого техническая поддержка по компонентам на modstore сделана?)
Все проблемы, связанные с компонентом, решаются, как правило, бесплатно.
Напишите туда с доступами, посмотрю в чём дело.
Все проблемы, связанные с компонентом, решаются, как правило, бесплатно.
Напишите туда с доступами, посмотрю в чём дело.
Не пойму как работает параметр urls в сниппете sfMenu, что бы я там не указывал, ничего не меняется.
Выводится не 3 ссылки, а все ссылки из правила
{'sfMenu' | snippet : [
'rules' => '2',
'parents' => $_modx->resource.id,
'urls' => '2,3,4'
]}
Выводится не 3 ссылки, а все ссылки из правила
Не нашел такого параметра в исходниках. Сделал через where.
'where' => [
'sfUrls.id:IN' => ['2', '3', '4']
] | toJSON
Добрый день!
Обновитесь до SeoFilter 1.7.2 — вернул там поддержку параметра urls.
Ещё теперь можно писать параметры rules, parents и urls через массив:
Обновитесь до SeoFilter 1.7.2 — вернул там поддержку параметра urls.
Ещё теперь можно писать параметры rules, parents и urls через массив:
{'sfMenu' | snippet : [
'rules' =>[2],
'parents' => $_modx->resource.id,
'urls' => [2,3,4]
]}
Спасибо, попробую.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.