И еще по этому модулю.

Если выбрано несколько брендов, то выводит описание того, который выше в списке.
Это не правильно. Нужно сделать, чтобы если выбрано больше одного, то выводило дефолтный текст.
С характеристиками то же самое.

Не подскажете, как это можно сделать?

С примерами опишите проблему.

Это в Маске URL модуля Управление SEO.
Маску URL ввожу так catalog/categoria-1/\?bfilter\[brand\]\[\]\=17
А если просто так catalog/categoria-1/?bfilter[brand][]=17, то сразу ошибка вылезает.

Ясно напишите в сервис пожеланий, чтобы была галочка указывающее не регулярное выражение, а чистое совпадение.
helpdesk.readyscript.ru

1,403

(50 ответов, оставленных в Вопросы по работе с системой)

Нужно, конечно, наоборот. В URL прописывать транслит и его выводить в /catalog/categoria-1/?bfilter[brand][]=translit
и сюда /catalog/categoria-1/?pf[336][]=23 тоже транслит вместо цифры.

Помню, что обещали, что такая возможность скоро появится. И судя по тому, что кириллицу из URL уже убрали, работа идет.
Жаль только к тому времени поисковик уже все проиндексирует, потом редиректить и ждать когда проиндексирует по новой.

Для фильтраций служат SEO категории.
Если вы хотите вместо id использовать наименования английские, то пока можно подвесится на хук отработки блока с фильтрами, и подменять POST. Но лучше написать в поддержку и попросить включить поддержку символьного идентификатора в брендах.

1,404

(50 ответов, оставленных в Вопросы по работе с системой)

вместо
site.ru/catalog/categoria-1/?bfilter[brand][]=17
получаю
site.ru/catalog%2Fcategoria-1%2F%3Fbfilter[brand][]%3D13/

Это тут причём? Вы бренд менять собрались или фильтр?

1,405

(50 ответов, оставленных в Вопросы по работе с системой)

Как подкорректировать шаблон не разобрался.
убрать /brand/ из URL получилось путем замены в \modules\catalog\config\handlers.inc.php

        //Отображение отдельно брендов
   $routes[] = new \RS\Router\Route('catalog-front-brand',
'/brand/{id}/', null, t('Просмотр отдельного бренда'));

на
       

   
        //Отображение отдельно брендов
   $routes[] = new \RS\Router\Route('catalog-front-brand',
'{id}/', null, t('Просмотр отдельного бренда'));

но возникает проблема с декодированием символов / и ?

вместо
site.ru/catalog/categoria-1/?bfilter[brand][]=17
получаю
site.ru/catalog%2Fcategoria-1%2F%3Fbfilter[brand][]%3D13/
и 404 ошибку

Да и изменения в движке за пределами шаблона чреваты... Так что не лучший выход.

Так делать категорически нельзя. Т.к. Вы правите движок и все Ваши старания будут перезатёрты при обновлении. И маршрут /brand/наивание/ не случаен, т.к. вся система построена на масках. И когда Вы так меняете маршрут на /названиебренда/. Этим самым Вы отрезаете себе пункты меню, т.к. такая маска уже занята или.

Вы можете маршрут к бренду перегрузить из своего дополнительного модуля с помощью хука getroute.
Читаем здесь:
https://readyscript.ru/dev-manual/dev_h … hooks_list

И тогда можно будет сделать свою маску для короткого пути:

$routes[] = new \RS\Router\Route('catalog-front-brand', 
 'Моя маска', null, t('Просмотр отдельного бренда'));

1,406

(50 ответов, оставленных в Вопросы по работе с системой)

Можно ли убрать /brand/ из URL в карусели брендов на главной странице. blocks/brands/brands.tpl
Хочу с главной направлять не на страницу бренда, а на категорию с выбранным там фильтром, например /catalog/categoria-1/?bfilter[brand][]=17

Во первых если вы используете стандартную тему оформления, то Вам надо её отклонировать для возможности редактирования. Иначе при следующем обновлении шаблоны и файлы модулей перезатрутся. Отклонировать можно в Управление->Шаблоны->Справа вверху отклонировать. Не забываем отметить переключиться на тему оформления.
Если у Вас тема своя уже, то тогда редактируем файл.
/templates/Ваша тема/moduleview/catalog/blocks/brands/brands.tpl
Открываем его и так где ссылка при помощи роутера нужно записать нужную ссылку.

{$router->getUrl('catalog-front-listproducts', ['bfilter'=>['brand'=>[$brand.id]]])} {* Формирует ссылку на отфильтрованный по бренду раздел *}


