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

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

С нами с 20 мая 2015; Место в рейтинге пользователей: #30
Евгений Шеронов
12 октября 2017, 21:15
0
Да, даже на те, что состоят из двух или более полей.

Для этого предусмотрен сниппет sfLink.
Евгений Шеронов
12 октября 2017, 19:07
0
Смотря что Вы хотите сделать)
С mSearch2 поддерживается работа в режиме Ajax (замена всех текстов, заголовков и т.д.).

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

Сам SeoFilter выставляет GET/REQUEST параметры для их дальнейшей обработки mFilter-у или же любому кастомному сниппету.
Евгений Шеронов
12 октября 2017, 12:14
+1
Можно) Даже на целый день — modhost.pro

Заодно поставьте mSearch2, miniShop2 и пройдите Быстрый старт SeoFilter

Проблем с совместимостью пока ещё не бывало.
Раз задались таким вопросам — то на 99% дополнение Вам подойдёт)

Евгений Шеронов
09 октября 2017, 08:36
0
Оказывается, вообще красиво можно — запомню :)
Евгений Шеронов
08 октября 2017, 18:08
+2
Вот такие конструкции:
$data = "SELECT contentid FROM base_site_tmplvar_contentvalues WHERE tmplvarid = 1 AND value = '$domain'";
Лучше писать более универсально:
$q = $modx->newQuery('modTemplateVarResource');
$q->where(array('tmplavarid'=>1,'value'=>$domain));
$q->select('contentid');
$q->limit(1); // один же ресурс ищем
if($q->prepare() && $q->stmt->execute()) {
   if($RESID = $q->stmt->fetch(PDO::FETCH_COLUMN)) { // - один столбец для одной стройки
       // весь остальной код 
    }
}
Евгений Шеронов
08 октября 2017, 15:11
+1
Для второго вызова укажите либо такой же parents, либо parents=`0`
Евгений Шеронов
29 сентября 2017, 12:48
+3
Можете сами поправить, но в следующем обновлении учту, как наберутся ещё несколько замечаний.
В чанке ссылки (параметр tpl) вместо плейсхолдера [[+url]] можете прописать так:
[[~[[+page_id]]]]/[[+new_url:default=`[[+old_url]]`]]
При этом чанк ссылки в таком варианте лучше не в inline формате использовать.

Или же в синтаксисе Fenom: (что приятнее выглядит)
{$page_id|url}/{$new_url ?: $old_url}
P.S. Эта инструкция для тех, у кого в качестве суффикса контейнера пустое значение.
Евгений Шеронов
29 сентября 2017, 08:55
0
Вопрос не совсем понял, но компонент никак не затрагивает роботу обычных ресурсов. Все виртуальные станицы привязаны к физической странице и их адрес всегда будет зависеть от этой страницы. Метод формирования адреса можно задавать в параметре scheme (abs, full и т.д).

Дублями вы называете то, когда одна страница доступна по нескольким адресам?
Если так, то в системных настройках SeoFilter можно включить переадресацию на страницу с нужным окончанием (слэш, .html и т.д).
Евгений Шеронов
28 сентября 2017, 23:23
0
Выпустил обновление, дальнейшее обсуждение можно продолжать там:
modx.pro/components/13407-seofilter-the-long-awaited-update-menu-sitemap/
Евгений Шеронов
26 сентября 2017, 20:27
0
Нужно было скопировать правило общая площадь и туда добавить поле комнаты.
Тогда грубо говоря оно будет называться «Общая площадь + Комнаты»

Если ещё есть вопросы или не разберётесь, то пришлите мне через поддержку дополнений modstore.pro/office/support#office/support/add
данные для входа, посмотрю и поправлю так как вам нужно :)
Евгений Шеронов
26 сентября 2017, 20:23
0
В самом правиле контент да, всё верно.

Кстати, конструкции вроде [[*pagetitle]] вроде бы не должны работать, там лучше использовать так: {$id|resource:'pagetitle'}

$id — это id реальной страницы.

А на счёт 2 и больше параметров зависит от правил. Если для одного из двух есть правило и будет стоять галочка «Базовое правило», то будет показываться текст этого правила.

Если базовых нет и правила состоящего из двух этих полей, то выведется контент страницы)
Евгений Шеронов
26 сентября 2017, 17:31
0
Условие с page надо не в шаблон писать, а непосредственно в текст правила.

Что значит 2 и больше параметра скрыто в фильтре?)
Евгений Шеронов
26 сентября 2017, 14:41
0
Правильно делаете)
В правилах в текстах пишите просто в таком виде:
Гаражи из {$material_r} площадью {$ploshad}
На скриншоте не понял, что означает garag. Все переменные берутся из синонима поля.
Окончание _r — означает родительный падеж, если включено склонение в настройках)
Евгений Шеронов
26 сентября 2017, 14:37
+1
Подумаю, но не в ближайшем обновлении. В октябре скорее всего.
Кто-то через robots закрывает все страницы с get параметрами)
Евгений Шеронов
26 сентября 2017, 14:35
0
1. Пока могу предложить ставить такой контент в категории:
  - это символ пробела

И тогда будет возвращаться. Просто есть проверка пустой ли ответ или нет.

2. Здесь тот же символ пробела для правила можно поставить, чтобы на пустой текст заменять.

И для того чтобы только на первой странице были сео-текста, пропишите в настройке «Имя переменной пагинации в каталоге...» (seofilter_page_key) значение page

Тогда в контенте правила и других полях сможете писать так:
{if $page>1?}
	Любой динамический контент
{/if}
Здесь параметр {$page} будет содержать номер страницы.
Евгений Шеронов
26 сентября 2017, 12:55
+1
При пагинации — это же как раз «фича», а не баг :)
Поисковики же должны различать как-то, что это страницы с пагинацией с разным заголовком.
В yandex постоянно натыкаюсь, что какой-нибудь запрос на такой то странице найден на modx.pro.

Для того чтобы заголовок возвращался назад надо в системных настройках SeoFilter в настройке «Поле, где хранится Заголовок H1» seofilter_h1 прописать pagetitle.
Евгений Шеронов
26 сентября 2017, 12:03
0
Так можно же сделать правило с двумя разными параметрами или даже с тремя или с десятью :)

Есть ещё фишка, чтобы сделать с двумя значениями одного параметра, но там надо со словарём повозиться)

«ПРОЕКТЫ ДВУХЭТАЖНЫХ ДОМОВ, ДОМОВ ИЗ КИРПИЧА, ПЛОЩАДЬЮ ОТ 200 М2 ДО 300 М2» такой тайтл я запросто динамически сформирую :)
Евгений Шеронов
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-заголовок через разделитель».
Евгений Шеронов
25 сентября 2017, 20:14
+1
Добрый вечер!
Думаю смогу прикрутить такой функционал, так как для нового сниппета sfMenu уже сделал возможность выводить страницы только те, где есть ресурсы или где например 5 и более ресурсов.

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

Обновление вот-вот выйдет, а с ним и новый топик.
Евгений Шеронов
21 сентября 2017, 16:30
0
Для SEO-страниц по фильтру можете использовать SeoFilter — как раз для подобных задач создавался компонент)