Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Matiush

Newbie
  
  • Posts

    7
  • Joined

  • Last visited

Recent Profile Visitors

881 profile views

Matiush's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Reacting Well Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. Собственно вопрос. Есть идея в категории, для каждого товара, сделать 2-3 рекомендуемых. Т.е. один товар, а к нему, в массиве, 2 или три ссылки на рекомендованные товары для этой позиции. Пример. Товар удочка, рекомендуемые к ней - леска и поплавок. Я решил это все делать через рекомендуемые. В коде category.php добавил такую строчку $results = $this->model_catalog_product->getProductRelated($result['product_id']); т.е. через модель получаю массив рекомендованных товаров для своего товара. Объявляю массив $data['productsRel'] = array(); Далее циклом его заполняю foreach ($results as $result) { $data['productsRel'][] = array( 'product_id' => $result['product_id'] ..... } Проблема какая - этот массив заполняется всеми рекомендованными товарами из категории. Где мне объявить этот массив так, чтобы он заполнялся для каждого товара отдельно ? Получается массив products [] - это все продукты в категории, а productsRel[] массив в массиве
  2. Opencart 2.3 Поделюсь, может кому поможет. Идея такая - выводить определенные товары на главной. Модуль рекомендованные не подходит. Почему ? 1000 товаров, к каждому товару свои рекомендуемые. Нужно просто - есть товар - вывести его на главной
  3. Opencart 2.3 Поделюсь, может кому поможет. Идея такая - выводить определенные товары на главной. Модуль рекомендованные не подходит. Почему ? 1000 товаров, к каждому товару свои рекомендуемые. Нужно просто - есть товар - вывести его на главной Решил использовать последние добавленные. Находим файлы catalog\model\catalog\product ищем функцию public function getProducts Копируем ее и называем public function getProductsMain в ней есть строка $sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' and p.mpn <>''"; - добавляем выделенное Находим массив $sort_data = array( 'pd.name', 'p.model', 'p.quantity', 'p.price', 'rating', 'p.sort_order', //'p.date_added' - комментируем 'p.mpn' - ставим. Это будет сортировка товаров ); ---------------------------- идем catalog\controller\extention\modile\latest.php ищем $results = $this->model_catalog_product->getProducts($filter_data); меняем $results = $this->model_catalog_product->getProductsMain($filter_data); Далее в админке идем в товар, выбираем данные. Там есть инпут MPN В нем пишем 0 и сохраняем. Выбираем другой товар , в mpn ставим 2 и т.д. Это нужно, чтобы отработала сортировка и товары показались в нужной последовательности
  4. В ПО - OCFilter, не очень удобно реализован вывод параметров товара. Т.е. вы вы в файле \catalog\model\catalog\ocfilter.php автор используете такую конструкцию $values_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "ocfilter_option_value oov LEFT JOIN " . DB_PREFIX . "ocfilter_option_value_description oovd ON (oov.value_id = oovd.value_id) WHERE oov.option_id IN (" . implode(',', $options_id) . ") AND oovd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY (oovd.name = '-') DESC, (oovd.name = '0') DESC, (oovd.name + 0 > 0) DESC, (oovd.name + 0), LENGTH(oovd.name), oovd.name"); если сделать так $values_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "ocfilter_option_value oov LEFT JOIN " . DB_PREFIX . "ocfilter_option_value_description oovd ON (oov.value_id = oovd.value_id) WHERE oov.option_id IN (" . implode(',', $options_id) . ") AND oovd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY oov.sort_order"); тогда опции будут выводится в порядке их назначения товару
  5. Сортировка ссылками по цене и имени. Выводится по одному слову, когда нажимаешь, сортирует и меняется ссылка на другую сортировку. Пользуйтесь <!-- Сортировка товаров--> <ul onchange="location = this.value;"> <span class="control-label" for="input-sort"><?php echo $text_sort; ?></span> <?php $k=0;foreach ($sorts as $sorts) { ?> <?php if (in_array($sorts['value'], array('p.price-ASC','p.price-DESC'))) { // sort links price ?> <?php if ($sorts['value'] != $sort . '-' . $order and $k==1) { if ($sort=='p.price'){echo "|";} ?> <span class="active-sort1"><a class="active-sort1" href="<?php echo $sorts['href']; ?>"> <?php if($order=='ASC' and $sort =='p.price' ) {echo '<span class="sr">▲</span>';} if($order=='DESC' and $sort =='p.price' ) {echo '<span class="sr">▼</span>';} echo $sorts['text']; ?></a></span> <?php $k=0; } ?> <?php } // sort links ?> <?php if (in_array($sorts['value'], array('pd.name-ASC','pd.name-DESC'))) { // sort links name ?> <?php if ($sorts['value'] != $sort . '-' . $order and $k==0) { ?> <span class="active-sort1"><a class="active-sort1" href="<?php echo $sorts['href']; ?>"> <?php if($order=='ASC' and $sort =='pd.name' ) {echo '<span class="sr">▲</span>';} if($order=='DESC' and $sort =='pd.name' ) {echo '<span class="sr">▼</span>';} echo $sorts['text']; ?></a></span> <?php $k=1; if ($sort=='pd.name'){echo "|";}} ?> <?php } // sort links ?> <?php } ?> </ul>
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.