knownwhat Posted October 31, 2010 Report Share Posted October 31, 2010 Нашел решение сортировки по цене Simpla v. 1.4 Собственно научился сортировать по любому полю доступному в таблице price, да и в любой другой таблице. Один раз делаете - Всю жизнь работает)Все делаем строго по этапам1. делаем дамп таблицы products2. удаляем таблицу products3. выполняем скрипт CREATE TABLE IF NOT EXISTS `products` ( `product_id` int(11) NOT NULL AUTO_INCREMENT, `url` varchar(255) NOT NULL DEFAULT '', `category_id` int(11) NOT NULL DEFAULT '0', `brand_id` int(11) DEFAULT NULL, `model` varchar(500) NOT NULL, `description` text NOT NULL, `body` longtext NOT NULL, `enabled` tinyint(1) NOT NULL DEFAULT '1', `hit` tinyint(1) NOT NULL DEFAULT '0', `order_num` int(11) NOT NULL DEFAULT '0', `small_image` varchar(255) NOT NULL DEFAULT '', `large_image` varchar(255) NOT NULL DEFAULT '', `download` varchar(255) NOT NULL, `meta_title` varchar(500) NOT NULL, `meta_keywords` varchar(500) NOT NULL, `meta_description` varchar(500) NOT NULL, `created` datetime NOT NULL, `modified` datetime NOT NULL, `price` float(8,2) NOT NULL, PRIMARY KEY (`product_id`), KEY `url` (`url`), KEY `category_id` (`category_id`), KEY `brand_id` (`brand_id`), KEY `model` (`model`(333)), KEY `hit` (`hit`), KEY `order_num` (`order_num`), KEY `id_index` (`category_id`,`order_num`), KEY `date_edit` (`modified`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 4. импортируем наш дамп таблицы products5. идем на хостинг и находим файл admin/Import.admin.php и дописываем в самый конец файла сразу после куска/////////////////////////// $this->process_product($values); $current_time = microtime(true); $time_elapsed = $current_time - $start_time; } fclose($handle); }//////////////////////////Следующие строчки:$query = "update products set products.price=(select products_variants.price from products_variants where products_variants.product_id=products.product_id)";$this->db->query($query);Сохраняем.... Заливаем на хостинг.6. далее в корне открываем файл Storefront.class.phpи заменяем запрос в функции function get_products($ids = null, $categories = null, $brand_id = null, $start_item=null, $filter=null, $hit=null)с$query = "SELECT products.product_id, products.url, products.category_id, products.brand_id, products.model, products.description, products.body, products.hit, products.order_num, products.small_image, products.large_image, DATE_FORMAT(products.created, '%Y-%m-%d') as created, DATE_FORMAT(products.modified, '%Y-%m-%d') as modified, products.enabled, brands.name as brand, brands.url as brand_url, categories.single_name as category, categories.url as category_url, categories.image as category_image FROM products LEFT JOIN categories ON categories.category_id = products.category_id LEFT JOIN brands ON products.brand_id = brands.brand_id LEFT JOIN products_categories ON products.product_id = products_categories.product_id WHERE categories.enabled=1 and products.enabled=1 $id_filter $category_filter $brand_filter $properties_filter $hit_filter GROUP BY products.product_id ORDER BY products.order_num desc $limit";на$query = "SELECT products.product_id, products.url, products.category_id, products.brand_id, products.model, products.description, products.body, products.hit, products.order_num, products.small_image, products.large_image, DATE_FORMAT(products.created, '%Y-%m-%d') as created, DATE_FORMAT(products.modified, '%Y-%m-%d') as modified, products.enabled, brands.name as brand, brands.url as brand_url, categories.single_name as category, categories.url as category_url, categories.image as category_image FROM products LEFT JOIN categories ON categories.category_id = products.category_id LEFT JOIN brands ON products.brand_id = brands.brand_id LEFT JOIN products_categories ON products.product_id = products_categories.product_id WHERE categories.enabled=1 and products.enabled=1 $id_filter $category_filter $brand_filter $properties_filter $hit_filter GROUP BY products.product_id ORDER BY products.price asc $limit";7. Пруф ит! P.S. Можно сделать сортировку прямо с сайта по цене, имени, популярности, количеству на складе....P.P.S. ICQ: 455-265-0, mail: knownwhat@gmail.com Quote Link to post Share on other sites
igor-tv Posted November 1, 2010 Report Share Posted November 1, 2010 Спасибо! Хотелось бы больше комментариев для начинающих в php, как использовать другие сортировки, как выводить инструменты сортировки.. Quote Link to post Share on other sites
creatonio Posted December 10, 2010 Report Share Posted December 10, 2010 А как можно вывести возможность сортировки по цене на страницу каталога? Quote Link to post Share on other sites
knownwhat Posted December 15, 2010 Author Report Share Posted December 15, 2010 собственно не так сложно. просто добавляем форму и обработчик по внутренний класс Storefront.class.php Quote Link to post Share on other sites
alex007983 Posted January 13, 2011 Report Share Posted January 13, 2011 Скажите, а скрипт выполнять в таблице и в каком именно месте?Может глупый вопрос, я не особо шарю но хочу сам разобраться. Наш программер совсем скопытился. Quote Link to post Share on other sites
alex007983 Posted January 15, 2011 Report Share Posted January 15, 2011 Товарищи, что никто не знает? Помогите разобраться. Quote Link to post Share on other sites
alex007983 Posted January 17, 2011 Report Share Posted January 17, 2011 Ну помогите начинающим разобраться, не будьте равнодушными. Quote Link to post Share on other sites
alex007983 Posted January 22, 2011 Report Share Posted January 22, 2011 Да, тишина. Quote Link to post Share on other sites
alex007983 Posted January 26, 2011 Report Share Posted January 26, 2011 откликнитесь кто знает, как разобраться. Quote Link to post Share on other sites
mart Posted February 3, 2011 Report Share Posted February 3, 2011 Пиши мне! Quote Link to post Share on other sites
pringlesday Posted January 28, 2016 Report Share Posted January 28, 2016 Не охота поднимать такую стародавнюю тему, однако у меня нет выбора. Сделал всё, как описано в первом посте, но в поле products.price ничего не попадает. Как заставить симплу внести все записи из product_variants.price в products.price? Тот участок кода, добавленный в Import.admin.php остается не задействованным. И да, заметил что некоторые файлы админки тоже нужно править, ибо в админке так и отображается информация из старого поля price. Quote Link to post Share on other sites
Noxter Posted January 28, 2016 Report Share Posted January 28, 2016 Не понимаю людей которые тормозят в развитии и стоят на месте.Тема пятилетней давности, уже давно есть новая версия симплы которая в разы лучше первой.Зачем использовать давно забытый дедовский мопед когда можно летать на крылатом мотоцикле? Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.