Перейти к содержанию

VladimirFil

Новичок
  • Публикаций

    7
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о VladimirFil

  • Звание
    Новичок

Посетители профиля

360 просмотров профиля
  1. Добрый день! у меня на сайте есть такой слайдер: https://screenshots.firefox.com/16CH3Q44H8FgDKwi/engine-soft Сначала у меня эти 3 блока были в разных модулях (карусель, баннер, рекомендуемые). По совету коллеги-программиста объединил их в один модуль баннеры, дописав необходимые поля и настройки в админке. Чтобы все эти три блока переключались синхронно. Но с помощью стороннего слайдера (не swiper). А можно ли сделать, чтобы внутри этого слайдера у товаров был бы другой эффект переключения, нежели у всего баннера? К примеру сделать общий слайдер сделать swiper'ом и товару внутри сделать тоже swiper'ом, но с другим эффектом переключения
  2. Читал я мануал по API Яндекс.Карт, но не понял, можно ли в конструктор автоматически посылать адрес производителя, беря его из базы данных (у меня, например, добавлены адрес, телефон, город у производителя)? "Доступ к странице запрещён".
  3. Спасибо всем. Разобрался!
  4. А где формируются переменные $contact в <a href="<?php echo $contact; ?>"><?php echo $text_contact; ?></a> (ссылка "Связаться с нами") и $powered в <div id="powered"><?php echo $powered; ?></div> ?
  5. В нижнем меню раздел Информация выводится следующим образом (файл /catalog/view/theme/default/template/common/footer.tpl): <?php if ($informations) { ?> <div class="column"> <h3><?php echo $text_information; ?></h3> <ul> <?php foreach ($informations as $information) { ?> <li><a href="<?php echo $information['href']; ?>"><?php echo $information['title']; ?></a></li> <?php } ?> </ul> </div> <?php } ?> Где заполняется массив $informations? Как добавить/удалить в этот раздел пункты меню? Откуда берутся ссылки для пунктов меню в других разделах?
  6. У меня есть файл /catalog/model/catalog/product.php. В нём есть функция getProducts: public function getProducts($data = array()) { if ($this->customer->isLogged()) { $customer_group_id = $this->customer->getCustomerGroupId(); } else { $customer_group_id = $this->config->get('config_customer_group_id'); } $sql = "SELECT DISTINCT SQL_CALC_FOUND_ROWS p.product_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special"; if (!empty($data['filter_category_id'])) { if (!empty($data['filter_sub_category'])) { $sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)"; } else { $sql .= " FROM " . DB_PREFIX . "product_to_category p2c"; } if (!empty($data['filter_filter'])) { $sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)"; } else { $sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)"; } } else { $sql .= " FROM " . DB_PREFIX . "product p"; } $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 <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"; if (!empty($data['filter_category_id'])) { if (!empty($data['filter_sub_category'])) { $sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'"; } else { $sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'"; } if (!empty($data['filter_filter'])) { $implode = array(); $filters = explode(',', $data['filter_filter']); foreach ($filters as $filter_id) { $implode[] = (int)$filter_id; } $sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")"; } } if (!empty($data['filter_name']) || !empty($data['filter_tag'])) { $sql .= " AND ("; if (!empty($data['filter_name'])) { $implode = array(); $words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name']))); foreach ($words as $word) { $implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'"; } if ($implode) { $sql .= " " . implode(" AND ", $implode) . ""; } if (!empty($data['filter_description'])) { $sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'"; } } if (!empty($data['filter_name']) && !empty($data['filter_tag'])) { $sql .= " OR "; } if (!empty($data['filter_tag'])) { $sql .= "pd.tag LIKE '%" . $this->db->escape($data['filter_tag']) . "%'"; } if (!empty($data['filter_name'])) { $sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } if (!empty($data['filter_name'])) { $sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } if (!empty($data['filter_name'])) { $sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } if (!empty($data['filter_name'])) { $sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } if (!empty($data['filter_name'])) { $sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } if (!empty($data['filter_name'])) { $sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } if (!empty($data['filter_name'])) { $sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; } $sql .= ")"; } if (!empty($data['filter_manufacturer_id'])) { $sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'"; } $sql .= " GROUP BY p.product_id"; $sort_data = array( 'pd.name', 'p.model', 'p.quantity', 'p.price', 'rating', 'p.sort_order', 'p.date_added' ); if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') { $sql .= " ORDER BY LCASE(" . $data['sort'] . ")"; } elseif ($data['sort'] == 'p.price') { $sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)"; } else { $sql .= " ORDER BY " . $data['sort']; } } else { $sql .= " ORDER BY p.sort_order"; } if (isset($data['order']) && ($data['order'] == 'DESC')) { $sql .= " DESC, LCASE(pd.name) DESC"; } else { $sql .= " ASC, LCASE(pd.name) ASC"; } if (isset($data['start']) || isset($data['limit'])) { if ($data['start'] < 0) { $data['start'] = 0; } if ($data['limit'] < 1) { $data['limit'] = 20; } $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit']; } $product_data = array(); // $product_data['sql']=$sql; // $this->log->($sql); $query = $this->db->query($sql); $num_query = $this->db->query("SELECT FOUND_ROWS() AS `found_rows`"); $this->FOUND_ROWS = intval($num_query->row['found_rows']); foreach ($query->rows as $result) { $product_data[$result['product_id']] = $this->getProduct($result['product_id']); } // $product_data['sql']=$sql; $product_data['man'] = '1'; //в эту переменную я хочу записать название производителя return $product_data; } Мне нужно вывести в списке товаров (например, "Популярные") вывести ещё и название производителя. Как это сделать? Я попробовал записать значение в переменную массива $product_data['man']. Затем этот массив передаётся в /catalog/controller/module/latest.php $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'price' => $price, 'special' => $special, 'rating' => $rating, 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']), 'man' => $result['man'], //мои данные ); И потом это выводится в /catalog/view/theme/gworldcacheback/template/module/latest.tpl: <?php echo $product['man']; ?> Но при этом у меня выводится ошибка: Notice: Undefined index: man in /catalog/controller/module/latest.php on line 59
  7. Помогите, пожалуйста, новичку в opencart. Я добавил 3 поля в админке в разделе "Производители": Город (city), Адрес (address), Телефон (phone) (см. скриншот). Добавил соответствующие поля в базу данных в таблицу oc_manufacturer. Но у меня во-первых, не сохраняются в базу введённые значения, во-вторых в полях отображаются ошибки "<b>Notice</b>: Undefined variable: city in <b>/public/amastermin/view/template/catalog/manufacturer_form.tpl</b> on line <b>101</b>" (во всех 3 полях, только переменные разные). Как это исправить? Где я чего неправильно прописал? Выкладываю файлы, с которыми я работаю, в архиве admin.rar: https://yadi.sk/d/N7f3Q9tgcvnkH
×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.