Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Ritter

Пользователи
  
  • Публикаций

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

  • Посещение

Все публикации пользователя Ritter

  1. Не могу сообразить. Сделал сортировку в виде ссылок (чтобы по одной ссылке выводилась сортировка по ASC и DESC): По имени По цене В controler поменял на: $this->data['sorts'][] = array( 'text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href-asc' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url), 'href-desc' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href-asc' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url), 'href-desc' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url) ); Сортировка выводится: <?php if ($sorts['value'] == $sort . '-' . $order) { ?> <a href="<?php echo $sorts['href-desc']; ?>" class="active" ><?php echo $sorts['text']; ?></a> <?php } else { ?> <a href="<?php echo $sorts['href-asc']; ?>" ><?php echo $sorts['text']; ?></a> <?php } ?> Тут хочу сделать так, чтоб при входе в категорию ссылки не были активны, а при нажатии меняли стиль. Если ASC, то один стиль, если DESC, то другой стиль. Вообщем чтобы class стиля менялся. Помогите разобраться с этим.
  2. До модуля, робот проиндексировал url, все новое ведущие на туже страницу будет считать дублем. Следует в роботсе запретить эти дубли. Например: Disallow: *product/category
  3. Вы наверное запятую не поставили после $result['product_id']). Пробуйте еще раз. Сам ставил на эту версию, точно также как описал.Сообщение поправил, чтобы не было путаницы с запятыми.
  4. Вывод для категорий: В controller: После: if ($this->config->get('config_review_status')) { $rating = (int)$result['rating']; } else { $rating = false; }Добавить: if ($result['quantity'] <= 0) { $this->data['stock'] = $result['stock_status']; } else { $this->data['stock'] = $this->language->get('text_instock'); }Чуть ниже, после : 'price' => $price,Добавить: 'stock' => $this->data['stock'],$this->data['stock'] - выводит "как обычно".$result['quantity'] - выводит кол-во оставшихся товаров. $result['stock_status'] - выводит статус который вы поставили товару (не имеет значение сколько в наличии). На странице шаблона: <?php echo $product['stock']; ?>
  5. png 24 не поддерживает эти свойства? Сомневаюсь..
  6. На сайте. Ну например, я сортировку, в адмике (в самих атрибутах), не ставлю. А кодгда создаю товар указываю атрибуты и хочу чтобы на сайте отображались также, как я их заполнил по очередности в товаре.
  7. Вообщем сделал сам... Если будет кому интересно, пожалуйста: В controller удаляем: $this->data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false ); Получаем такой вид: » Категория » Категория » Подкатегория » Категория » Подкатегория » Продукт В шаблоне заменяем "крошки" на: <div class="breadcrumb"> <?php $bread = 0; ?> <?php foreach ($breadcrumbs as $breadcrumb) { ?> <?php if ( $bread % 4 ) { $defis = ' » '; } else { $defis = ' '; } ?> <?php $bread++ ?> <?php echo $defis ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } ?> </div> Теперь вид будет : Категория Категория » Подкатегория Категория » Подкатегория » Продукт
  8. Это конечно хорошо, спасибо. Но изображение сжимается до одного и тоже размера, когда накладывается на фото. Пробывал разные.
  9. Мне нужен вид: Категория >> Подкатегория >> Продукта не: Категория Подкатегория Продукт
  10. Как правильно удалить главную страницу у хлебных крошек? Пока удалось удалить только слово "Главная", а символ ≫ удалить не могу.
  11. Из этого: <?php foreach ($manufacturers as $manufacturer) { ?> <div class="name"><a href="<?php echo $manufacturer['href']; ?>"><?php echo $manufacturer['name']; ?></a></div> <?php } ?>Получается: 1 2 3 4 5А нужно:не актуально
  12. Такой же варинт есть в 2 раза дешевле. Да и не то это...
  13. Скопировать мало, чтобы работало, нужно еще дописать в контроллер.
  14. В 1.5 этот модуль частично работает. Полностью работает админка (можно задать фильтры и указать их в параметрах товара). Но вывод во фронт не получается. Что с этим делать, я не знаю: [=== catalog/model/catalog/product.php ===] находим функцию = = = public function getTotalProductsByCategoryId($category_id = 0) { = = = меняем ее полностью на = = = public function getTotalProductsByCategoryId($category_id = 0, $filter = 0) { $sql = "SELECT COUNT(DISTINCT p2c.product_id) AS total FROM " . DB_PREFIX . "product_to_category p2c LEFT JOIN " . DB_PREFIX . "product p ON (p.product_id = p2c.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "product_to_value p2v ON (p.product_id = p2v.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND p2c.category_id = '" . (int)$category_id . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"; // Start filter if ($filter) { foreach (explode(';', $filter) as $option) { $values = explode('=', $option); $data = array(); foreach (explode(',', $values[1]) as $value_id) { $query = $this->db->query("SELECT product_id FROM " . DB_PREFIX . "product_to_value WHERE value_id='" . (int)$value_id . "'"); if ($query->rows) { foreach($query->rows as $row) { $data[] = $row['product_id']; } } else { unset($data); } } if (!empty($data)) { $sql .= " AND p.product_id IN (" . implode(",", $data) . ")"; } else { return 0; // запрос на строке 88 ничего не вернул, а общее количество в категории нам не интересно } } } // End filter $query = $this->db->query($sql); return $query->row['total']; } = = = ################## так же функцию = = = public function getProductsByCategoryId($category_id, $sort = 'p.sort_order', $order = 'ASC', $start = 0, $limit = 20) { = = = полностью меняем на = = = public function getProductsByCategoryId($category_id, $filter = 0, $sort = 'p.sort_order', $order = 'ASC', $start = 0, $limit = 20) { $sql = "SELECT *, p.product_id AS product_id, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, (SELECT AVG(r.rating) FROM " . DB_PREFIX . "review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating FROM " . DB_PREFIX . "product p 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) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) LEFT JOIN " . DB_PREFIX . "product_to_value p2v ON (p.product_id = p2v.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2c.category_id = '" . (int)$category_id . "'"; // Start filter if ($filter) { foreach (explode(';', $filter) as $option) { $values = explode('=', $option); $data = array(); foreach (explode(',', $values[1]) as $value_id) { $query = $this->db->query("SELECT product_id FROM " . DB_PREFIX . "product_to_value WHERE value_id='" . (int)$value_id . "'"); if ($query->rows) { foreach($query->rows as $row) { $data[] = $row['product_id']; } } else { unset($data); } } if (!empty($data)) { $sql .= " AND p.product_id IN (" . implode(",", $data) . ")"; } } } $sql .= " GROUP BY p.product_id"; // End filter $sort_data = array( 'pd.name', 'p.sort_order', 'special', 'rating', 'p.price', 'p.model' ); if (in_array($sort, $sort_data)) { if ($sort == 'pd.name' || $sort == 'p.model') { $sql .= " ORDER BY LCASE(" . $sort . ")"; } else { $sql .= " ORDER BY " . $sort; } } else { $sql .= " ORDER BY p.sort_order"; } if ($order == 'DESC') { $sql .= " DESC"; } else { $sql .= " ASC"; } if ($start < 0) { $start = 0; } $sql .= " LIMIT " . (int)$start . "," . (int)$limit; $query = $this->db->query($sql); return $query->rows; } = = =
  15. Под 1.5 есть исправления?
  16. Для версии 1.49 есть полностью готовое решение, производители в категории выбираются рядом с сортировкой.

×
×
  • Создать...

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

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