Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Matiush

Новичок
  
  • Posts

    7
  • Joined

  • Last visited

Recent Profile Visitors

743 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.