Сообщение #3 makki » 18.03.2019, 11:48
korshunov писал(а):1. Если на сайте 2550 товаров, из которых только 1000 активны и реально могут находиться при поиске, то выводимая надпись "Поиск из 2550 товаров" некорректна.
Исправил. Добавил фильтр по активным товарам.
2. При загрузке каждой страницы сайта выполняется отдельный SQL запрос. Несколько расточительно. С другой стороны - обязательно пользователю нужна информацияо абсолютно точная информация о числе товаров?
Да, такая была изначальная задача. Максимум что можно сделать чтобы немного облегчить запрос, это написать отдельный SQL запрос в БД а не использовать функцию, которая через LEFT JOIN подключает таблицу переводов. Например так:
Код: Выделить всё
SELECT COUNT(DISTINCT id) as count FROM __products WHERE visible=1
3. Формально предложенный функционал ПОРТИТ работу мультиязычности в строке поиске - еще один мелкий недостаток.
Не стал заморачиваться с этим. Несложно добавить новый перевод на свой вкус.
[quote="korshunov"]1. Если на сайте 2550 товаров, из которых только 1000 активны и реально могут находиться при поиске, то выводимая надпись "Поиск из 2550 товаров" некорректна.[/quote]
Исправил. Добавил фильтр по активным товарам.
[quote]2. При загрузке каждой страницы сайта выполняется отдельный SQL запрос. Несколько расточительно. С другой стороны - обязательно пользователю нужна информацияо абсолютно точная информация о числе товаров?[/quote]
Да, такая была изначальная задача. Максимум что можно сделать чтобы немного облегчить запрос, это написать отдельный SQL запрос в БД а не использовать функцию, которая через LEFT JOIN подключает таблицу переводов. Например так: [code]SELECT COUNT(DISTINCT id) as count FROM __products WHERE visible=1[/code]
[quote]3. Формально предложенный функционал ПОРТИТ работу мультиязычности в строке поиске - еще один мелкий недостаток.[/quote]
Не стал заморачиваться с этим. Несложно добавить новый перевод на свой вкус.
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)