mvtSeoData
Позволяет автоматически генерировать longtitle, pagetitle, description, content с использованием переменных шаблона для товаров и категорий Minishop2. Бесплатно.
Например (для категории Minishop2):
title
Интерфейс:
Существует 2 типа шаблонов: общие и предназначенные для конкретного ресурса.
Компонент сначала ищет предназначенный ресурсу шаблон, если не находит — смотрит общий по типу документа: категория MS2 (msCategory), товар MS2 (msProduct).
Можно также сделать отдельные шаблоны для разных категорий с учётом вложенности.
Или для всех товаров определённой категории.
Это позволяет точечно отрабатывать каждый раздел каталога:
Переменные для Категорий MS2 собираются компонентом для каждой категории в результате процесса предварительной «индексации», чтобы не создавать лишней нагрузки на сайт в процессе работы.
Сформировать индекс можно как из панели управления:
так и посредством создания задачи в crontab:
Получение данных возможно 2 способами:
— пока не умеет склонять, получается иногда так: «2 наименований».
Особого значения не имеет вроде.
Остальные недостатки ищутся…
Обновлено 07.07.20: теперь для шаблона товара доступны все переменные, которые определены для ресурса в fenom, например {$article}, {$size},…
Modstore
title
Чайники купить в интернет–магазине какой-то-магазин.рф | Страница 2description
Купить недорого Чайники по цене от 350 руб. до 3500 руб. В наличии 48 наименований. Доставка по всей России. ☎ +7-800-500-XXXX | Страница 2content
Чайники Мега от известного производителя, представлены в интернет-магазине «какой-то-магазин.рф» в разделе: Электрические чайники. Самая бюджетная цена на Чаник малый простой — 80 руб. Самая высокая на Чайник большой волшебный — 15 850 руб. В наличии на складе более 53 наименований чайников различного исполнения и характеристик.Доступные переменные:
Интерфейс:
Существует 2 типа шаблонов: общие и предназначенные для конкретного ресурса.
Компонент сначала ищет предназначенный ресурсу шаблон, если не находит — смотрит общий по типу документа: категория MS2 (msCategory), товар MS2 (msProduct).
Можно также сделать отдельные шаблоны для разных категорий с учётом вложенности.
Или для всех товаров определённой категории.
Это позволяет точечно отрабатывать каждый раздел каталога:
Переменные для Категорий MS2 собираются компонентом для каждой категории в результате процесса предварительной «индексации», чтобы не создавать лишней нагрузки на сайт в процессе работы.
Сформировать индекс можно как из панели управления:
так и посредством создания задачи в crontab:
#например, - запускать каждый день в час ночи
0 1 * * * php ~/core/components/mvtseodata/cron/run.php
Последнее предпочтительнее, если в вашем магазине меняется ассортимент и цены — настройте нужный график обновления для получения актуальных данных.Получение данных возможно 2 способами:
- Установка плейсхолдеров или замена штатных «на лету» (плагин mvtSeoData на событие OnLoadWebDocument)
Плагин автоматически заменяет стандартные плэйсхолдеры: pagetitle, longtitle, description, content.
При настройке шаблона обратите внимание на параменр «Приоритет»:
- ресурс: если соответствующее поле ресурса не пусто, оно не будет заменено шаблоном
- компонент: соответствующее поле ресурса будет заменено шаблоном
- компонент дополняет ресурс: поле шаблона дополнит соответствующее поле ресурса
- Сниппет mvtSeoData
Предполагает работу с fenom, возвращает массив с ключами: longtitle, pagetitle, description, content, image (можно использовать для тегов типа og:image).{set $seodata = '!mvtSeoData' | snippet}
Если вы используете механизмы расширения и наследования шаблонов, то, запустив сниппет в базовом шаблоне, переменная $seodata будет доступна везде. Соответственно, можно делать, например, так:
{set $content = 'content' | resource} {if $content?} {$content} {else} {if $seodata['content']? } {$seodata['content']} {/if} {/if}
— пока не умеет склонять, получается иногда так: «2 наименований».
Особого значения не имеет вроде.
Остальные недостатки ищутся…
Обновлено 07.07.20: теперь для шаблона товара доступны все переменные, которые определены для ресурса в fenom, например {$article}, {$size},…
Modstore
Поблагодарить автора
Отправить деньги
Комментарии: 67
Автору респект! Очень интересный и полезный компонент. Немного хотелок (если у автора будет время):
— В общих шаблонах сейчас можно делать выборку только по ресурсу-родителю, было бы круто если бы можно было ещё и по шаблону выборку делать.
— Возможность добавлять свои переменные в шаблоны (Родные допполя miniShop2 и tv-поля)
— Склонение слов в шаблонах (через модификатор было бы вообще круто)
— В общих шаблонах сейчас можно делать выборку только по ресурсу-родителю, было бы круто если бы можно было ещё и по шаблону выборку делать.
— Возможность добавлять свои переменные в шаблоны (Родные допполя miniShop2 и tv-поля)
— Склонение слов в шаблонах (через модификатор было бы вообще круто)
Вчера вроде 2 пункт частично добавил: для товара (в частности) можно использовать все переменные, определённые в шаблоне типа артикула, цвета и т.д.
По TV нужно подумать. Остальное в списке.
Также планируется возможность работы с простым ресурсом (modDocument) — оказалось нужным.
По TV нужно подумать. Остальное в списке.
Также планируется возможность работы с простым ресурсом (modDocument) — оказалось нужным.
Пакет огонь, спасибо.
Добрый вечер. Планируется ли поддержка обычных ресурсов? Без работы minishop2.
Добрый!
Поддерживается. Я забыл обновить компонент, сейчас залил новую версию.
В админке обновите кэш браузера.
Поддерживается. Я забыл обновить компонент, сейчас залил новую версию.
В админке обновите кэш браузера.
Спасибо!
@Алексей Шумаев, у меня по какой-то причине нельзя выбрать Ресурс — Родитель пустой селект. Тут не очевидная настройка для первого раза, какие-то ограничения или просто не работает?
@Олег Щавелев, скиньте доступ в личку, я посмотрю. Версия последняя?
@Алексей Шумаев Последняя. Я только добрался до такого замечательного пакета.
@Алексей Шумаев Отправил на почту.
Добрый день. Небольшой вопрос по «Приоритет данных». Вроде при сохранении выбираю «Компонент», но когда открываешь повторно, то снова стоит ресурс. в итоге на заданных ресурсах не отображается введенные значения.
Что то делаю не верно или это так задумано?
Что то делаю не верно или это так задумано?
Не должно быть такого; у меня нормально.
Если возможно, отправьте доступ в личку, вечером посмотрю.
Если возможно, отправьте доступ в личку, вечером посмотрю.
Удалось ли найти проблему? Наблюдаю похожую проблему, иногда (не у всех) правил возвращается к приоритету ресурс. Иногда это происходит после сброса кеша, иногда после сохранения нового правила. При этом это происходит хаотично, у некоторых меняется, у некоторых нет
@Bor не предоставлял доступ; соответственно я не смотрел.
если есть возможность — скиньте в личку доступ к своему сайту.
если есть возможность — скиньте в личку доступ к своему сайту.
Проблема подтверждена и исправлена, можно обновляться.
Проблема подтверждена и исправлена, можно обновляться.
Добрый день.
А в описании возможно выводить longtitle? к примеру, у меня заполнен longtitle, и из него хочу сформировать шаблон для description:
⭐ {longtitle} ⭐ купить в интернет-магазине ✅ «My shop» ✅
но longtitle не подставляется.
А в описании возможно выводить longtitle? к примеру, у меня заполнен longtitle, и из него хочу сформировать шаблон для description:
⭐ {longtitle} ⭐ купить в интернет-магазине ✅ «My shop» ✅
но longtitle не подставляется.
Добрый!
По той логике, которая сейчас заложена в компонент, longtitle используется для , соответственно для генерации я его не ставил. Но сделать можно, попробую сегодня/завтра обновить версию.
Отпишусь сюда.
По той логике, которая сейчас заложена в компонент, longtitle используется для , соответственно для генерации я его не ставил. Но сделать можно, попробую сегодня/завтра обновить версию.
Отпишусь сюда.
Компонент обновлён, пробуйте.
Огонь, спасибо!
Добрый вечер. Все использую, круто. Единственный вопрос, заметил, если у меня где то стоит [[*longtitle]] в шаблоне товара (использую как расшифровку названию), компонент подменяет значение на «Шаблон meta-заголовка:». так задумано или баг?
Заранее спасибо
Заранее спасибо
Добрый день
Так и задумано, т.к. исторически у нас СЕОшники используют longtitle как заголовок страницы, а pagetitle — как h1.
Так и задумано, т.к. исторически у нас СЕОшники используют longtitle как заголовок страницы, а pagetitle — как h1.
Данный модуль с языками не работает? На основном языке все ок, а на других (другие контексты) не выводится.
Вероятно, да — не тестировал.
Могу на вашем сайте настроить и обновить версию. Пишите в личку.
Могу на вашем сайте настроить и обновить версию. Пишите в личку.
А вы на своем сервере не можете посмотреть/проверить? Я не могу давать доступы к клиентскому проекту.
Нет, по 2 причинам:
1. Это будет долго
2. Не факт, что я эмулирую именно вашу ситуацию.
Т. е. вероятна ситуация, когда время потрачу, а задачу не решу.
Вы можете сделать клон и дать доступ к нему.
1. Это будет долго
2. Не факт, что я эмулирую именно вашу ситуацию.
Т. е. вероятна ситуация, когда время потрачу, а задачу не решу.
Вы можете сделать клон и дать доступ к нему.
Привет! Почему не могу скачать дополнение уже неделю? При поиске по названию или при клике на него пишет «Нет данных для отображения»
Привет
У меня везде нормально.
На сайте: modstore.pro/packages/other/mvtseodata
Пакет: prntscr.com/vimlyh
У тебя проблема с подключением к modstore или что-то ещё, наверное.
У меня везде нормально.
На сайте: modstore.pro/packages/other/mvtseodata
Пакет: prntscr.com/vimlyh
У тебя проблема с подключением к modstore или что-то ещё, наверное.
блин фигня какая то, именно на ваше дополнение такое происходит, остальные открывает…
на сайте та тоже открывает
на сайте та тоже открывает
Нужно задать вопрос в поддержке modstore
Получить дополнение в обход modstore возможно?
Уже не нужно, справился, спасибо
Скорее всего надо попросить админа в modstore чтобы в настройках дополнения указал верхнюю версию modx свежую. Бывает что в приложении стоит версия 2,7 максимальная, а ты поставил 2,8 и modx твой не видит приложение. у меня так было. админ исправил за 2 секунды.
Поставил 2.8.
Отлично! ;)
Добрый день! Тоже не выбирается родительская ресурс-родитель, что я делаю не так?)
Добрый!
Начните ввод в поле: prntscr.com/10vf694
Если у вас 30000 ресурсов — зачем их все выводить? )
Начните ввод в поле: prntscr.com/10vf694
Если у вас 30000 ресурсов — зачем их все выводить? )
Добрый день! На моем сайте, переменная
Подскажите, пожалуйста, как вывести именно количество товаров в данной категории (включая товар без указаной стоимости, например — под заказ).
{count_products}
выводит не количество товаров в данной категории (как указано в информации компонента), а количество товаров в данной категории у которых указана стоимость (цена). Если стоимость не указана — количество товаров подсчитывается не верно.Подскажите, пожалуйста, как вывести именно количество товаров в данной категории (включая товар без указаной стоимости, например — под заказ).
Добрый! Залил новую версию. Не тестил, т.к. нет времени, но должно работать.
Прошу проверить и отписаться )
Прошу проверить и отписаться )
Спасибо за оперативность! В целом все работает (не забываем повторно сформировать индекс для товарных категорий).
Проблема возникает, если в категории выводятся товары из другой категории. Реальный пример — в основной категории (в которой идет подсчет компонентом) находятся 7 товаров + с другой категории отображается — 3, таким образом всего — 10 (mFilter2 тоже подчитывает — 10). А вот компонент в этой ситуации выводит — 13
Проблема возникает, если в категории выводятся товары из другой категории. Реальный пример — в основной категории (в которой идет подсчет компонентом) находятся 7 товаров + с другой категории отображается — 3, таким образом всего — 10 (mFilter2 тоже подчитывает — 10). А вот компонент в этой ситуации выводит — 13
Да, мультикатегорий пока нет, забыл про них. Попозже добавлю.
В поле «Описание» не срабатывает проверка на наличие цены у товара:
{if $_modx->resource.price?}{$_modx->resource.price}{else}Под заказ{/if}
Подскажите, пожалуйста, это штатная работа компонента или я что-то делаю не так (в шаблоне товара проверка работает)?
Не понял, что за поле «Описание» имеется ввиду.
Если в поле компонента, то там нет ни фенома, ни ресурса.
Не думаю, что это компонент.
Если в поле компонента, то там нет ни фенома, ни ресурса.
Не думаю, что это компонент.
Да, «Описание» это поле компонента. Не могу сказать по какой причине, но выше указанный вызов «условно-работает». Например, если указана стоимость 10, то выведет — «10 Под заказ», если стоимость не указана (0), то — «0 Под заказ».
Феном не работает, но
Феном не работает, но
{$_modx->resource.price}
вполне рабочий
Видимо работает потому, что в любом случае перед выводом код проходит через парсер.
Почему в таком случае не срабатывает феном пока сказать не могу, надо код смотреть )
Почему в таком случае не срабатывает феном пока сказать не могу, надо код смотреть )
Мультикатегории же, оказывается, есть ) Вроде нормально работают вроде на паре крупных сайтов.
Видимо, есть ошибка в подсчёте количества, на крупных сайтах этого можно и не заметить.
Если есть возможность дать доступ к админке — я посмотрю твой пример, поправлю.
Видимо, есть ошибка в подсчёте количества, на крупных сайтах этого можно и не заметить.
Если есть возможность дать доступ к админке — я посмотрю твой пример, поправлю.
Спасибо! Воссоздал «проблему» на тестовом сайте, логин и пароль скинул в личные сообщения.
Для modx 3 работает?
Пока нет. В обозримом ближайшем будущем (до осени точно) поддержки 3 не планируется.
Добрый день. Не срабатывает для опций, делаю по инструкции. Указываю в шаблон title {#электричество #option_electricity# кВт#} — в итоге, в title выводит только слово — Array.
Лог пустой. Возможно, баг какой то?
Лог пустой. Возможно, баг какой то?
Добрый день.
Не исключено. Напишите через поддержку с указанием доступа к админке, я проверю (к сожалению, оперативно не получится — в течение нескольких дней).
Не исключено. Напишите через поддержку с указанием доступа к админке, я проверю (к сожалению, оперативно не получится — в течение нескольких дней).
У меня почему то шаблон не работает, если установить приоритет = Ресурс.
Но при этом поля longtitle и descriprion в ресурсе пустые
Но при этом поля longtitle и descriprion в ресурсе пустые
Если установлен приоритет ресурса, то модуль смотрит сначала ресурс.
Если у ресурса есть заполненные поля — берёт информацию оттуда.
Соответственно, до шаблона уже не доходит.
Если у ресурса есть заполненные поля — берёт информацию оттуда.
Соответственно, до шаблона уже не доходит.
Так я и говорю, в ресурсе поля longtitle и descriprion пустые, а до шаблона все равно не доходит дело.
Не могу ничего конкретного сказать, нужно провести отладку в данном случае.
У нас на нескольких сайтах вроде всё работает.
У нас на нескольких сайтах вроде всё работает.
Поймал баг — если в шаблоне категории товаров указать параметр связанный с товарами, например {min_price}, а на странице нет товаров — то получаем белый экран
Обновите версию.
Забыл, оказывается, залить последнее обновление )
Забыл, оказывается, залить последнее обновление )
кайф =)
Блин теперь вылезла другая проблема поле pagetitle как то по два раза прогоняется. Получается «pagetitle текст текст»
И в шаблоне заголовка и в SEO title
Скрин: disk.yandex.ru/i/D_2AYTTyoWd61g
И в шаблоне заголовка и в SEO title
Скрин: disk.yandex.ru/i/D_2AYTTyoWd61g
Не должно быть такого, вроде работает на куче сайтов. Напишите через поддержку с доступами к админке и ссылкой на эту страницу в админке, постараюсь сегодня проверить.
Здравствуйте! Вижу у комментаторов выше тоже есть подобные проблемы. Если я правильно понял, то при настройке приоритета «Ресурс» компонент не подменяет заголовки, если у ресурса заполнено поле. Значит, если не заполнено — то поле должно заполняться из компонента. У меня следующая картина:
1. В чанке вывод meta-заголовков такой:
2. Настройки в товаре:
3. Настройки компонента
В итоге meta-description пустой, хотя должно быть выведено «3333»:
Что не так, где копать??
И вопрос про Приоритет: выпадающий список «Приоритет данных» понятно, а рядом поле «Приоритет» с числовым значением на что влияет? Не увидел нигде информации об этом… Благодарю за ответ!
1. В чанке вывод meta-заголовков такой:
[[*id:is=`1`:then=`<title itemprop="headline">[[*longtitle:striptags:title:default=`[[++site_name:striptags:title]]`]]</title>`:else=`<title itemprop="headline">[[*longtitle:striptags:title:default=`[[*pagetitle:striptags:title]]`]] | [[++site_name:striptags:title]]</title>`]]
<meta name="description" itemprop="description" content="[[*description:striptags:title]]">
2. Настройки в товаре:
3. Настройки компонента
В итоге meta-description пустой, хотя должно быть выведено «3333»:
Что не так, где копать??
И вопрос про Приоритет: выпадающий список «Приоритет данных» понятно, а рядом поле «Приоритет» с числовым значением на что влияет? Не увидел нигде информации об этом… Благодарю за ответ!
Просьба написать через форму поддержки и дать доступ к панели сайта.
Постараюсь разобраться в течение нескольких дней.
Постараюсь разобраться в течение нескольких дней.
Здравствуйте, Алексей. Я, почему-то, не могу по вашему компоненту написать через ТП на сайте, хоть и загружал его из репозитория… Его просто нет там.
Напишите тогда через форму тут: modx.pro/users/alex-tv
может ли компонент убирать кавычки из названий?
Да, "..." заменяются на «...»
нужно использовать какой то модификатор или речь про ручную замену кавычек в товарах?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.