question Опубликовано 21 января, 2019 Автор Жалоба Поделиться Опубликовано 21 января, 2019 Вижу, хотя тема для некоторых актуальна, она не особо заинтересовала пользователей Симплы.У себя я сделал так:site.ru/razdel-1/site.ru/razdel2/и так далее... И вывод товаров следующим образом:site.ru/razdel1/nazvanie-tovara.htmlsite.ru/razdel2/tovar-iz-vtorogo-razdela.htmlМне это больше напоминает рекомендации Яндекса по правильному построению сайта. Посмотрим, как сам Яндекс отнесётся... Цитата Ссылка на сообщение Поделиться на другие сайты
question Опубликовано 22 января, 2019 Автор Жалоба Поделиться Опубликовано 22 января, 2019 (изменено) Как один из вариантов - что-то типа такого p.meta_description, b.name as brand, b.url as brand_url, (SELECT category_id FROM __products_categories WHERE product_id = p.id ORDER BY position ASC LIMIT 1) as category_id FROM __products p Это не готовое решение, писал на коленке))) Можете попробовать и посмотреть, насколько увеличится нагрузка на базуПодскажите пожалуйста, как получить не id категории, а её url. Дело в том, что со сложными запросами я не дружу, (SELECT category_id FROM __products_categories WHERE product_id = p.id ORDER BY position ASC LIMIT 1) as category_id получает category_id, в то время, как для получения url нужно залезть ещё в таблицу s_categoriesМогу лишь предположить, что там что-то вроде (SELECT url FROM __categories WHERE product_id = p.id AND (вот тут должно быть что-то сложное, какой-то селект) ORDER BY position ASC LIMIT 1) as category_url Я реально не понимаю, как выбрать то, что соответствует чему-то в другой таблице... Изменено 22 января, 2019 пользователем question Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 22 января, 2019 Жалоба Поделиться Опубликовано 22 января, 2019 (изменено) я думаю тут лучше без запроса. ф-я categories->get_category получает данные с локальной переменной, а не запросом. Изменено 22 января, 2019 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
question Опубликовано 22 января, 2019 Автор Жалоба Поделиться Опубликовано 22 января, 2019 я думаю тут лучше без запроса. ф-я categories->get_category получает данные с локальной переменной, а не запросом. Мне нужно получить url родительской категории ТОВАРА. ID я получаю (благодаря Kosjak76, спасибо ему за помощь и всего самого хорошего). Цитата Ссылка на сообщение Поделиться на другие сайты
question Опубликовано 22 января, 2019 Автор Жалоба Поделиться Опубликовано 22 января, 2019 Может, как-то так... (SELECT url FROM __categories WHERE category_id = SELECT category_id FROM __products_categories WHERE product_id = p.id ORDER BY position ASC LIMIT 1) as category_url Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 22 января, 2019 Жалоба Поделиться Опубликовано 22 января, 2019 Мне нужно получить url родительской категории ТОВАРА. ID я получаю (благодаря Kosjak76, спасибо ему за помощь и всего самого хорошего). ну а я вам что про погоду рассказываю? Далее по этому иду получите нужную категорию и ее url (может хоть все дерево категорий)или же делайте join __categories и получайте url в самом запросе. Я бы лучше использовал первый вариант. Цитата Ссылка на сообщение Поделиться на другие сайты
question Опубликовано 22 января, 2019 Автор Жалоба Поделиться Опубликовано 22 января, 2019 или же делайте join __categories и получайте url в самом запросе. Я бы лучше использовал первый вариант. А можете написать, как должно в итоге выглядеть? Если не сложно. Цитата Ссылка на сообщение Поделиться на другие сайты
question Опубликовано 22 января, 2019 Автор Жалоба Поделиться Опубликовано 22 января, 2019 Дошло!!!!!! (SELECT url FROM __categories WHERE id = (SELECT category_id FROM __products_categories WHERE product_id = p.id ORDER BY position ASC LIMIT 1) ORDER BY position ASC LIMIT 1) as category_url Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.