nigga Опубликовано 3 февраля, 2011 Жалоба Поделиться Опубликовано 3 февраля, 2011 как можно сделать так, чтобы связанные товары каждый раз при заходе в товар показывались разные? Цитата Ссылка на сообщение Поделиться на другие сайты
alex007983 Опубликовано 3 февраля, 2011 Жалоба Поделиться Опубликовано 3 февраля, 2011 nigga извини за флуд, дай ссылку на сайт, чтобы посмотреть как работает рандомно колонка с отзывами. У себя поставил не пашет Цитата Ссылка на сообщение Поделиться на другие сайты
nigga Опубликовано 3 февраля, 2011 Автор Жалоба Поделиться Опубликовано 3 февраля, 2011 Гї ГЅГІГ® ГГҐ ðåà ëèçîâà ë Гі Г±ГҐГЎГї Цитата Ссылка на сообщение Поделиться на другие сайты
alex007983 Опубликовано 3 февраля, 2011 Жалоба Поделиться Опубликовано 3 февраля, 2011 а где тогда? посмотреть очень надо. Цитата Ссылка на сообщение Поделиться на другие сайты
nigga Опубликовано 3 февраля, 2011 Автор Жалоба Поделиться Опубликовано 3 февраля, 2011 Гї Г±Г Г¬ ГГҐ âèäåë Цитата Ссылка на сообщение Поделиться на другие сайты
mart Опубликовано 3 февраля, 2011 Жалоба Поделиться Опубликовано 3 февраля, 2011 В файле Storefront.class.php примерно на 437-438 строках находим if (is_array($ids)){После добавляем переменнную $order = 'products.RAND()';Далее перед//С дополнительными категориямиПишем else $order = 'products.order_num desc';И теперь в самом запросе вместо ORDER BY products.order_num desc пишем ORDER BY $orderП.С. Это теория, но должна работать - нету под рукой заполненной Симплы, а на сайте клиента не хочу экспериментировать Цитата Ссылка на сообщение Поделиться на другие сайты
JustAlexNsk Опубликовано 3 февраля, 2011 Жалоба Поделиться Опубликовано 3 февраля, 2011 #martне надо у клиента Там и так товары подбираются из этой категории, а если не хватает выбирает из соседних случайно. Руками указывать связанные - это как-то напряжно, если товаров много Цитата Ссылка на сообщение Поделиться на другие сайты
nigga Опубликовано 4 февраля, 2011 Автор Жалоба Поделиться Опубликовано 4 февраля, 2011 без изменений(((((Я например вижу это так:1. Чтобы можно было ввести артикулы товаров в строку через запятую в "связанные товары" и они при каждом новом открытии товара показывались в разном порядке.либо2. При вводе артикула товара, добавлялись четыре товара вразнобой из категории вписанного артикула товара!!как-то так) Цитата Ссылка на сообщение Поделиться на другие сайты
nigga Опубликовано 6 февраля, 2011 Автор Жалоба Поделиться Опубликовано 6 февраля, 2011 проще всего было бы конечно просто сделать так, при нажатии галочки автоматически включалась бы функция рандомного отображения товаров в "связанные товары"монстры программинга какие у Вас на это мысли?сможете реализовать? Цитата Ссылка на сообщение Поделиться на другие сайты
JustAlexNsk Опубликовано 7 февраля, 2011 Жалоба Поделиться Опубликовано 7 февраля, 2011 Галочки .. зачем? Мы просто выставили условия на странице продукта для связанных товаров. Определились, что товаров связанных должно быть 8 штук на странице продукта. 4 по строке. 2 раза. Логика такая показа товаров:1. Товары связанные можно добавлять обычным образом - по артикулам при редактировании.2. ЕСЛИ у товара РУКАМИ назначено МЕНЬШЕ 8, То автоматически из базы выбираются: 2.1. Добиваются до 8 из этой категории случайные. 2.2. Если в категории не набирается 8 товаров, добавляются рандомные из базы. Получается у товара всегда 8 связанных предложений. И они перемешиваются рандомно. Нам это дописывали по заданию. Цитата Ссылка на сообщение Поделиться на другие сайты
nigga Опубликовано 7 февраля, 2011 Автор Жалоба Поделиться Опубликовано 7 февраля, 2011 интересное решениемне это подходитя готов приобрести это дополнение у вас, в коде много править надо? Цитата Ссылка на сообщение Поделиться на другие сайты
mart Опубликовано 7 февраля, 2011 Жалоба Поделиться Опубликовано 7 февраля, 2011 В коде надо будет вставить блок - строк 15. Цитата Ссылка на сообщение Поделиться на другие сайты
nigga Опубликовано 7 февраля, 2011 Автор Жалоба Поделиться Опубликовано 7 февраля, 2011 беру! Цитата Ссылка на сообщение Поделиться на другие сайты
mart Опубликовано 7 февраля, 2011 Жалоба Поделиться Опубликовано 7 февраля, 2011 Надо сочинить их Завтра сделаю - стукни в асю или скайп. Цитата Ссылка на сообщение Поделиться на другие сайты
JustAlexNsk Опубликовано 7 февраля, 2011 Жалоба Поделиться Опубликовано 7 февраля, 2011 #mart: У тебя же есть доступ к нашему сайту. Скопируй оттуда код просто и отдай человеку. Пока кофе пьешь - успеешь. ) чего велосипед изобретать вообще считаю надо все такие мелкие addons собрать и выложить как mart делает. вида маленьких инструкций по добавлению функционала. Кому что надо - выбрал, потом сам поковырялся и по инструкции фишечку добавил. Я думаю это отличный вариант развития. кстати я вот тут писал про доработки http://forum.simplacms.ru/comments.php?DiscussionID=458&Focus=2067#Comment_2067а лучше на сайте самого движка сделать такой раздел. Зашел, а там заголовки "Добавить ХХХХХХ".жмешь подробнее и читаешь, как это сделать самому. Набрать много чего можно туда. Цитата Ссылка на сообщение Поделиться на другие сайты
mart Опубликовано 10 февраля, 2011 Жалоба Поделиться Опубликовано 10 февраля, 2011 http://blog.rlstudio.com/2011/02/dorabotki-magazina-simpla-sluchajnye-svyazannye-tovary/ Цитата Ссылка на сообщение Поделиться на другие сайты
nigga Опубликовано 11 февраля, 2011 Автор Жалоба Поделиться Опубликовано 11 февраля, 2011 всё отлично, спасибо Martблагодарность переведена)но есть ещё пара нюансов:можно ли сделать так чтобы эта функция включалась добавлением не только реально связанного товара, а чтобы можно было ввести допустим определённое число 000+ можно ли ещё сделать так чтобы товар брался не из одной а из разных категорий? Цитата Ссылка на сообщение Поделиться на другие сайты
nigga Опубликовано 12 февраля, 2011 Автор Жалоба Поделиться Опубликовано 12 февраля, 2011 нашёл простое решение) для пункта 2количество связанных товаров делается на одно большедалее создаётся и скрывается товар с артикулом 000после этого ко всем товарам добавляется этот артикул 000всё) Цитата Ссылка на сообщение Поделиться на другие сайты
mart Опубликовано 15 февраля, 2011 Жалоба Поделиться Опубликовано 15 февраля, 2011 http://blog.rlstudio.com/2011/02/dorabotki-magazina-simpla-sluchajnye-svyazannye-tovary/ исправил пару ситуаций по работе хака - спасибо за комментарии и дополнения. Цитата Ссылка на сообщение Поделиться на другие сайты
nigga Опубликовано 19 декабря, 2011 Автор Жалоба Поделиться Опубликовано 19 декабря, 2011 с недавнего времени хостинг стал жаловаться на это:"Уведомляем Вас, что работой базы данных MySQL xxx создается повышенная нагрузка насервер баз данных. Примеры запросов находятся в прикрепленном файле.Оптимизируйте, пожалуйста, Ваши скрипты, SQL-запросы и дайте нам знать о результатах.Например, Вы можете использовать метод EXPLAIN для выяснения "тяжелых" запросов и созданиеиндексов (CREATE INDEX), тем самым снизив нагрузку на базу данных."Вот что в прикрепленном файле:"SELECT products.product_id FROM products LEFT JOIN categories ON categories.category_id = products.category_id LEFT JOIN products_categories ON products_categories.category_id = products.category_id WHERE products.enabled=1 AND (products.product_id <> 557 OR products.product_id <> 772) AND ( categories.category_id = 61 OR products_categories.category_id = 61 ) GROUP BY products.product_id ORDER BY RAND() LIMIT 8;SELECT products.product_id FROM products LEFT JOIN categories ON categories.category_id = products.category_id LEFT JOIN products_categories ON products_categories.category_id = products.category_id WHERE products.enabled=1 AND (products.product_id <> 557 OR products.product_id <> 838) AND ( categories.category_id = 61 OR products_categories.category_id = 61 ) GROUP BY products.product_id ORDER BY RAND() LIMIT 8;SELECT products.product_id FROM products LEFT JOIN categories ON categories.category_id = products.category_id LEFT JOIN products_categories ON products_categories.category_id = products.category_id WHERE products.enabled=1 AND (products.product_id <> 557 OR products.product_id <> 821) AND ( categories.category_id = 61 OR products_categories.category_id = 61 ) GROUP BY products.product_id ORDER BY RAND() LIMIT 8;SELECT products.product_id FROM products LEFT JOIN categories ON categories.category_id = products.category_id LEFT JOIN products_categories ON products_categories.category_id = products.category_id WHERE products.enabled=1 AND (products.product_id <> 557 OR products.product_id <> 830) AND ( categories.category_id = 63 OR products_categories.category_id = 63 ) GROUP BY products.product_id ORDER BY RAND() LIMIT 8;это как то решается? чтобы скрипт сильно не нагружал mysql?у кого ещё ругались хосты? Цитата Ссылка на сообщение Поделиться на другие сайты
mart Опубликовано 20 декабря, 2011 Жалоба Поделиться Опубликовано 20 декабря, 2011 Сам по себе вызов RAND() тяжел, т.к. он сначала прогоняет всю базу, а потом из нее выбирает. Возможно быстрее будет выбрать все товары и в PHP их "зарандомить". Т.е. получаем все индексы входящих в указанные категории товаров, выбираем из них несколько случайных, и по ним обычным методом get_products по ids получает информацию о товарах. Цитата Ссылка на сообщение Поделиться на другие сайты
nigga Опубликовано 20 декабря, 2011 Автор Жалоба Поделиться Опубликовано 20 декабря, 2011 круто, наверное согласенхотя ничего не понялчто и где поменять/исправить, чтобы "вызов к базе" был лёгок? Цитата Ссылка на сообщение Поделиться на другие сайты
Гость Опубликовано 20 декабря, 2011 Жалоба Поделиться Опубликовано 20 декабря, 2011 Попробуйте просто запрос заменить на такой:SELECT products.product_id FROM products WHERE products.enabled=1 ORDER BY RAND() LIMIT 8;Он будет делать абсолютно тоже самое, только в 100500 раз быстрее Цитата Ссылка на сообщение Поделиться на другие сайты
mart Опубликовано 20 декабря, 2011 Жалоба Поделиться Опубликовано 20 декабря, 2011 Это да, но в том варианте, что я делал первый раз задача была именно товары из этой же категории. Цитата Ссылка на сообщение Поделиться на другие сайты
Гость Опубликовано 20 декабря, 2011 Жалоба Поделиться Опубликовано 20 декабря, 2011 > Это да, но в том варианте, что я делал первый раз задача была именно товары из этой же категории.Но в приведенных запросах нет условия про эту же категорию. А нет, есть действительно.Но вот это уж точно можно убрать (products.product_id <> 557 OR products.product_id <> 830) Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.