Единственный момент, это то что ссылка сформируется как /catalog/?bfilter['brand'][0]=17
По умолчанию раздел /catalog/ закрыт, но его можно включить в Веб-сайт->Настройка модулей->Каталог товаров
Как работать с шаблонами читаем здесь:
https://readyscript.ru/text-blog/Kak-so … adyScript/

Какие экранирования Вы имеете ввиду?

Можно на вкладке комплектации при редактировании товара

Можно массово выбрать(отметить) нужные товары, нажать редактировать и проставить им остаток нужный или отсутствующий.

Надо включить контроль остатков.
Веб-сайт->Настройка модулей->Магазин->Запретить оформление заказа, если товаров недостаточно на складе

Можно ещё:
Веб-сайт->Настройка модулей->Магазин->Разрешить предварительный заказ товаров с нулевым остатком
если нужно.

И всё.

ВЫ можете через запятую указать те таблицы которые нужны в SELECT.

A.*, B.* и т.д.

Т.е. исключите картинки.

1,412

(50 ответов, оставленных в Вопросы по работе с системой)

Вы можете подкорректировать шаблон блока с брендами. У Вас какая тема оформления?

1,413

(2 ответов, оставленных в Вопросы по работе с системой)

Да

Как и во всех SQL запросах, нужно указать то что собираетесь выбирать конкретно.

SELECT A.*
->select('A.*')

filterSection по идее срабатывает тогда когда вы пытаетесь фильтровать что-то. Вам нужен вывод сразу во всём каталоге только тех что с фото? Я правильно понимаю?

Если да, то тогда лучше всего подвеситься из своего модуля на хук страницы со списком товаров. И уже у объекта API добавить нужный фильтр.
controller.beforeexec.catalog-front-listproducts

Там первым аргументом будет.

/**
* @param \Catalog\Controller\Front\ListProducts $controller - объект контроллера
* @param string $action - наименование метода, который отработал (использовать для нужного)
*/
public static function controllerBeforeexecCatalogFrontListproducts($controller, $action)
{
     $q = $controller->api->queryObj(); //Потому что у фронт контроллера публичное свойство $api, в котором объект API товаров
     //И нужные мне действия с \RS\Orm\Request в $q, т.е. обычным запросом
}

Попробуйте, если это оно.

Отлично!

Вот уже ближе к теме. Попробуйте поменять -1 на 1.

Ну вроде бы всё правильно. Попробуйте построчно убрать  построчно конструкции, чтобы понять какая строка у Вас неправильная.

Ах да там же у Вас innerjoin. В проверьте у Вас в эту ветку заходит.
Можно вывести итоговый SQL так:

var_dump($q->toSql());

Что у Вас в $user. Выведите через var_dump. Потому, что ругается что неправильно обращаететсь к полю объекта. И весь код шаблона предоставьте. Может у Вас вообще не на это ругается.

Ну прибавили Вы таблицу с фото. А где WHERE с условием?

И в чём вопрос?)

1,423

(4 ответов, оставленных в Предложения по улучшению системы)

Это всё понятно. Но... Статьи от SEO специалистов, если они не подтверждены официальными рекомендациями нам сложно принимать. Официального документа или статьи с рекомендацией авторитетного источника или рекомендации поисковых систем есть на эту тему или нет. Потому, что в интернете помойка из рекомендаций и антирекоммендаций, а вот официального нормального документа по этой теме я пока не встретил.

Есть такой?

Если нет, основываться на материалах не подкреплённых какой-то базой мы не может. Т.к. есть мануалы и антимануалы, где всё опровергается.

Кого нам слушать???

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

Вывод: необходим документ.

Если у Вас есть личный опыт, то не могли бы Вы поделится исследованиями на этот счёт, желательно с графиками? Потому что просто основывать на такой правке потому, что это Ваш личный опыт с Ваших слов мы не можем. Т.к. если это кому-то в дальнейшем всё запортачит, то ругать будут нас, а не Вас.
Мы не можем делать необдуманных шагов.

Отлично, спасибо!

1,425

(4 ответов, оставленных в Предложения по улучшению системы)

На данный момент, это можно сделать отдельным модулем. Либо как делают в большинстве случаев, ставят вот этот блок.
http://marketplace.readyscript.ru/addon … rproducts/
P.S.
Ваши SEO рекомендации чем-то обоснованы? Я имею ввиду статью или материал от поисковиков на который можно опереться и почитать?