Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Gann

Користувачі
  
  • Публікації

    687
  • З нами

  • Відвідування

Усі публікації користувача Gann

  1. Для всех товаров: Необходима доставка - нет (вкладка Данные) Учитывать в заказе - удалить доставку. С платежами нужно думать
  2. Ага, "Характеристики Хотите купить SONY PS-4? Купите у нас! Цена такая то" (пример из ниоткуда в никуда) = скорый фильтр от ПС Ах, да, не все же оптимизируют заголовки товара. п.с. про настройки нет информации.
  3. спасибо Ещё вопрос: от куда берутся данные для Title? Понятно, что название вкладки, а вторая часть - от куда? Из H1, title или....
  4. На реальном сайте - пробовали? Запрос лучше идёт в топ? Замысел работает? (можно посмотреть?)
  5. Возникла ещё идея: записать в БД из catalog/model/catalog/product Так можно сделать? Прямо в функции: public function getProductSimilar($product_id,$limit) { $product_data = array(); // находим категорию, в которой нах. товар $category = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" .$product_id. "'"); $category_id = $category->row['category_id']; // делаем выборку товаров из этой же категории, которые следуют после данного товара $query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p2c.category_id = '" . (int)$category_id . "' AND p.status = '1' AND p.date_available <= NOW() AND p.product_id > '" .(int)$product_id. "' ORDER BY p.product_id ASC LIMIT " .(int)$limit); foreach ($query->rows as $result) { $product_data[$result['product_id']] = $this->getProduct($result['product_id']); } if(count($query->rows) < $limit){ // если в категории после товара меньше лимита... $plimit = $limit - count($query->rows); // вычисляем разницу и делаем выборку товаров с НАЧАЛА списка, кол-во = разнице $sql = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p2c.category_id = '" . (int)$category_id . "' AND p.status = '1' AND p.date_available <= NOW() AND p.product_id <> '" .(int)$product_id. "' ORDER BY p.product_id ASC LIMIT " .(int)$limit); foreach ($sql->rows as $result) { $product_data[$result['product_id']] = $this->getProduct($result['product_id']); } } return $product_data; }
  6. В общем, нужен генератор сопутствующих товаров по принципу: товары из той же категории, закольцованные по кругу. Кажется, кэш поможет. Чтобы каждый раз не генерировались налету.
  7. Наверное это всё что новое нужно из catalog/ в admin/ перенести, да?
  8. Вот и хотелось бы - полученный в новой функции из модели результат - записать в таблицу. Чтобы каждый раз не выполнять запросы к БД. Можно так сделать? Хотелось бы записать и при добавлении новых товаров - перезаписывать данные в таблице по сопутствующим товарам.
  9. Далее, в каталоге: после $results = $this->model_catalog_product->getProductRelated($this->request->get['product_id']); я указал if(count($results)<6){// если уже выводятся сопуствующие, не более $temp = $this->model_catalog_product->getProductSimilar($this->request->get['product_id'],6); foreach($temp as $t){ if(!empty($t)){ $results[] = $t; } } } временно = обращаемся к новой функции по бд Затем сама функция в модели public function getProductSimilar($product_id,$limit) { $product_data = array(); // находим категорию, в которой нах. товар $category = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" .$product_id. "'"); $category_id = $category->row['category_id']; // делаем выборку товаров из этой же категории, которые следуют после данного товара $query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p2c.category_id = '" . (int)$category_id . "' AND p.status = '1' AND p.date_available <= NOW() AND p.product_id > '" .(int)$product_id. "' ORDER BY p.product_id ASC LIMIT " .(int)$limit); foreach ($query->rows as $result) { $product_data[$result['product_id']] = $this->getProduct($result['product_id']); } if(count($query->rows) < $limit){ // если в категории после товара меньше лимита... $plimit = $limit - count($query->rows); // вычисляем разницу и делаем выборку товаров с НАЧАЛА списка, кол-во = разнице $sql = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p2c.category_id = '" . (int)$category_id . "' AND p.status = '1' AND p.date_available <= NOW() AND p.product_id <> '" .(int)$product_id. "' ORDER BY p.product_id ASC LIMIT " .(int)$limit); foreach ($sql->rows as $result) { $product_data[$result['product_id']] = $this->getProduct($result['product_id']); } } return $product_data; }
  10. Добрый вечер) В общем, не пойму как записать в базу сопутствующие товары, полученные с помощью сторонней функции. Начну с этого: (трактую что ниже написано, правильно?) Если существует запрос добавления продукта (с админки) - то присваеваем продукт полученный с админки иначе если существует (ранее добавленный продукт), то присваиваем продукту - продукт, полученный из базы, иначе - продукт - это массив данные по сопутствующим товарам - это массив распаковываем массив... Верно? if (isset($this->request->post['product_related'])) { $products = $this->request->post['product_related']; } elseif (isset($this->request->get['product_id'])) { $products = $this->model_catalog_product->getProductRelated($this->request->get['product_id']); } else { $products = array(); } $data['product_relateds'] = array(); foreach ($products as $product_id) { $related_info = $this->model_catalog_product->getProduct($product_id); if ($related_info) { $data['product_relateds'][] = array( 'product_id' => $related_info['product_id'], 'name' => $related_info['name'] ); } }
  11. Добрый вечер! Когда дойдут? Я прикупил бы под версию 2.1
  12. Добрый вечер! Модуль какой-нибудь за последнее время ставили? С базой работали? Вспоминайте - исправляйте.
  13. Открываете category.tpl Находите <div class="col-md-3 text-right"> Вместо этого указываете <div class="col-md-5 text-right"> или сколько-то там. В сумме должно быть 12. Т.е. <div class="col-md-2">, <div class="col-md-2 text-right">........ = по col-md = 12
  14. в настройках (Система) Вкладка "Опции" Заказ при нехватке
  15. Правильно делать с категорией. "Создавайте на сайте понятную и простую систему навигации" - не дословно от рекомендаций ПС Яндекс, да и остальных. Как можно создать понятную и простую систему без категорий - я не знаю.
  16. На данный момент сисадмин изменил лишь open-files-limit = 100000
  17. Я понимаю, но хотелось бы посмотреть как у людей настроено всё. Текущая конфигурация (не я настраивал): # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1 # # * Fine Tuning # key_buffer = 32M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 8 table_open_cache = 1000 # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched myisam-recover = BACKUP #max_connections = 100 #table_cache = 64 #thread_concurrency = 10 # # * Query Cache Configuration # query_cache_limit = 8M query_cache_size = 16M # # * Logging and Replication # # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. # As of 5.1 you can enable the log at runtime! #general_log_file = /var/log/mysql/mysql.log #general_log = 1 # # Error log - should be very few entries. # log_error = /var/log/mysql/error.log # # Here you can see queries with especially long duration #slow_query_log_file = /var/log/mysql/mysql-slow.log #slow_query_log = 1 #long_query_time = 2 #log_queries_not_using_indexes # # The following can be used as easy to replay backup logs or for replication. # note: if you are setting up a replication slave, see README.Debian about # other settings you may need to change. #server-id = 1 #log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 max_binlog_size = 100M #binlog_do_db = include_database_name #binlog_ignore_db = include_database_name # # * InnoDB # # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. # Read the manual for more InnoDB related options. There are many! # innodb_buffer_pool_size=320M #innodb_additional_mem_pool_size=20M innodb_flush_log_at_trx_commit=0 innodb_file_per_table # * Security Features # # Read the manual, too, if you want chroot! # chroot = /var/lib/mysql/ # # For generating SSL certificates I recommend the OpenSSL GUI "tinyca". # # ssl-ca=/etc/mysql/cacert.pem # ssl-cert=/etc/mysql/server-cert.pem # ssl-key=/etc/mysql/server-key.pem [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] #no-auto-rehash # faster start of mysql but no tab completition [isamchk] key_buffer = 16M Ведь явно можно больше выжать с 2мя ГБ ОЗУ, так ведь? На том же серваке - есть другие сайты на ВП. Они слабенькие. Но тем не менее.
  18. Здравствуйте! Поделитесь, пожалуйста, хорошей боевой конфигурацией MySQL сервера. Интересуют конфигурации при оперативной памяти около 2-х ГБ, проект довольно сильно нагружен. Хотелось бы оптимизировать БД.
  19. Да, возможно. Неограниченное количество операторов (спортсменов) + под каждого свой "виджет"
  20. если не секрет - в чем доработать хотите? Может другие варианты тогда стоит поискать. Смена валюты в зависимости от страны там по-умолчанию есть.

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.